Browse Source

Update Engine Code to latest WebGPU typings

sebavan 5 years ago
parent
commit
f4af15672a
2 changed files with 14 additions and 8 deletions
  1. 13 8
      src/Engines/webgpuEngine.ts
  2. 1 0
      src/LibDeclarations/webgpu.d.ts

+ 13 - 8
src/Engines/webgpuEngine.ts

@@ -570,7 +570,7 @@ export class WebGPUEngine extends Engine {
             throw new Error("Cannot create zero-sized buffer"); // 0 size buffer would kill the tab in chrome
         }
         const uploadBuffer = this._device.createBuffer({
-            usage: WebGPUConstants.GPUBufferUsage_TRANSFER_SRC | WebGPUConstants.GPUBufferUsage_MAP_WRITE,
+            usage: WebGPUConstants.GPUBufferUsage_COPY_SRC | WebGPUConstants.GPUBufferUsage_MAP_WRITE,
             size: byteLength - srcByteOffset
         });
 
@@ -614,7 +614,7 @@ export class WebGPUEngine extends Engine {
             view = data;
         }
 
-        const dataBuffer = this._createBuffer(view, WebGPUConstants.GPUBufferUsage_VERTEX | WebGPUConstants.GPUBufferUsage_TRANSFER_DST);
+        const dataBuffer = this._createBuffer(view, WebGPUConstants.GPUBufferUsage_VERTEX | WebGPUConstants.GPUBufferUsage_COPY_DST);
         return dataBuffer;
     }
 
@@ -676,7 +676,7 @@ export class WebGPUEngine extends Engine {
             }
         }
 
-        const dataBuffer = this._createBuffer(view, WebGPUConstants.GPUBufferUsage_INDEX | WebGPUConstants.GPUBufferUsage_TRANSFER_DST);
+        const dataBuffer = this._createBuffer(view, WebGPUConstants.GPUBufferUsage_INDEX | WebGPUConstants.GPUBufferUsage_COPY_DST);
         dataBuffer.is32Bits = is32Bits;
         return dataBuffer;
     }
@@ -751,7 +751,7 @@ export class WebGPUEngine extends Engine {
             view = elements;
         }
 
-        const dataBuffer = this._createBuffer(view, WebGPUConstants.GPUBufferUsage_UNIFORM | WebGPUConstants.GPUBufferUsage_TRANSFER_DST);
+        const dataBuffer = this._createBuffer(view, WebGPUConstants.GPUBufferUsage_UNIFORM | WebGPUConstants.GPUBufferUsage_COPY_DST);
         return dataBuffer;
     }
 
@@ -1021,7 +1021,7 @@ export class WebGPUEngine extends Engine {
 
         let dataBuffer: DataBuffer;
         if (bytesPerRow == width * 4) {
-            dataBuffer = this._createBuffer(pixels, WebGPUConstants.GPUBufferUsage_TRANSFER_SRC | WebGPUConstants.GPUBufferUsage_TRANSFER_DST);
+            dataBuffer = this._createBuffer(pixels, WebGPUConstants.GPUBufferUsage_COPY_SRC | WebGPUConstants.GPUBufferUsage_COPY_DST);
             const bufferView: GPUBufferCopyView = {
                 buffer: dataBuffer.underlyingResource,
                 bytesPerRow: bytesPerRow,
@@ -1043,7 +1043,7 @@ export class WebGPUEngine extends Engine {
                     pixelsIndex += 4;
                 }
             }
-            dataBuffer = this._createBuffer(alignedPixels, WebGPUConstants.GPUBufferUsage_TRANSFER_SRC | WebGPUConstants.GPUBufferUsage_TRANSFER_DST);
+            dataBuffer = this._createBuffer(alignedPixels, WebGPUConstants.GPUBufferUsage_COPY_SRC | WebGPUConstants.GPUBufferUsage_COPY_DST);
             const bufferView: GPUBufferCopyView = {
                 buffer: dataBuffer.underlyingResource,
                 bytesPerRow: bytesPerRow,
@@ -2286,10 +2286,15 @@ export class WebGPUEngine extends Engine {
      * Force a specific size of the canvas
      * @param width defines the new canvas' width
      * @param height defines the new canvas' height
+     * @returns true if the size was changed
      */
-    public setSize(width: number, height: number): void {
-        super.setSize(width, height);
+    public setSize(width: number, height: number): boolean {
+        if (!super.setSize(width, height)) {
+            return false;
+        }
+
         this._initializeMainAttachments();
+        return true;
     }
 
     //------------------------------------------------------------------------------

+ 1 - 0
src/LibDeclarations/webgpu.d.ts

@@ -250,6 +250,7 @@ interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase {
 interface GPUBindGroupLayoutEntry {
   binding: number;
   visibility: GPUShaderStageFlags;
+  type: GPUBindingType;
   hasDynamicOffset?: boolean;
   minBufferBindingSize?: number;
   viewDimension?: GPUTextureViewDimension;