Procházet zdrojové kódy

GL : Fix Storage and RW buffers binding in vertex shaders.

TothBenoit před 6 měsíci
rodič
revize
e477fcda71
1 změnil soubory, kde provedl 2 přidání a 2 odebrání
  1. 2 2
      h3d/impl/GlDriver.hx

+ 2 - 2
h3d/impl/GlDriver.hx

@@ -433,7 +433,7 @@ class GlDriver extends Driver {
 					#elseif (hl_ver < version("1.15.0"))
 					#elseif (hl_ver < version("1.15.0"))
 					throw "Storage buffer support requires -D hl-ver=1.15.0";
 					throw "Storage buffer support requires -D hl-ver=1.15.0";
 					#else
 					#else
-					gl.getProgramResourceIndex(p.p,GL.SHADER_STORAGE_BLOCK, "storage_uniform_buffer"+i);
+					gl.getProgramResourceIndex(p.p,GL.SHADER_STORAGE_BLOCK,(shader.kind==Vertex?"storage_vertex_":"storage_")+"uniform_buffer"+i);
 					#end
 					#end
 				case RW:
 				case RW:
 					#if js
 					#if js
@@ -441,7 +441,7 @@ class GlDriver extends Driver {
 					#elseif (hl_ver < version("1.15.0"))
 					#elseif (hl_ver < version("1.15.0"))
 					throw "RW buffer support requires -D hl-ver=1.15.0";
 					throw "RW buffer support requires -D hl-ver=1.15.0";
 					#else
 					#else
-					gl.getProgramResourceIndex(p.p,GL.SHADER_STORAGE_BLOCK, "rw_uniform_buffer"+i);
+					gl.getProgramResourceIndex(p.p,GL.SHADER_STORAGE_BLOCK,(shader.kind==Vertex?"rw_vertex_":"rw_")+"uniform_buffer"+i);
 					#end
 					#end
 				case Uniform:
 				case Uniform:
 					gl.getUniformBlockIndex(p.p,(shader.kind==Vertex?"vertex_":"")+"uniform_buffer"+i);
 					gl.getUniformBlockIndex(p.p,(shader.kind==Vertex?"vertex_":"")+"uniform_buffer"+i);