OpenGL: Always use the Tint IR backend
Add CTS expectations for cube array tests that need be skipped by CTS
when targeting compat.
Bug: 42251044
Include-Ci-Only-Tests: true
Change-Id: I2dc19efa0ef2ee1cea99bbbf09c52c24562fd299
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/210095
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/dawn/native/opengl/ShaderModuleGL.cpp b/src/dawn/native/opengl/ShaderModuleGL.cpp
index 8e70ff3..d77d19f 100644
--- a/src/dawn/native/opengl/ShaderModuleGL.cpp
+++ b/src/dawn/native/opengl/ShaderModuleGL.cpp
@@ -94,7 +94,6 @@
X(std::optional<tint::ast::transform::SubstituteOverride::Config>, substituteOverrideConfig) \
X(LimitsForCompilationRequest, limits) \
X(bool, disableSymbolRenaming) \
- X(bool, useTintIR) \
X(std::vector<InterstageLocationAndName>, interstageVariables) \
X(std::vector<std::string>, bufferBindingVariables) \
X(tint::glsl::writer::Options, tintOptions) \
@@ -480,7 +479,6 @@
}
req.disableSymbolRenaming = GetDevice()->IsToggleEnabled(Toggle::DisableSymbolRenaming);
- req.useTintIR = GetDevice()->IsToggleEnabled(Toggle::UseTintIR);
req.interstageVariables = {};
for (size_t i = 0; i < entryPointMetaData.interStageVariables.size(); i++) {
@@ -575,18 +573,14 @@
// TODO(crbug.com/356424898): In the long run, we want to move SingleEntryPoint to Tint,
// but that has interactions with SubstituteOverrides which need to be handled first.
remappedEntryPoint = "";
- tint::Result<tint::glsl::writer::Output> result;
- if (r.useTintIR) {
- // Convert the AST program to an IR module.
- auto ir = tint::wgsl::reader::ProgramToLoweredIR(program);
- DAWN_INVALID_IF(ir != tint::Success,
- "An error occurred while generating Tint IR\n%s",
- ir.Failure().reason.Str());
- result = tint::glsl::writer::Generate(ir.Get(), r.tintOptions, remappedEntryPoint);
- } else {
- result = tint::glsl::writer::Generate(program, r.tintOptions, remappedEntryPoint);
- }
+ // Convert the AST program to an IR module.
+ auto ir = tint::wgsl::reader::ProgramToLoweredIR(program);
+ DAWN_INVALID_IF(ir != tint::Success, "An error occurred while generating Tint IR\n%s",
+ ir.Failure().reason.Str());
+
+ // Generate GLSL from Tint IR.
+ auto result = tint::glsl::writer::Generate(ir.Get(), r.tintOptions, remappedEntryPoint);
DAWN_INVALID_IF(result != tint::Success, "An error occurred while generating GLSL:\n%s",
result.Failure().reason.Str());
diff --git a/webgpu-cts/compat-expectations.txt b/webgpu-cts/compat-expectations.txt
index bc4a352..f6c67bb 100644
--- a/webgpu-cts/compat-expectations.txt
+++ b/webgpu-cts/compat-expectations.txt
@@ -2669,6 +2669,23 @@
crbug.com/372198639 [ linux nvidia ] webgpu:api,validation,state,device_lost,destroy:importExternalTexture:sourceType="VideoFrame";awaitLost=true [ RetryOnFailure ]
crbug.com/372198639 [ android arm ] webgpu:api,validation,state,device_lost,destroy:importExternalTexture:sourceType="VideoElement";awaitLost=false [ RetryOnFailure ]
+# Not valid for GLES, need to be skipped in CTS when targeting compat.
+crbug.com/dawn/372654300 webgpu:api,validation,compute_pipeline:resource_compatibility:apiResource="texture_depth_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,compute_pipeline:resource_compatibility:apiResource="texture_float_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,compute_pipeline:resource_compatibility:apiResource="texture_sint_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,compute_pipeline:resource_compatibility:apiResource="texture_uint_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,compute_pipeline:resource_compatibility:apiResource="texture_unfilterable-float_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="fragment";apiResource="texture_depth_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="fragment";apiResource="texture_float_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="fragment";apiResource="texture_sint_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="fragment";apiResource="texture_uint_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="fragment";apiResource="texture_unfilterable-float_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="vertex";apiResource="texture_depth_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="vertex";apiResource="texture_float_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="vertex";apiResource="texture_sint_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="vertex";apiResource="texture_uint_cube-array_false" [ Failure ]
+crbug.com/dawn/372654300 webgpu:api,validation,render_pipeline,resource_compatibility:resource_compatibility:stage="vertex";apiResource="texture_unfilterable-float_cube-array_false" [ Failure ]
+
################################################################################
# New flakes. Please triage - will be discarded/regenerated by the next roll:
# ##ROLLER_DISCARD_AND_REWRITE##