Add depth-clip-control feature enum
Not implemented on any of the backends yet. The feature has CTS coverage so tests can be enabled as implementation is written. Bug: dawn:1178 Change-Id: Ib0fa39346a42cbd996d3c42bf779767d159067e2 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/93309 Commit-Queue: Austin Eng <enga@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Shrek Shao <shrekshao@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
1faf5921c6
commit
51d13a4fa4
|
@ -1344,7 +1344,7 @@
|
||||||
"category": "enum",
|
"category": "enum",
|
||||||
"values": [
|
"values": [
|
||||||
{"value": 0, "name": "undefined", "jsrepr": "undefined"},
|
{"value": 0, "name": "undefined", "jsrepr": "undefined"},
|
||||||
{"value": 1, "name": "depth clip control", "tags": ["upstream", "emscripten"]},
|
{"value": 1, "name": "depth clip control"},
|
||||||
{"value": 2, "name": "depth24 unorm stencil8"},
|
{"value": 2, "name": "depth24 unorm stencil8"},
|
||||||
{"value": 3, "name": "depth32 float stencil8"},
|
{"value": 3, "name": "depth32 float stencil8"},
|
||||||
{"value": 4, "name": "timestamp query"},
|
{"value": 4, "name": "timestamp query"},
|
||||||
|
@ -2141,7 +2141,6 @@
|
||||||
"primitive depth clip control": {
|
"primitive depth clip control": {
|
||||||
"category": "structure",
|
"category": "structure",
|
||||||
"chained": "in",
|
"chained": "in",
|
||||||
"tags": ["upstream", "emscripten"],
|
|
||||||
"members": [
|
"members": [
|
||||||
{"name": "unclipped depth", "type": "bool", "default": "false"}
|
{"name": "unclipped depth", "type": "bool", "default": "false"}
|
||||||
]
|
]
|
||||||
|
@ -2469,7 +2468,7 @@
|
||||||
{"value": 4, "name": "surface descriptor from canvas HTML selector"},
|
{"value": 4, "name": "surface descriptor from canvas HTML selector"},
|
||||||
{"value": 5, "name": "shader module SPIRV descriptor"},
|
{"value": 5, "name": "shader module SPIRV descriptor"},
|
||||||
{"value": 6, "name": "shader module WGSL descriptor"},
|
{"value": 6, "name": "shader module WGSL descriptor"},
|
||||||
{"value": 7, "name": "primitive depth clip control", "tags": ["upstream", "emscripten"]},
|
{"value": 7, "name": "primitive depth clip control"},
|
||||||
{"value": 8, "name": "surface descriptor from wayland surface", "tags": ["native"]},
|
{"value": 8, "name": "surface descriptor from wayland surface", "tags": ["native"]},
|
||||||
{"value": 9, "name": "surface descriptor from android native window", "tags": ["native"]},
|
{"value": 9, "name": "surface descriptor from android native window", "tags": ["native"]},
|
||||||
{"value": 10, "name": "surface descriptor from xcb window", "tags": ["upstream"]},
|
{"value": 10, "name": "surface descriptor from xcb window", "tags": ["upstream"]},
|
||||||
|
|
|
@ -55,6 +55,9 @@ static constexpr FeatureEnumAndInfoList kFeatureNameAndInfoList = {{
|
||||||
{Feature::TimestampQuery,
|
{Feature::TimestampQuery,
|
||||||
{"timestamp-query", "Support Timestamp Query",
|
{"timestamp-query", "Support Timestamp Query",
|
||||||
"https://bugs.chromium.org/p/dawn/issues/detail?id=434"}},
|
"https://bugs.chromium.org/p/dawn/issues/detail?id=434"}},
|
||||||
|
{Feature::DepthClipControl,
|
||||||
|
{"depth-clip-control", "Disable depth clipping of primitives to the clip volume",
|
||||||
|
"https://bugs.chromium.org/p/dawn/issues/detail?id=1178"}},
|
||||||
{Feature::DepthClamping,
|
{Feature::DepthClamping,
|
||||||
{"depth-clamping", "Clamp depth to [0, 1] in NDC space instead of clipping",
|
{"depth-clamping", "Clamp depth to [0, 1] in NDC space instead of clipping",
|
||||||
"https://bugs.chromium.org/p/dawn/issues/detail?id=716"}},
|
"https://bugs.chromium.org/p/dawn/issues/detail?id=716"}},
|
||||||
|
@ -100,6 +103,8 @@ Feature FromAPIFeature(wgpu::FeatureName feature) {
|
||||||
return Feature::TextureCompressionETC2;
|
return Feature::TextureCompressionETC2;
|
||||||
case wgpu::FeatureName::TextureCompressionASTC:
|
case wgpu::FeatureName::TextureCompressionASTC:
|
||||||
return Feature::TextureCompressionASTC;
|
return Feature::TextureCompressionASTC;
|
||||||
|
case wgpu::FeatureName::DepthClipControl:
|
||||||
|
return Feature::DepthClipControl;
|
||||||
case wgpu::FeatureName::DepthClamping:
|
case wgpu::FeatureName::DepthClamping:
|
||||||
return Feature::DepthClamping;
|
return Feature::DepthClamping;
|
||||||
case wgpu::FeatureName::Depth24UnormStencil8:
|
case wgpu::FeatureName::Depth24UnormStencil8:
|
||||||
|
@ -134,6 +139,8 @@ wgpu::FeatureName ToAPIFeature(Feature feature) {
|
||||||
return wgpu::FeatureName::PipelineStatisticsQuery;
|
return wgpu::FeatureName::PipelineStatisticsQuery;
|
||||||
case Feature::TimestampQuery:
|
case Feature::TimestampQuery:
|
||||||
return wgpu::FeatureName::TimestampQuery;
|
return wgpu::FeatureName::TimestampQuery;
|
||||||
|
case Feature::DepthClipControl:
|
||||||
|
return wgpu::FeatureName::DepthClipControl;
|
||||||
case Feature::DepthClamping:
|
case Feature::DepthClamping:
|
||||||
return wgpu::FeatureName::DepthClamping;
|
return wgpu::FeatureName::DepthClamping;
|
||||||
case Feature::Depth24UnormStencil8:
|
case Feature::Depth24UnormStencil8:
|
||||||
|
|
|
@ -33,6 +33,7 @@ enum class Feature {
|
||||||
ShaderFloat16,
|
ShaderFloat16,
|
||||||
PipelineStatisticsQuery,
|
PipelineStatisticsQuery,
|
||||||
TimestampQuery,
|
TimestampQuery,
|
||||||
|
DepthClipControl,
|
||||||
DepthClamping,
|
DepthClamping,
|
||||||
Depth24UnormStencil8,
|
Depth24UnormStencil8,
|
||||||
Depth32FloatStencil8,
|
Depth32FloatStencil8,
|
||||||
|
|
|
@ -113,12 +113,14 @@ class Features : public interop::GPUSupportedFeatures {
|
||||||
case wgpu::FeatureName::IndirectFirstInstance:
|
case wgpu::FeatureName::IndirectFirstInstance:
|
||||||
enabled_.emplace(interop::GPUFeatureName::kIndirectFirstInstance);
|
enabled_.emplace(interop::GPUFeatureName::kIndirectFirstInstance);
|
||||||
break;
|
break;
|
||||||
|
case wgpu::FeatureName::DepthClipControl:
|
||||||
|
enabled_.emplace(interop::GPUFeatureName::kDepthClipControl);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO(dawn:1123) add support for these extensions when possible.
|
// TODO(dawn:1123) add support for these extensions when possible.
|
||||||
// wgpu::interop::GPUFeatureName::kDepthClipControl
|
|
||||||
// wgpu::interop::GPUFeatureName::kShaderF16
|
// wgpu::interop::GPUFeatureName::kShaderF16
|
||||||
// wgpu::interop::GPUFeatureName::kBgra8UnormStorage
|
// wgpu::interop::GPUFeatureName::kBgra8UnormStorage
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ bool IsFeatureSupported(WGPUFeatureName feature) {
|
||||||
case WGPUFeatureName_TextureCompressionETC2:
|
case WGPUFeatureName_TextureCompressionETC2:
|
||||||
case WGPUFeatureName_TextureCompressionASTC:
|
case WGPUFeatureName_TextureCompressionASTC:
|
||||||
case WGPUFeatureName_IndirectFirstInstance:
|
case WGPUFeatureName_IndirectFirstInstance:
|
||||||
|
case WGPUFeatureName_DepthClipControl:
|
||||||
case WGPUFeatureName_DepthClamping:
|
case WGPUFeatureName_DepthClamping:
|
||||||
case WGPUFeatureName_DawnShaderFloat16:
|
case WGPUFeatureName_DawnShaderFloat16:
|
||||||
case WGPUFeatureName_DawnInternalUsages:
|
case WGPUFeatureName_DawnInternalUsages:
|
||||||
|
|
Loading…
Reference in New Issue