diff options
author | Luca Casonato <hello@lcas.dev> | 2021-08-24 20:32:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-24 20:32:25 +0200 |
commit | 4853be20f2d649842ebc97124d8479c7aad7cc9b (patch) | |
tree | 1be4dcc96c72166b3e1e4f19ee70eb791e1304aa /ext/webgpu/01_webgpu.js | |
parent | e10d30c8eaf41ad68b48f21c8d563d192b82afe8 (diff) |
refactor(webgpu): use op interface idiomatically (#11835)
Diffstat (limited to 'ext/webgpu/01_webgpu.js')
-rw-r--r-- | ext/webgpu/01_webgpu.js | 122 |
1 files changed, 45 insertions, 77 deletions
diff --git a/ext/webgpu/01_webgpu.js b/ext/webgpu/01_webgpu.js index f7ad6caa7..3954a93b7 100644 --- a/ext/webgpu/01_webgpu.js +++ b/ext/webgpu/01_webgpu.js @@ -2646,9 +2646,9 @@ depthStencilAttachment.depthLoadOp = descriptor.depthStencilAttachment.depthLoadValue; } else { - depthStencilAttachment.depthLoadOp = "clear"; - depthStencilAttachment.depthLoadValue = - descriptor.depthStencilAttachment.depthLoadValue; + depthStencilAttachment.depthLoadOp = { + clear: descriptor.depthStencilAttachment.depthLoadValue, + }; } if ( @@ -2656,11 +2656,10 @@ ) { depthStencilAttachment.stencilLoadOp = descriptor.depthStencilAttachment.stencilLoadValue; - depthStencilAttachment.stencilLoadValue = undefined; } else { - depthStencilAttachment.stencilLoadOp = "clear"; - depthStencilAttachment.stencilLoadValue = - descriptor.depthStencilAttachment.stencilLoadValue; + depthStencilAttachment.stencilLoadOp = { + clear: descriptor.depthStencilAttachment.stencilLoadValue, + }; } } const colorAttachments = ArrayPrototypeMap( @@ -2717,10 +2716,9 @@ if (typeof colorAttachment.loadValue === "string") { attachment.loadOp = colorAttachment.loadValue; } else { - attachment.loadOp = "clear"; - attachment.loadValue = normalizeGPUColor( - colorAttachment.loadValue, - ); + attachment.loadOp = { + clear: normalizeGPUColor(colorAttachment.loadValue), + }; } return attachment; @@ -3674,29 +3672,19 @@ resourceContext: "Argument 2", selfContext: "this", }); - if (dynamicOffsetsData instanceof Uint32Array) { - core.opSync( - "op_webgpu_render_pass_set_bind_group", - { - renderPassRid, - index, - bindGroup: bindGroupRid, - dynamicOffsetsDataStart, - dynamicOffsetsDataLength, - }, - dynamicOffsetsData, - ); - } else { - dynamicOffsetsData ??= []; - core.opSync("op_webgpu_render_pass_set_bind_group", { - renderPassRid, - index, - bindGroup: bindGroupRid, - dynamicOffsetsData, - dynamicOffsetsDataStart: 0, - dynamicOffsetsDataLength: dynamicOffsetsData.length, - }); + if (!(dynamicOffsetsData instanceof Uint32Array)) { + dynamicOffsetsData = new Uint32Array(dynamicOffsetsData ?? []); + dynamicOffsetsDataStart = 0; + dynamicOffsetsDataLength = dynamicOffsetsData.length; } + core.opSync("op_webgpu_render_pass_set_bind_group", { + renderPassRid, + index, + bindGroup: bindGroupRid, + dynamicOffsetsData, + dynamicOffsetsDataStart, + dynamicOffsetsDataLength, + }); } /** @@ -4410,29 +4398,19 @@ resourceContext: "Argument 2", selfContext: "this", }); - if (dynamicOffsetsData instanceof Uint32Array) { - core.opSync( - "op_webgpu_compute_pass_set_bind_group", - { - computePassRid, - index, - bindGroup: bindGroupRid, - dynamicOffsetsDataStart, - dynamicOffsetsDataLength, - }, - dynamicOffsetsData, - ); - } else { - dynamicOffsetsData ??= []; - core.opSync("op_webgpu_compute_pass_set_bind_group", { - computePassRid, - index, - bindGroup: bindGroupRid, - dynamicOffsetsData, - dynamicOffsetsDataStart: 0, - dynamicOffsetsDataLength: dynamicOffsetsData.length, - }); + if (!(dynamicOffsetsData instanceof Uint32Array)) { + dynamicOffsetsData = new Uint32Array(dynamicOffsetsData ?? []); + dynamicOffsetsDataStart = 0; + dynamicOffsetsDataLength = dynamicOffsetsData.length; } + core.opSync("op_webgpu_compute_pass_set_bind_group", { + computePassRid, + index, + bindGroup: bindGroupRid, + dynamicOffsetsData, + dynamicOffsetsDataStart, + dynamicOffsetsDataLength, + }); } /** @@ -4659,29 +4637,19 @@ resourceContext: "Argument 2", selfContext: "this", }); - if (dynamicOffsetsData instanceof Uint32Array) { - core.opSync( - "op_webgpu_render_bundle_encoder_set_bind_group", - { - renderBundleEncoderRid, - index, - bindGroup: bindGroupRid, - dynamicOffsetsDataStart, - dynamicOffsetsDataLength, - }, - dynamicOffsetsData, - ); - } else { - dynamicOffsetsData ??= []; - core.opSync("op_webgpu_render_bundle_encoder_set_bind_group", { - renderBundleEncoderRid, - index, - bindGroup: bindGroupRid, - dynamicOffsetsData, - dynamicOffsetsDataStart: 0, - dynamicOffsetsDataLength: dynamicOffsetsData.length, - }); + if (!(dynamicOffsetsData instanceof Uint32Array)) { + dynamicOffsetsData = new Uint32Array(dynamicOffsetsData ?? []); + dynamicOffsetsDataStart = 0; + dynamicOffsetsDataLength = dynamicOffsetsData.length; } + core.opSync("op_webgpu_render_bundle_encoder_set_bind_group", { + renderBundleEncoderRid, + index, + bindGroup: bindGroupRid, + dynamicOffsetsData, + dynamicOffsetsDataStart, + dynamicOffsetsDataLength, + }); } /** |