Commit 634bb114 authored by Austin Eng's avatar Austin Eng Committed by Commit Bot

Revert "WebGPU: Add GPUProgrammablePassEncoder interface"

This reverts commit fc5ad208.

Reason for revert: Use of the GPUProgrammablePassEncoder and GPURenderEncoderBase interfaces aren't installing the function templates properly.

Original change's description:
> WebGPU: Add GPUProgrammablePassEncoder interface
>
> This is a spec match-up with[1]
>
> [1] https://github.com/gpuweb/gpuweb/pull/459
>
> Bug: 877147
> Change-Id: I080324cbb083160ae84aa109623e311f24a875cb
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1845132
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: Jinho Bang <jinho.bang@samsung.com>
> Cr-Commit-Position: refs/heads/master@{#704061}

TBR=jinho.bang@samsung.com,haraken@chromium.org,cwallez@chromium.org

Bug: 1013649
Change-Id: I0d401cece6c5dcfb94d17c3cc32965512d4ec2b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1856618Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarAustin Eng <enga@chromium.org>
Reviewed-by: default avatarKai Ninomiya <kainino@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Cr-Commit-Position: refs/heads/master@{#705186}
parent 5514bb10
......@@ -1014,8 +1014,6 @@ modules_dependency_idl_files =
"webdatabase/window_web_database.idl",
"webgl/webgl2_rendering_context_base.idl",
"webgl/webgl_rendering_context_base.idl",
"webgpu/gpu_programmable_pass_encoder.idl",
"webgpu/gpu_render_encoder_base.idl",
"webgpu/navigator_gpu.idl",
"webmidi/navigator_web_midi.idl",
"webshare/navigator_share.idl",
......
......@@ -7,7 +7,16 @@
[
RuntimeEnabled=WebGPU
] interface GPUComputePassEncoder {
// GPUProgrammablePassEncoder methods
void setBindGroup(unsigned long index,
GPUBindGroup bindGroup,
optional sequence<GPUBufferSize> dynamicOffsets = []);
void pushDebugGroup(DOMString groupLabel);
void popDebugGroup();
void insertDebugMarker(DOMString markerLabel);
void setPipeline(GPUComputePipeline pipeline);
void dispatch(unsigned long x,
optional unsigned long y = 1,
optional unsigned long z = 1);
......@@ -16,4 +25,3 @@
void endPass();
};
GPUComputePassEncoder includes GPUProgrammablePassEncoder;
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://gpuweb.github.io/gpuweb/
[
RuntimeEnabled=WebGPU
] interface mixin GPUProgrammablePassEncoder {
void setBindGroup(unsigned long index, GPUBindGroup bindGroup,
optional sequence<GPUBufferSize> dynamicOffsets = []);
void pushDebugGroup(DOMString groupLabel);
void popDebugGroup();
void insertDebugMarker(DOMString markerLabel);
};
......@@ -7,6 +7,32 @@
[
RuntimeEnabled=WebGPU
] interface GPURenderBundleEncoder {
// GPUProgrammablePassEncoder methods
void setBindGroup(unsigned long index,
GPUBindGroup bindGroup,
optional sequence<GPUBufferSize> dynamicOffsets = []);
void pushDebugGroup(DOMString groupLabel);
void popDebugGroup();
void insertDebugMarker(DOMString markerLabel);
// GPURenderEncoderBase methods
void setPipeline(GPURenderPipeline pipeline);
void setIndexBuffer(GPUBuffer buffer, optional GPUBufferSize offset = 0);
void setVertexBuffer(unsigned long slot,
GPUBuffer buffer,
optional GPUBufferSize offset = 0);
void draw(unsigned long vertexCount, unsigned long instanceCount,
unsigned long firstVertex,
unsigned long firstInstance);
void drawIndexed(unsigned long indexCount, unsigned long instanceCount,
unsigned long firstIndex,
long baseVertex,
unsigned long firstInstance);
void drawIndirect(GPUBuffer indirectBuffer,
GPUBufferSize indirectOffset);
void drawIndexedIndirect(GPUBuffer indirectBuffer,
GPUBufferSize indirectOffset);
// GPURenderBundleEncoder methods
GPURenderBundle finish(optional GPURenderBundleDescriptor descriptor = {});
};
GPURenderBundleEncoder includes GPURenderEncoderBase;
......@@ -7,17 +7,39 @@
[
RuntimeEnabled=WebGPU
] interface GPURenderPassEncoder {
// GPUProgrammablePassEncoder methods
void setBindGroup(unsigned long index,
GPUBindGroup bindGroup,
optional sequence<GPUBufferSize> dynamicOffsets = []);
void pushDebugGroup(DOMString groupLabel);
void popDebugGroup();
void insertDebugMarker(DOMString markerLabel);
void setPipeline(GPURenderPipeline pipeline);
[RaisesException] void setBlendColor(GPUColor color);
void setStencilReference(unsigned long reference);
void setViewport(float x, float y,
float width, float height,
float minDepth, float maxDepth);
void setScissorRect(unsigned long x, unsigned long y,
unsigned long width, unsigned long height);
[RaisesException] void setBlendColor(GPUColor color);
void setStencilReference(unsigned long reference);
void setIndexBuffer(GPUBuffer buffer, optional GPUBufferSize offset = 0);
void setVertexBuffer(unsigned long slot,
GPUBuffer buffer,
optional GPUBufferSize offset = 0);
void draw(unsigned long vertexCount, unsigned long instanceCount,
unsigned long firstVertex,
unsigned long firstInstance);
void drawIndexed(unsigned long indexCount, unsigned long instanceCount,
unsigned long firstIndex,
long baseVertex,
unsigned long firstInstance);
void drawIndirect(GPUBuffer indirectBuffer,
GPUBufferSize indirectOffset);
void drawIndexedIndirect(GPUBuffer indirectBuffer,
GPUBufferSize indirectOffset);
void executeBundles(sequence<GPURenderBundle> bundles);
void endPass();
};
GPURenderPassEncoder includes GPURenderEncoderBase;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment