Quellcode durchsuchen

Dump the shader source code when an error occurs at compilation time

Popov72 vor 4 Jahren
Ursprung
Commit
886a58e873
1 geänderte Dateien mit 7 neuen und 4 gelöschten Zeilen
  1. 7 4
      src/Engines/webgpuEngine.ts

+ 7 - 4
src/Engines/webgpuEngine.ts

@@ -685,6 +685,7 @@ export class WebGPUEngine extends Engine {
     }
 
     public bindBuffers(vertexBuffers: { [key: string]: Nullable<VertexBuffer> }, indexBuffer: Nullable<DataBuffer>, effect: Effect): void {
+        // TODO WEBGPU why not caching also effect?
         this._currentIndexBuffer = indexBuffer;
         this._currentVertexBuffers = vertexBuffers;
     }
@@ -852,6 +853,11 @@ export class WebGPUEngine extends Engine {
             webGpuContext.sources = shader.sources;
         }
         else {
+            webGpuContext.sources = {
+                fragment: fragmentSourceCode,
+                vertex: vertexSourceCode
+            };
+
             if (createAsRaw) {
                 webGpuContext.stages = this._compileRawPipelineStageDescriptor(vertexSourceCode, fragmentSourceCode);
             }
@@ -868,10 +874,7 @@ export class WebGPUEngine extends Engine {
                 orderedUBOsAndSamplers: webGpuContext.orderedUBOsAndSamplers,
                 leftOverUniforms: webGpuContext.leftOverUniforms,
                 leftOverUniformsByName: webGpuContext.leftOverUniformsByName,
-                sources: {
-                    fragment: fragmentSourceCode,
-                    vertex: vertexSourceCode
-                }
+                sources: webGpuContext.sources
             };
         }
     }