summaryrefslogtreecommitdiff
path: root/ext/webgpu/src/01_webgpu.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/webgpu/src/01_webgpu.js')
-rw-r--r--ext/webgpu/src/01_webgpu.js232
1 files changed, 84 insertions, 148 deletions
diff --git a/ext/webgpu/src/01_webgpu.js b/ext/webgpu/src/01_webgpu.js
index 79d1f497c..9b8c7eb50 100644
--- a/ext/webgpu/src/01_webgpu.js
+++ b/ext/webgpu/src/01_webgpu.js
@@ -10,6 +10,7 @@
((window) => {
const core = window.Deno.core;
+ const ops = core.ops;
const webidl = window.__bootstrap.webidl;
const eventTarget = window.__bootstrap.eventTarget;
const { DOMException } = window.__bootstrap.domException;
@@ -940,8 +941,7 @@
context: "Argument 1",
});
const device = assertDevice(this, { prefix, context: "this" });
- const { rid, err } = core.opSync(
- "op_webgpu_create_buffer",
+ const { rid, err } = ops.op_webgpu_create_buffer(
device.rid,
descriptor.label,
descriptor.size,
@@ -991,7 +991,7 @@
context: "Argument 1",
});
const device = assertDevice(this, { prefix, context: "this" });
- const { rid, err } = core.opSync("op_webgpu_create_texture", {
+ const { rid, err } = ops.op_webgpu_create_texture({
deviceRid: device.rid,
...descriptor,
size: normalizeGPUExtent3D(descriptor.size),
@@ -1019,7 +1019,7 @@
context: "Argument 1",
});
const device = assertDevice(this, { prefix, context: "this" });
- const { rid, err } = core.opSync("op_webgpu_create_sampler", {
+ const { rid, err } = ops.op_webgpu_create_sampler({
deviceRid: device.rid,
...descriptor,
});
@@ -1059,8 +1059,7 @@
}
}
- const { rid, err } = core.opSync(
- "op_webgpu_create_bind_group_layout",
+ const { rid, err } = ops.op_webgpu_create_bind_group_layout(
device.rid,
descriptor.label,
descriptor.entries,
@@ -1102,8 +1101,7 @@
return rid;
},
);
- const { rid, err } = core.opSync(
- "op_webgpu_create_pipeline_layout",
+ const { rid, err } = ops.op_webgpu_create_pipeline_layout(
device.rid,
descriptor.label,
bindGroupLayouts,
@@ -1197,8 +1195,7 @@
}
});
- const { rid, err } = core.opSync(
- "op_webgpu_create_bind_group",
+ const { rid, err } = ops.op_webgpu_create_bind_group(
device.rid,
descriptor.label,
layout,
@@ -1227,8 +1224,7 @@
context: "Argument 1",
});
const device = assertDevice(this, { prefix, context: "this" });
- const { rid, err } = core.opSync(
- "op_webgpu_create_shader_module",
+ const { rid, err } = ops.op_webgpu_create_shader_module(
device.rid,
descriptor.label,
descriptor.code,
@@ -1278,8 +1274,7 @@
selfContext: "this",
});
- const { rid, err } = core.opSync(
- "op_webgpu_create_compute_pipeline",
+ const { rid, err } = ops.op_webgpu_create_compute_pipeline(
device.rid,
descriptor.label,
layout,
@@ -1350,7 +1345,7 @@
};
}
- const { rid, err } = core.opSync("op_webgpu_create_render_pipeline", {
+ const { rid, err } = ops.op_webgpu_create_render_pipeline({
deviceRid: device.rid,
label: descriptor.label,
layout,
@@ -1397,8 +1392,7 @@
context: "Argument 1",
});
const device = assertDevice(this, { prefix, context: "this" });
- const { rid, err } = core.opSync(
- "op_webgpu_create_command_encoder",
+ const { rid, err } = ops.op_webgpu_create_command_encoder(
device.rid,
descriptor.label,
);
@@ -1430,8 +1424,7 @@
},
);
const device = assertDevice(this, { prefix, context: "this" });
- const { rid, err } = core.opSync(
- "op_webgpu_create_render_bundle_encoder",
+ const { rid, err } = ops.op_webgpu_create_render_bundle_encoder(
{
deviceRid: device.rid,
...descriptor,
@@ -1464,7 +1457,7 @@
},
);
const device = assertDevice(this, { prefix, context: "this" });
- const { rid, err } = core.opSync("op_webgpu_create_query_set", {
+ const { rid, err } = ops.op_webgpu_create_query_set({
deviceRid: device.rid,
...descriptor,
});
@@ -1595,8 +1588,7 @@
return rid;
},
);
- const { err } = core.opSync(
- "op_webgpu_queue_submit",
+ const { err } = ops.op_webgpu_queue_submit(
device.rid,
commandBufferRids,
);
@@ -1654,8 +1646,7 @@
selfContext: "this",
resourceContext: "Argument 1",
});
- const { err } = core.opSync(
- "op_webgpu_write_buffer",
+ const { err } = ops.op_webgpu_write_buffer(
device.rid,
bufferRid,
bufferOffset,
@@ -1702,8 +1693,7 @@
selfContext: "this",
resourceContext: "texture",
});
- const { err } = core.opSync(
- "op_webgpu_write_texture",
+ const { err } = ops.op_webgpu_write_texture(
device.rid,
{
texture: textureRid,
@@ -1960,8 +1950,7 @@
}
const buffer = new ArrayBuffer(rangeSize);
- const { rid } = core.opSync(
- "op_webgpu_buffer_get_mapped_range",
+ const { rid } = ops.op_webgpu_buffer_get_mapped_range(
bufferRid,
offset,
size,
@@ -2015,8 +2004,7 @@
throw new DOMException(`${prefix}: invalid state.`, "OperationError");
}
for (const [buffer, mappedRid] of mappedRanges) {
- const { err } = core.opSync(
- "op_webgpu_buffer_unmap",
+ const { err } = ops.op_webgpu_buffer_unmap(
bufferRid,
mappedRid,
...new SafeArrayIterator(write ? [new Uint8Array(buffer)] : []),
@@ -2153,7 +2141,7 @@
});
const device = assertDevice(this, { prefix, context: "this" });
const textureRid = assertResource(this, { prefix, context: "this" });
- const { rid, err } = core.opSync("op_webgpu_create_texture_view", {
+ const { rid, err } = ops.op_webgpu_create_texture_view({
textureRid,
...descriptor,
});
@@ -2536,11 +2524,11 @@
prefix,
context: "this",
});
- const { rid, label, err } = core.opSync(
- "op_webgpu_compute_pipeline_get_bind_group_layout",
- computePipelineRid,
- index,
- );
+ const { rid, label, err } = ops
+ .op_webgpu_compute_pipeline_get_bind_group_layout(
+ computePipelineRid,
+ index,
+ );
device.pushError(err);
const bindGroupLayout = createGPUBindGroupLayout(
@@ -2613,11 +2601,11 @@
prefix,
context: "this",
});
- const { rid, label, err } = core.opSync(
- "op_webgpu_render_pipeline_get_bind_group_layout",
- renderPipelineRid,
- index,
- );
+ const { rid, label, err } = ops
+ .op_webgpu_render_pipeline_get_bind_group_layout(
+ renderPipelineRid,
+ index,
+ );
device.pushError(err);
const bindGroupLayout = createGPUBindGroupLayout(
@@ -2807,8 +2795,7 @@
},
);
- const { rid } = core.opSync(
- "op_webgpu_command_encoder_begin_render_pass",
+ const { rid } = ops.op_webgpu_command_encoder_begin_render_pass(
commandEncoderRid,
descriptor.label,
colorAttachments,
@@ -2842,8 +2829,7 @@
context: "this",
});
- const { rid } = core.opSync(
- "op_webgpu_command_encoder_begin_compute_pass",
+ const { rid } = ops.op_webgpu_command_encoder_begin_compute_pass(
commandEncoderRid,
descriptor.label,
);
@@ -2919,8 +2905,7 @@
selfContext: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_copy_buffer_to_buffer",
+ const { err } = ops.op_webgpu_command_encoder_copy_buffer_to_buffer(
commandEncoderRid,
sourceRid,
sourceOffset,
@@ -2977,8 +2962,7 @@
selfContext: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_copy_buffer_to_texture",
+ const { err } = ops.op_webgpu_command_encoder_copy_buffer_to_texture(
commandEncoderRid,
{
...source,
@@ -3042,8 +3026,7 @@
resourceContext: "buffer in Argument 2",
selfContext: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_copy_texture_to_buffer",
+ const { err } = ops.op_webgpu_command_encoder_copy_texture_to_buffer(
commandEncoderRid,
{
texture: sourceTextureRid,
@@ -3107,8 +3090,7 @@
resourceContext: "texture in Argument 2",
selfContext: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_copy_texture_to_texture",
+ const { err } = ops.op_webgpu_command_encoder_copy_texture_to_texture(
commandEncoderRid,
{
texture: sourceTextureRid,
@@ -3161,8 +3143,7 @@
prefix,
context: "Argument 1",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_clear_buffer",
+ const { err } = ops.op_webgpu_command_encoder_clear_buffer(
commandEncoderRid,
bufferRid,
offset,
@@ -3188,8 +3169,7 @@
prefix,
context: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_push_debug_group",
+ const { err } = ops.op_webgpu_command_encoder_push_debug_group(
commandEncoderRid,
groupLabel,
);
@@ -3204,8 +3184,7 @@
prefix,
context: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_pop_debug_group",
+ const { err } = ops.op_webgpu_command_encoder_pop_debug_group(
commandEncoderRid,
);
device.pushError(err);
@@ -3228,8 +3207,7 @@
prefix,
context: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_insert_debug_marker",
+ const { err } = ops.op_webgpu_command_encoder_insert_debug_marker(
commandEncoderRid,
markerLabel,
);
@@ -3267,8 +3245,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_write_timestamp",
+ const { err } = ops.op_webgpu_command_encoder_write_timestamp(
commandEncoderRid,
querySetRid,
queryIndex,
@@ -3337,8 +3314,7 @@
resourceContext: "Argument 3",
selfContext: "this",
});
- const { err } = core.opSync(
- "op_webgpu_command_encoder_resolve_query_set",
+ const { err } = ops.op_webgpu_command_encoder_resolve_query_set(
commandEncoderRid,
querySetRid,
firstQuery,
@@ -3365,8 +3341,7 @@
prefix,
context: "this",
});
- const { rid, err } = core.opSync(
- "op_webgpu_command_encoder_finish",
+ const { rid, err } = ops.op_webgpu_command_encoder_finish(
commandEncoderRid,
descriptor.label,
);
@@ -3465,7 +3440,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync("op_webgpu_render_pass_set_viewport", {
+ ops.op_webgpu_render_pass_set_viewport({
renderPassRid,
x,
y,
@@ -3512,8 +3487,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_set_scissor_rect",
+ ops.op_webgpu_render_pass_set_scissor_rect(
renderPassRid,
x,
y,
@@ -3543,8 +3517,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_set_blend_constant",
+ ops.op_webgpu_render_pass_set_blend_constant(
renderPassRid,
normalizeGPUColor(color),
);
@@ -3571,8 +3544,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_set_stencil_reference",
+ ops.op_webgpu_render_pass_set_stencil_reference(
renderPassRid,
reference,
);
@@ -3621,8 +3593,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_pass_begin_pipeline_statistics_query",
+ ops.op_webgpu_render_pass_begin_pipeline_statistics_query(
renderPassRid,
querySetRid,
queryIndex,
@@ -3642,8 +3613,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_end_pipeline_statistics_query",
+ ops.op_webgpu_render_pass_end_pipeline_statistics_query(
renderPassRid,
);
}
@@ -3683,8 +3653,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_pass_write_timestamp",
+ ops.op_webgpu_render_pass_write_timestamp(
renderPassRid,
querySetRid,
queryIndex,
@@ -3722,8 +3691,7 @@
});
return rid;
});
- core.opSync(
- "op_webgpu_render_pass_execute_bundles",
+ ops.op_webgpu_render_pass_execute_bundles(
renderPassRid,
bundleRids,
);
@@ -3741,8 +3709,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- const { err } = core.opSync(
- "op_webgpu_render_pass_end",
+ const { err } = ops.op_webgpu_render_pass_end(
commandEncoderRid,
renderPassRid,
);
@@ -3789,8 +3756,7 @@
dynamicOffsetsDataStart = 0;
dynamicOffsetsDataLength = dynamicOffsetsData.length;
}
- core.opSync(
- "op_webgpu_render_pass_set_bind_group",
+ ops.op_webgpu_render_pass_set_bind_group(
renderPassRid,
index,
bindGroupRid,
@@ -3821,8 +3787,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_push_debug_group",
+ ops.op_webgpu_render_pass_push_debug_group(
renderPassRid,
groupLabel,
);
@@ -3841,7 +3806,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync("op_webgpu_render_pass_pop_debug_group", renderPassRid);
+ ops.op_webgpu_render_pass_pop_debug_group(renderPassRid);
}
/**
@@ -3865,8 +3830,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_insert_debug_marker",
+ ops.op_webgpu_render_pass_insert_debug_marker(
renderPassRid,
markerLabel,
);
@@ -3902,8 +3866,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_pass_set_pipeline",
+ ops.op_webgpu_render_pass_set_pipeline(
renderPassRid,
pipelineRid,
);
@@ -3956,8 +3919,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_pass_set_index_buffer",
+ ops.op_webgpu_render_pass_set_index_buffer(
renderPassRid,
bufferRid,
indexFormat,
@@ -4013,8 +3975,7 @@
resourceContext: "Argument 2",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_pass_set_vertex_buffer",
+ ops.op_webgpu_render_pass_set_vertex_buffer(
renderPassRid,
slot,
bufferRid,
@@ -4058,8 +4019,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_draw",
+ ops.op_webgpu_render_pass_draw(
renderPassRid,
vertexCount,
instanceCount,
@@ -4115,8 +4075,7 @@
context: "encoder referenced by this",
});
const renderPassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_render_pass_draw_indexed",
+ ops.op_webgpu_render_pass_draw_indexed(
renderPassRid,
indexCount,
instanceCount,
@@ -4161,8 +4120,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_pass_draw_indirect",
+ ops.op_webgpu_render_pass_draw_indirect(
renderPassRid,
indirectBufferRid,
indirectOffset,
@@ -4204,8 +4162,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_pass_draw_indexed_indirect",
+ ops.op_webgpu_render_pass_draw_indexed_indirect(
renderPassRid,
indirectBufferRid,
indirectOffset,
@@ -4288,8 +4245,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_compute_pass_set_pipeline",
+ ops.op_webgpu_compute_pass_set_pipeline(
computePassRid,
pipelineRid,
);
@@ -4330,8 +4286,7 @@
context: "encoder referenced by this",
});
const computePassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_compute_pass_dispatch_workgroups",
+ ops.op_webgpu_compute_pass_dispatch_workgroups(
computePassRid,
workgroupCountX,
workgroupCountY,
@@ -4374,8 +4329,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_compute_pass_dispatch_workgroups_indirect",
+ ops.op_webgpu_compute_pass_dispatch_workgroups_indirect(
computePassRid,
indirectBufferRid,
indirectOffset,
@@ -4417,8 +4371,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_compute_pass_begin_pipeline_statistics_query",
+ ops.op_webgpu_compute_pass_begin_pipeline_statistics_query(
computePassRid,
querySetRid,
queryIndex,
@@ -4438,8 +4391,7 @@
context: "encoder referenced by this",
});
const computePassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_compute_pass_end_pipeline_statistics_query",
+ ops.op_webgpu_compute_pass_end_pipeline_statistics_query(
computePassRid,
);
}
@@ -4479,8 +4431,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_compute_pass_write_timestamp",
+ ops.op_webgpu_compute_pass_write_timestamp(
computePassRid,
querySetRid,
queryIndex,
@@ -4499,8 +4450,7 @@
context: "encoder referenced by this",
});
const computePassRid = assertResource(this, { prefix, context: "this" });
- const { err } = core.opSync(
- "op_webgpu_compute_pass_end",
+ const { err } = ops.op_webgpu_compute_pass_end(
commandEncoderRid,
computePassRid,
);
@@ -4547,8 +4497,7 @@
dynamicOffsetsDataStart = 0;
dynamicOffsetsDataLength = dynamicOffsetsData.length;
}
- core.opSync(
- "op_webgpu_compute_pass_set_bind_group",
+ ops.op_webgpu_compute_pass_set_bind_group(
computePassRid,
index,
bindGroupRid,
@@ -4579,8 +4528,7 @@
context: "encoder referenced by this",
});
const computePassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_compute_pass_push_debug_group",
+ ops.op_webgpu_compute_pass_push_debug_group(
computePassRid,
groupLabel,
);
@@ -4599,7 +4547,7 @@
context: "encoder referenced by this",
});
const computePassRid = assertResource(this, { prefix, context: "this" });
- core.opSync("op_webgpu_compute_pass_pop_debug_group", computePassRid);
+ ops.op_webgpu_compute_pass_pop_debug_group(computePassRid);
}
/**
@@ -4623,8 +4571,7 @@
context: "encoder referenced by this",
});
const computePassRid = assertResource(this, { prefix, context: "this" });
- core.opSync(
- "op_webgpu_compute_pass_insert_debug_marker",
+ ops.op_webgpu_compute_pass_insert_debug_marker(
computePassRid,
markerLabel,
);
@@ -4734,8 +4681,7 @@
prefix,
context: "this",
});
- const { rid, err } = core.opSync(
- "op_webgpu_render_bundle_encoder_finish",
+ const { rid, err } = ops.op_webgpu_render_bundle_encoder_finish(
renderBundleEncoderRid,
descriptor.label,
);
@@ -4786,8 +4732,7 @@
dynamicOffsetsDataStart = 0;
dynamicOffsetsDataLength = dynamicOffsetsData.length;
}
- core.opSync(
- "op_webgpu_render_bundle_encoder_set_bind_group",
+ ops.op_webgpu_render_bundle_encoder_set_bind_group(
renderBundleEncoderRid,
index,
bindGroupRid,
@@ -4814,8 +4759,7 @@
prefix,
context: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_push_debug_group",
+ ops.op_webgpu_render_bundle_encoder_push_debug_group(
renderBundleEncoderRid,
groupLabel,
);
@@ -4830,8 +4774,7 @@
prefix,
context: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_pop_debug_group",
+ ops.op_webgpu_render_bundle_encoder_pop_debug_group(
renderBundleEncoderRid,
);
}
@@ -4853,8 +4796,7 @@
prefix,
context: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_insert_debug_marker",
+ ops.op_webgpu_render_bundle_encoder_insert_debug_marker(
renderBundleEncoderRid,
markerLabel,
);
@@ -4886,8 +4828,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_set_pipeline",
+ ops.op_webgpu_render_bundle_encoder_set_pipeline(
renderBundleEncoderRid,
pipelineRid,
);
@@ -4934,8 +4875,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_set_index_buffer",
+ ops.op_webgpu_render_bundle_encoder_set_index_buffer(
renderBundleEncoderRid,
bufferRid,
indexFormat,
@@ -4985,8 +4925,7 @@
resourceContext: "Argument 2",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_set_vertex_buffer",
+ ops.op_webgpu_render_bundle_encoder_set_vertex_buffer(
renderBundleEncoderRid,
slot,
bufferRid,
@@ -5026,8 +4965,7 @@
prefix,
context: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_draw",
+ ops.op_webgpu_render_bundle_encoder_draw(
renderBundleEncoderRid,
vertexCount,
instanceCount,
@@ -5079,8 +5017,7 @@
prefix,
context: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_draw_indexed",
+ ops.op_webgpu_render_bundle_encoder_draw_indexed(
renderBundleEncoderRid,
indexCount,
instanceCount,
@@ -5121,8 +5058,7 @@
resourceContext: "Argument 1",
selfContext: "this",
});
- core.opSync(
- "op_webgpu_render_bundle_encoder_draw_indirect",
+ ops.op_webgpu_render_bundle_encoder_draw_indirect(
renderBundleEncoderRid,
indirectBufferRid,
indirectOffset,