Browse Source

MeshBatch : - Use unbound buffer

TothBenoit 1 year ago
parent
commit
4a7eb3aeb9
3 changed files with 4 additions and 4 deletions
  1. 2 2
      h3d/scene/MeshBatch.hx
  2. 1 1
      hxsl/BatchShader.hx
  3. 1 1
      hxsl/Cache.hx

+ 2 - 2
h3d/scene/MeshBatch.hx

@@ -51,8 +51,8 @@ class ComputeIndirect extends hxsl.Shader {
 			var position : Vec3;
 			var position : Vec3;
 		}
 		}
 
 
-		@param var commandBuffer : RWBuffer<Int, 65535>;
-		@param var instanceData : RWPartialBuffer<{ modelView : Mat4}, 65535>;
+		@param var commandBuffer : RWBuffer<Int>;
+		@param var instanceData : RWPartialBuffer<{ modelView : Mat4 }>;
 		@param var radius : Float;
 		@param var radius : Float;
 
 
 		@const(16) var MATERIAL_COUNT : Int = 1;
 		@const(16) var MATERIAL_COUNT : Int = 1;

+ 1 - 1
hxsl/BatchShader.hx

@@ -7,7 +7,7 @@ class BatchShader extends hxsl.Shader {
 		@const var Batch_UseStorage : Bool;
 		@const var Batch_UseStorage : Bool;
 		@const(4096) var Batch_Count : Int;
 		@const(4096) var Batch_Count : Int;
 		@param var Batch_Buffer : Buffer<Vec4,Batch_Count>;
 		@param var Batch_Buffer : Buffer<Vec4,Batch_Count>;
-		@param var Batch_StorageBuffer : RWBuffer<Vec4, 65535>;
+		@param var Batch_StorageBuffer : RWBuffer<Vec4>;
 	};
 	};
 
 
 	public var params : RuntimeShader.AllocParam;
 	public var params : RuntimeShader.AllocParam;

+ 1 - 1
hxsl/Cache.hx

@@ -625,7 +625,7 @@ class Cache {
 		var useStorage = declVar("Batch_UseStorage",TBool,Param);
 		var useStorage = declVar("Batch_UseStorage",TBool,Param);
 		var vcount = declVar("Batch_Count",TInt,Param);
 		var vcount = declVar("Batch_Count",TInt,Param);
 		var vuniformBuffer = declVar("Batch_Buffer",TBuffer(TVec(4,VFloat),SVar(vcount),Uniform),Param);
 		var vuniformBuffer = declVar("Batch_Buffer",TBuffer(TVec(4,VFloat),SVar(vcount),Uniform),Param);
-		var vstorageBuffer = declVar("Batch_StorageBuffer",TBuffer(TVec(4,VFloat),SConst(128 * 1024 * 1024 >> 2),RW),Param);
+		var vstorageBuffer = declVar("Batch_StorageBuffer",TBuffer(TVec(4,VFloat),SConst(0),RW),Param);
 		var voffset = declVar("Batch_Offset", TInt, Local);
 		var voffset = declVar("Batch_Offset", TInt, Local);
 		var euniformBuffer = { e : TVar(vuniformBuffer), p : pos, t : vuniformBuffer.type };
 		var euniformBuffer = { e : TVar(vuniformBuffer), p : pos, t : vuniformBuffer.type };
 		var estorageBuffer = { e : TVar(vstorageBuffer), p : pos, t : vstorageBuffer.type };
 		var estorageBuffer = { e : TVar(vstorageBuffer), p : pos, t : vstorageBuffer.type };