Roll third_party/gpuweb/ 67edc187f..0aadaca4c (519 commits)
- Adds supports for the ETC2 and ASTC extensions.
- Adds support for all texture formats supported by the spec.
- Removes pipeline statistic queries.
- Removes support for depthClamping since it has been reworked in a
depthClipControl extension that Dawn doesn't implement yet.
- Removes GPUCommandBuffer.getExecutionTime.
- Adds support for GPUCommandBuffer.clearBuffer.
- Removes writeTimestamp inside passes and adds TODO to add support for
timestampWrites.
https://github.com/gpuweb/gpuweb/compare/67edc187f530...0aadaca4c53c
$ git log 67edc187f..0aadaca4c --date=short --no-merges --format='%ad %ae %s'
2022-01-07 dneto Clarify fract (#2485)
2022-01-07 dneto Clarify fract (#2485)
2022-01-07 dneto Clarify fract (#2485)
2022-01-06 dneto Behaviors: Ban obviously infinite loops (#2430)
2022-01-06 dneto Fix declaration-and-scope section for out-of-order decls (#2479)
2022-01-06 dneto Behaviors: Ban obviously infinite loops (#2430)
2022-01-06 dneto Fix declaration-and-scope section for out-of-order decls (#2479)
2022-01-06 dneto Behaviors: Ban obviously infinite loops (#2430)
2022-01-06 dneto Fix declaration-and-scope section for out-of-order decls (#2479)
2022-01-06 dneto Move Limits section to under "WGSL Program" (#2480)
2022-01-06 dneto Move Limits section to under "WGSL Program" (#2480)
2022-01-06 dneto Move Limits section to under "WGSL Program" (#2480)
2022-01-05 dneto [editorial] Rename "built-in variable" -> "built-in value" (#2476)
2022-01-05 dneto [editorial] Rename "built-in variable" -> "built-in value" (#2476)
2022-01-05 dneto [editorial] Rename "built-in variable" -> "built-in value" (#2476)
2022-01-05 dneto Only define image format names usable for storage textures (#2475)
2022-01-05 dneto Only define image format names usable for storage textures (#2475)
2022-01-05 dneto Only define image format names usable for storage textures (#2475)
2022-01-04 dneto Remove 'read','read_write','write' as keywords, image formats as keywords (#2474)
2022-01-04 dneto Remove 'read','read_write','write' as keywords, image formats as keywords (#2474)
2022-01-04 dneto Remove 'read','read_write','write' as keywords, image formats as keywords (#2474)
2022-01-04 jrprice [editorial] wgsl: left shifts are logical (#2472)
2022-01-04 jrprice [editorial] wgsl: left shifts are logical (#2472)
2022-01-04 jrprice [editorial] wgsl: left shifts are logical (#2472)
2022-01-04 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7371fbf6d3d6d263566b39f7e4d915824c0233a8 🚀
2021-12-30 kvarkus Texture format caps for MSAA and resolve (#2463)
2021-12-30 kvarkus Texture format caps for MSAA and resolve (#2463)
2021-12-30 kvarkus Texture format caps for MSAA and resolve (#2463)
2021-12-30 kainino Fully describe validation of render attachments (#2458)
2021-12-30 kainino Fully describe validation of render attachments (#2458)
2021-12-30 kainino Fully describe validation of render attachments (#2458)
2021-12-29 kainino Rework encoder state and mixins (#2452)
2021-12-29 kainino Rework encoder state and mixins (#2452)
2021-12-29 kainino Rework encoder state and mixins (#2452)
2021-12-29 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@68fe77316d5ee165f07f44daef3a7be049001277 🚀
2021-12-29 mehmetoguzderin Fix examples classes, globals, and previews (#2412)
2021-12-29 mehmetoguzderin Fix examples classes, globals, and previews (#2412)
2021-12-29 mehmetoguzderin Fix examples classes, globals, and previews (#2412)
2021-12-28 kainino Clarify that attachments may not alias (#2454)
2021-12-28 kainino Clarify that attachments may not alias (#2454)
2021-12-28 kainino Clarify that attachments may not alias (#2454)
2021-12-28 shaobo.yan Add source image orientation to copyExternalImageToTexture (#2376)
2021-12-28 shaobo.yan Add source image orientation to copyExternalImageToTexture (#2376)
2021-12-28 shaobo.yan Add source image orientation to copyExternalImageToTexture (#2376)
2021-12-28 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@e7224b994909c8eb47a3bcd459351f85c8bfb52c 🚀
2021-12-24 kainino Restore the box around algorithm divs (#2453)
2021-12-24 kainino Restore the box around algorithm divs (#2453)
2021-12-24 kainino Restore the box around algorithm divs (#2453)
2021-12-24 kainino Define GPUTextureViewDimension values (#2455)
2021-12-24 kainino Define GPUTextureViewDimension values (#2455)
(...)
2021-10-14 dneto Deploying to gh-pages from @ gpuweb/gpuweb@6f239ffda6bf4937bfaf361ff2fb10b3459a1daa 🚀
2021-10-14 lokokung Add ETC2 and ASTC texture formats and feature name documentation (#2180)
2021-10-14 lokokung Add ETC2 and ASTC texture formats and feature name documentation (#2180)
2021-10-14 lokokung Add ETC2 and ASTC texture formats and feature name documentation (#2180)
2021-10-14 kvark Deploying to gh-pages from @ gpuweb/gpuweb@ab71f65a80348f637ac30cf836a14ee207cedcc2 🚀
2021-10-13 dneto describe builtin functions as prototypes (#2178)
2021-10-13 dneto describe builtin functions as prototypes (#2178)
2021-10-13 dneto describe builtin functions as prototypes (#2178)
2021-10-13 dneto Integral pipeline IO must be specified interpolate(flat) (#2183)
2021-10-13 dneto Integral pipeline IO must be specified interpolate(flat) (#2183)
2021-10-13 dneto Integral pipeline IO must be specified interpolate(flat) (#2183)
2021-10-12 mehmetoguzderin Fix render by closing table (#2177)
2021-10-12 mehmetoguzderin Fix render by closing table (#2177)
2021-10-12 mehmetoguzderin Fix render by closing table (#2177)
2021-10-12 mehmetoguzderin Allow syntactic navigation and styling (#2143)
2021-10-12 mehmetoguzderin Allow syntactic navigation and styling (#2143)
2021-10-12 mehmetoguzderin Allow syntactic navigation and styling (#2143)
2021-10-12 dneto Deploying to gh-pages from @ gpuweb/gpuweb@59d839d76742ab6adeca54d86d086ff641fef702 🚀
2021-10-06 dneto wgsl: remove ignore, add phony-assignment (#2127)
2021-10-06 dneto wgsl: remove ignore, add phony-assignment (#2127)
2021-10-06 dneto wgsl: remove ignore, add phony-assignment (#2127)
2021-10-06 dneto wgsl: editorial cleanup: memory vs. storage (#2155)
2021-10-06 dneto wgsl: editorial cleanup: memory vs. storage (#2155)
2021-10-06 dneto wgsl: editorial cleanup: memory vs. storage (#2155)
2021-10-06 mehmetoguzderin Make hex exponent suffix optional for floats (#2164)
2021-10-06 mehmetoguzderin Make hex exponent suffix optional for floats (#2164)
2021-10-06 mehmetoguzderin Make hex exponent suffix optional for floats (#2164)
2021-10-06 dneto wgsl: Add limits section, and "spurious" failure (#1997)
2021-10-06 dneto wgsl: Add limits section, and "spurious" failure (#1997)
2021-10-06 dneto wgsl: Add limits section, and "spurious" failure (#1997)
2021-10-06 alanbaker Clarify memory locations accessed when writing a vector component (#2152)
2021-10-06 alanbaker Clarify memory locations accessed when writing a vector component (#2152)
2021-10-06 alanbaker Clarify memory locations accessed when writing a vector component (#2152)
2021-10-04 jrprice Fix inequality symbol in compute shader grid bound (#2153)
2021-10-04 jrprice Fix inequality symbol in compute shader grid bound (#2153)
2021-10-04 jrprice Fix inequality symbol in compute shader grid bound (#2153)
2021-10-04 jimb Fix some misplaced characters in the `select` description. (#2154)
2021-10-04 jimb Fix some misplaced characters in the `select` description. (#2154)
2021-10-04 jimb Fix some misplaced characters in the `select` description. (#2154)
2021-09-29 dneto wgsl: Function call statement may call non-void functions (#2148)
2021-09-29 dneto wgsl: Function call statement may call non-void functions (#2148)
2021-09-29 bclayton wgsl: Update README.md (#2150)
2021-09-29 dneto wgsl: Function call statement may call non-void functions (#2148)
2021-09-29 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7e87583853f6a0e30e4c5f14847d7a18b9d619d4 🚀
2021-09-28 kainino Remove no-op minBindingSize text (#2141)
2021-09-28 kainino Remove no-op minBindingSize text (#2141)
2021-09-28 kainino Remove no-op minBindingSize text (#2141)
2021-09-28 kainino Clarify copies into -srgb formats (#2146)
2021-09-28 kainino Clarify copies into -srgb formats (#2146)
2021-09-28 kainino Clarify copies into -srgb formats (#2146)
Created with:
roll-dep third_party/gpuweb
Fixed: dawn:1130
Bug: dawn:1123
Change-Id: I9a9539696fbd0a4d15a7e3369959ac97b262d9d3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/75902
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/DEPS b/DEPS
index 37cd645..fed43d7 100644
--- a/DEPS
+++ b/DEPS
@@ -162,7 +162,7 @@
'condition': 'dawn_node',
},
'third_party/gpuweb': {
- 'url': '{github_git}/gpuweb/gpuweb.git@67edc187f5305a72456663c34d51153601b79f3b',
+ 'url': '{github_git}/gpuweb/gpuweb.git@0aadaca4c53ca131aa19708c1d2b1bed56da1118',
'condition': 'dawn_node',
},
diff --git a/src/dawn_node/binding/Converter.cpp b/src/dawn_node/binding/Converter.cpp
index e2a168f..a0fc7e4 100644
--- a/src/dawn_node/binding/Converter.cpp
+++ b/src/dawn_node/binding/Converter.cpp
@@ -283,7 +283,8 @@
out = wgpu::TextureFormat::Stencil8;
return true;
case interop::GPUTextureFormat::kDepth16Unorm:
- break; // TODO(crbug.com/dawn/1130): Unsupported.
+ out = wgpu::TextureFormat::Depth16Unorm;
+ return true;
case interop::GPUTextureFormat::kDepth24Plus:
out = wgpu::TextureFormat::Depth24Plus;
return true;
@@ -293,6 +294,12 @@
case interop::GPUTextureFormat::kDepth32Float:
out = wgpu::TextureFormat::Depth32Float;
return true;
+ case interop::GPUTextureFormat::kDepth24UnormStencil8:
+ out = wgpu::TextureFormat::Depth24UnormStencil8;
+ return true;
+ case interop::GPUTextureFormat::kDepth32FloatStencil8:
+ out = wgpu::TextureFormat::Depth32FloatStencil8;
+ return true;
case interop::GPUTextureFormat::kBc1RgbaUnorm:
out = wgpu::TextureFormat::BC1RGBAUnorm;
return true;
@@ -335,12 +342,121 @@
case interop::GPUTextureFormat::kBc7RgbaUnormSrgb:
out = wgpu::TextureFormat::BC7RGBAUnormSrgb;
return true;
- case interop::GPUTextureFormat::kDepth24UnormStencil8:
- break; // TODO(crbug.com/dawn/1130): Unsupported.
- case interop::GPUTextureFormat::kDepth32FloatStencil8:
- break; // TODO(crbug.com/dawn/1130): Unsupported.
+ case interop::GPUTextureFormat::kEtc2Rgb8Unorm:
+ out = wgpu::TextureFormat::ETC2RGB8Unorm;
+ return true;
+ case interop::GPUTextureFormat::kEtc2Rgb8UnormSrgb:
+ out = wgpu::TextureFormat::ETC2RGB8UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kEtc2Rgb8A1Unorm:
+ out = wgpu::TextureFormat::ETC2RGB8A1Unorm;
+ return true;
+ case interop::GPUTextureFormat::kEtc2Rgb8A1UnormSrgb:
+ out = wgpu::TextureFormat::ETC2RGB8A1UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kEtc2Rgba8Unorm:
+ out = wgpu::TextureFormat::ETC2RGBA8Unorm;
+ return true;
+ case interop::GPUTextureFormat::kEtc2Rgba8UnormSrgb:
+ out = wgpu::TextureFormat::ETC2RGBA8UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kEacR11Unorm:
+ out = wgpu::TextureFormat::EACR11Unorm;
+ return true;
+ case interop::GPUTextureFormat::kEacR11Snorm:
+ out = wgpu::TextureFormat::EACR11Snorm;
+ return true;
+ case interop::GPUTextureFormat::kEacRg11Unorm:
+ out = wgpu::TextureFormat::EACRG11Unorm;
+ return true;
+ case interop::GPUTextureFormat::kEacRg11Snorm:
+ out = wgpu::TextureFormat::EACRG11Snorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc4X4Unorm:
+ out = wgpu::TextureFormat::ASTC4x4Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc4X4UnormSrgb:
+ out = wgpu::TextureFormat::ASTC4x4UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc5X4Unorm:
+ out = wgpu::TextureFormat::ASTC5x4Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc5X4UnormSrgb:
+ out = wgpu::TextureFormat::ASTC5x4UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc5X5Unorm:
+ out = wgpu::TextureFormat::ASTC5x5Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc5X5UnormSrgb:
+ out = wgpu::TextureFormat::ASTC5x5UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc6X5Unorm:
+ out = wgpu::TextureFormat::ASTC6x5Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc6X5UnormSrgb:
+ out = wgpu::TextureFormat::ASTC6x5UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc6X6Unorm:
+ out = wgpu::TextureFormat::ASTC6x6Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc6X6UnormSrgb:
+ out = wgpu::TextureFormat::ASTC6x6UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc8X5Unorm:
+ out = wgpu::TextureFormat::ASTC8x5Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc8X5UnormSrgb:
+ out = wgpu::TextureFormat::ASTC8x5UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc8X6Unorm:
+ out = wgpu::TextureFormat::ASTC8x6Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc8X6UnormSrgb:
+ out = wgpu::TextureFormat::ASTC8x6UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc8X8Unorm:
+ out = wgpu::TextureFormat::ASTC8x8Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc8X8UnormSrgb:
+ out = wgpu::TextureFormat::ASTC8x8UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X5Unorm:
+ out = wgpu::TextureFormat::ASTC10x5Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X5UnormSrgb:
+ out = wgpu::TextureFormat::ASTC10x5UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X6Unorm:
+ out = wgpu::TextureFormat::ASTC10x6Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X6UnormSrgb:
+ out = wgpu::TextureFormat::ASTC10x6UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X8Unorm:
+ out = wgpu::TextureFormat::ASTC10x8Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X8UnormSrgb:
+ out = wgpu::TextureFormat::ASTC10x8UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X10Unorm:
+ out = wgpu::TextureFormat::ASTC10x10Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc10X10UnormSrgb:
+ out = wgpu::TextureFormat::ASTC10x10UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc12X10Unorm:
+ out = wgpu::TextureFormat::ASTC12x10Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc12X10UnormSrgb:
+ out = wgpu::TextureFormat::ASTC12x12UnormSrgb;
+ return true;
+ case interop::GPUTextureFormat::kAstc12X12Unorm:
+ out = wgpu::TextureFormat::ASTC12x12Unorm;
+ return true;
+ case interop::GPUTextureFormat::kAstc12X12UnormSrgb:
+ out = wgpu::TextureFormat::ASTC12x12UnormSrgb;
+ return true;
}
- // TODO(crbug.com/dawn/1130): Add ASTC and ETC formats.
Napi::Error::New(env, "invalid value for GPUTextureFormat").ThrowAsJavaScriptException();
return false;
}
@@ -1064,9 +1180,6 @@
case interop::GPUQueryType::kOcclusion:
out = wgpu::QueryType::Occlusion;
return true;
- case interop::GPUQueryType::kPipelineStatistics:
- out = wgpu::QueryType::PipelineStatistics;
- return true;
case interop::GPUQueryType::kTimestamp:
out = wgpu::QueryType::Timestamp;
return true;
@@ -1075,31 +1188,6 @@
return false;
}
- bool Converter::Convert(wgpu::PipelineStatisticName& out,
- const interop::GPUPipelineStatisticName& in) {
- out = wgpu::PipelineStatisticName::VertexShaderInvocations;
- switch (in) {
- case interop::GPUPipelineStatisticName::kVertexShaderInvocations:
- out = wgpu::PipelineStatisticName::VertexShaderInvocations;
- return true;
- case interop::GPUPipelineStatisticName::kClipperInvocations:
- out = wgpu::PipelineStatisticName::ClipperInvocations;
- return true;
- case interop::GPUPipelineStatisticName::kClipperPrimitivesOut:
- out = wgpu::PipelineStatisticName::ClipperPrimitivesOut;
- return true;
- case interop::GPUPipelineStatisticName::kFragmentShaderInvocations:
- out = wgpu::PipelineStatisticName::FragmentShaderInvocations;
- return true;
- case interop::GPUPipelineStatisticName::kComputeShaderInvocations:
- out = wgpu::PipelineStatisticName::ComputeShaderInvocations;
- return true;
- }
- Napi::Error::New(env, "invalid value for GPUPipelineStatisticName")
- .ThrowAsJavaScriptException();
- return false;
- }
-
bool Converter::Convert(wgpu::AddressMode& out, const interop::GPUAddressMode& in) {
out = wgpu::AddressMode::Repeat;
switch (in) {
diff --git a/src/dawn_node/binding/Converter.h b/src/dawn_node/binding/Converter.h
index cacba0e..3af900a 100644
--- a/src/dawn_node/binding/Converter.h
+++ b/src/dawn_node/binding/Converter.h
@@ -241,9 +241,6 @@
[[nodiscard]] bool Convert(wgpu::QueryType& out, const interop::GPUQueryType& in);
- [[nodiscard]] bool Convert(wgpu::PipelineStatisticName& out,
- const interop::GPUPipelineStatisticName& in);
-
[[nodiscard]] bool Convert(wgpu::AddressMode& out, const interop::GPUAddressMode& in);
[[nodiscard]] bool Convert(wgpu::FilterMode& out, const interop::GPUFilterMode& in);
diff --git a/src/dawn_node/binding/GPUAdapter.cpp b/src/dawn_node/binding/GPUAdapter.cpp
index 95667ab..44c70d4 100644
--- a/src/dawn_node/binding/GPUAdapter.cpp
+++ b/src/dawn_node/binding/GPUAdapter.cpp
@@ -59,22 +59,31 @@
class Features : public interop::GPUSupportedFeatures {
public:
Features(WGPUDeviceProperties properties) {
- if (properties.depthClamping) {
- enabled_.emplace(interop::GPUFeatureName::kDepthClamping);
+ if (properties.depth24UnormStencil8) {
+ enabled_.emplace(interop::GPUFeatureName::kDepth24UnormStencil8);
}
- if (properties.pipelineStatisticsQuery) {
- enabled_.emplace(interop::GPUFeatureName::kPipelineStatisticsQuery);
+ if (properties.depth32FloatStencil8) {
+ enabled_.emplace(interop::GPUFeatureName::kDepth32FloatStencil8);
+ }
+ if (properties.timestampQuery) {
+ enabled_.emplace(interop::GPUFeatureName::kTimestampQuery);
}
if (properties.textureCompressionBC) {
enabled_.emplace(interop::GPUFeatureName::kTextureCompressionBc);
}
+ if (properties.textureCompressionETC2) {
+ enabled_.emplace(interop::GPUFeatureName::kTextureCompressionEtc2);
+ }
+ if (properties.textureCompressionASTC) {
+ enabled_.emplace(interop::GPUFeatureName::kTextureCompressionAstc);
+ }
if (properties.timestampQuery) {
enabled_.emplace(interop::GPUFeatureName::kTimestampQuery);
}
- // TODO(crbug.com/dawn/1130)
- // interop::GPUFeatureName::kDepth24UnormStencil8:
- // interop::GPUFeatureName::kDepth32FloatStencil8:
+ // TODO(dawn:1123) add support for these extensions when possible.
+ // wgpu::interop::GPUFeatureName::kIndirectFirstInstance
+ // wgpu::interop::GPUFeatureName::kDepthClipControl
}
bool has(interop::GPUFeatureName feature) {
@@ -175,21 +184,28 @@
// See src/dawn_native/Features.cpp for enum <-> string mappings.
for (auto required : descriptor.requiredFeatures) {
switch (required) {
- case interop::GPUFeatureName::kDepthClamping:
- requiredFeatures.emplace_back(wgpu::FeatureName::DepthClamping);
- continue;
- case interop::GPUFeatureName::kPipelineStatisticsQuery:
- requiredFeatures.emplace_back(wgpu::FeatureName::PipelineStatisticsQuery);
- continue;
case interop::GPUFeatureName::kTextureCompressionBc:
requiredFeatures.emplace_back(wgpu::FeatureName::TextureCompressionBC);
continue;
+ case interop::GPUFeatureName::kTextureCompressionEtc2:
+ requiredFeatures.emplace_back(wgpu::FeatureName::TextureCompressionETC2);
+ continue;
+ case interop::GPUFeatureName::kTextureCompressionAstc:
+ requiredFeatures.emplace_back(wgpu::FeatureName::TextureCompressionASTC);
+ continue;
case interop::GPUFeatureName::kTimestampQuery:
requiredFeatures.emplace_back(wgpu::FeatureName::TimestampQuery);
continue;
case interop::GPUFeatureName::kDepth24UnormStencil8:
+ requiredFeatures.emplace_back(wgpu::FeatureName::Depth24UnormStencil8);
+ continue;
case interop::GPUFeatureName::kDepth32FloatStencil8:
- continue; // TODO(crbug.com/dawn/1130)
+ requiredFeatures.emplace_back(wgpu::FeatureName::Depth32FloatStencil8);
+ continue;
+ case interop::GPUFeatureName::kDepthClipControl:
+ case interop::GPUFeatureName::kIndirectFirstInstance:
+ // TODO(dawn:1123) Add support for these extensions when possible.
+ continue;
}
UNIMPLEMENTED("required: ", required);
}
diff --git a/src/dawn_node/binding/GPUCommandBuffer.cpp b/src/dawn_node/binding/GPUCommandBuffer.cpp
index 461c6d9..9521871 100644
--- a/src/dawn_node/binding/GPUCommandBuffer.cpp
+++ b/src/dawn_node/binding/GPUCommandBuffer.cpp
@@ -25,10 +25,6 @@
GPUCommandBuffer::GPUCommandBuffer(wgpu::CommandBuffer cmd_buf) : cmd_buf_(std::move(cmd_buf)) {
}
- interop::Promise<double> GPUCommandBuffer::getExecutionTime(Napi::Env) {
- UNIMPLEMENTED();
- };
-
std::optional<std::string> GPUCommandBuffer::getLabel(Napi::Env) {
UNIMPLEMENTED();
}
diff --git a/src/dawn_node/binding/GPUCommandBuffer.h b/src/dawn_node/binding/GPUCommandBuffer.h
index 8b35c21..89a6056 100644
--- a/src/dawn_node/binding/GPUCommandBuffer.h
+++ b/src/dawn_node/binding/GPUCommandBuffer.h
@@ -34,7 +34,6 @@
}
// interop::GPUCommandBuffer interface compliance
- interop::Promise<double> getExecutionTime(Napi::Env) override;
std::optional<std::string> getLabel(Napi::Env) override;
void setLabel(Napi::Env, std::optional<std::string> value) override;
diff --git a/src/dawn_node/binding/GPUCommandEncoder.cpp b/src/dawn_node/binding/GPUCommandEncoder.cpp
index d86cebf..b475de4 100644
--- a/src/dawn_node/binding/GPUCommandEncoder.cpp
+++ b/src/dawn_node/binding/GPUCommandEncoder.cpp
@@ -38,12 +38,14 @@
Converter conv(env);
wgpu::RenderPassDescriptor desc{};
+ // TODO(dawn:1250) handle timestampWrites
if (!conv(desc.colorAttachments, desc.colorAttachmentCount, descriptor.colorAttachments) ||
!conv(desc.depthStencilAttachment, descriptor.depthStencilAttachment) ||
!conv(desc.label, descriptor.label) ||
!conv(desc.occlusionQuerySet, descriptor.occlusionQuerySet)) {
return {};
}
+
return interop::GPURenderPassEncoder::Create<GPURenderPassEncoder>(
env, enc_.BeginRenderPass(&desc));
}
@@ -52,10 +54,27 @@
Napi::Env env,
interop::GPUComputePassDescriptor descriptor) {
wgpu::ComputePassDescriptor desc{};
+ // TODO(dawn:1250) handle timestampWrites
return interop::GPUComputePassEncoder::Create<GPUComputePassEncoder>(
env, enc_.BeginComputePass(&desc));
}
+ void GPUCommandEncoder::clearBuffer(Napi::Env env,
+ interop::Interface<interop::GPUBuffer> buffer,
+ interop::GPUSize64 offset,
+ std::optional<interop::GPUSize64> size) {
+ Converter conv(env);
+
+ wgpu::Buffer b{};
+ uint64_t s = wgpu::kWholeSize;
+ if (!conv(b, buffer) || //
+ !conv(s, size)) {
+ return;
+ }
+
+ enc_.ClearBuffer(b, offset, s);
+ }
+
void GPUCommandEncoder::copyBufferToBuffer(Napi::Env env,
interop::Interface<interop::GPUBuffer> source,
interop::GPUSize64 sourceOffset,
diff --git a/src/dawn_node/binding/GPUCommandEncoder.h b/src/dawn_node/binding/GPUCommandEncoder.h
index 3402c78..ed61526 100644
--- a/src/dawn_node/binding/GPUCommandEncoder.h
+++ b/src/dawn_node/binding/GPUCommandEncoder.h
@@ -35,6 +35,10 @@
interop::Interface<interop::GPUComputePassEncoder> beginComputePass(
Napi::Env,
interop::GPUComputePassDescriptor descriptor) override;
+ void clearBuffer(Napi::Env,
+ interop::Interface<interop::GPUBuffer> buffer,
+ interop::GPUSize64 offset,
+ std::optional<interop::GPUSize64> size) override;
void copyBufferToBuffer(Napi::Env,
interop::Interface<interop::GPUBuffer> source,
interop::GPUSize64 sourceOffset,
diff --git a/src/dawn_node/binding/GPUComputePassEncoder.cpp b/src/dawn_node/binding/GPUComputePassEncoder.cpp
index d827d84..08b1fd2 100644
--- a/src/dawn_node/binding/GPUComputePassEncoder.cpp
+++ b/src/dawn_node/binding/GPUComputePassEncoder.cpp
@@ -50,30 +50,6 @@
enc_.DispatchIndirect(*indirectBuffer.As<GPUBuffer>(), indirectOffset);
}
- void GPUComputePassEncoder::beginPipelineStatisticsQuery(
- Napi::Env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) {
- UNIMPLEMENTED();
- }
-
- void GPUComputePassEncoder::endPipelineStatisticsQuery(Napi::Env) {
- UNIMPLEMENTED();
- }
-
- void GPUComputePassEncoder::writeTimestamp(Napi::Env env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) {
- Converter conv(env);
-
- wgpu::QuerySet q{};
- if (!conv(q, querySet)) {
- return;
- }
-
- enc_.WriteTimestamp(q, queryIndex);
- }
-
void GPUComputePassEncoder::endPass(Napi::Env) {
enc_.EndPass();
}
diff --git a/src/dawn_node/binding/GPUComputePassEncoder.h b/src/dawn_node/binding/GPUComputePassEncoder.h
index faf0859..b7199ac 100644
--- a/src/dawn_node/binding/GPUComputePassEncoder.h
+++ b/src/dawn_node/binding/GPUComputePassEncoder.h
@@ -43,13 +43,6 @@
void dispatchIndirect(Napi::Env,
interop::Interface<interop::GPUBuffer> indirectBuffer,
interop::GPUSize64 indirectOffset) override;
- void beginPipelineStatisticsQuery(Napi::Env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) override;
- void endPipelineStatisticsQuery(Napi::Env) override;
- void writeTimestamp(Napi::Env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) override;
void endPass(Napi::Env) override;
void setBindGroup(Napi::Env,
interop::GPUIndex32 index,
diff --git a/src/dawn_node/binding/GPUDevice.cpp b/src/dawn_node/binding/GPUDevice.cpp
index cddab09..2d09df7 100644
--- a/src/dawn_node/binding/GPUDevice.cpp
+++ b/src/dawn_node/binding/GPUDevice.cpp
@@ -413,9 +413,7 @@
wgpu::QuerySetDescriptor desc{};
if (!conv(desc.label, descriptor.label) || !conv(desc.type, descriptor.type) ||
- !conv(desc.count, descriptor.count) ||
- !conv(desc.pipelineStatistics, desc.pipelineStatisticsCount,
- descriptor.pipelineStatistics)) {
+ !conv(desc.count, descriptor.count)) {
return {};
}
diff --git a/src/dawn_node/binding/GPURenderPassEncoder.cpp b/src/dawn_node/binding/GPURenderPassEncoder.cpp
index 128cbf9..3306259 100644
--- a/src/dawn_node/binding/GPURenderPassEncoder.cpp
+++ b/src/dawn_node/binding/GPURenderPassEncoder.cpp
@@ -71,30 +71,6 @@
enc_.EndOcclusionQuery();
}
- void GPURenderPassEncoder::beginPipelineStatisticsQuery(
- Napi::Env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) {
- UNIMPLEMENTED();
- }
-
- void GPURenderPassEncoder::endPipelineStatisticsQuery(Napi::Env) {
- UNIMPLEMENTED();
- }
-
- void GPURenderPassEncoder::writeTimestamp(Napi::Env env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) {
- Converter conv(env);
-
- wgpu::QuerySet q{};
- if (!conv(q, querySet)) {
- return;
- }
-
- enc_.WriteTimestamp(q, queryIndex);
- }
-
void GPURenderPassEncoder::executeBundles(
Napi::Env env,
std::vector<interop::Interface<interop::GPURenderBundle>> bundles_in) {
diff --git a/src/dawn_node/binding/GPURenderPassEncoder.h b/src/dawn_node/binding/GPURenderPassEncoder.h
index 452dc1a..ecca2fb 100644
--- a/src/dawn_node/binding/GPURenderPassEncoder.h
+++ b/src/dawn_node/binding/GPURenderPassEncoder.h
@@ -50,13 +50,6 @@
void setStencilReference(Napi::Env, interop::GPUStencilValue reference) override;
void beginOcclusionQuery(Napi::Env, interop::GPUSize32 queryIndex) override;
void endOcclusionQuery(Napi::Env) override;
- void beginPipelineStatisticsQuery(Napi::Env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) override;
- void endPipelineStatisticsQuery(Napi::Env) override;
- void writeTimestamp(Napi::Env,
- interop::Interface<interop::GPUQuerySet> querySet,
- interop::GPUSize32 queryIndex) override;
void executeBundles(
Napi::Env,
std::vector<interop::Interface<interop::GPURenderBundle>> bundles) override;