OpenGL: fix placeholder sampler in vertex stage.
The pipeline queries each shader stage in turn to ask if it needs
a placeholder sampler (e.g., for textureLoad() with no sampler).
However, CompileShader() was initializing "needsPlaceholderSampler" to
false on each call. If the vertex stage needs a placeholder sampler,
but the fragment stage doesn't, it will be overwritten back to false.
The fix is not to initialize it to false in CompileShader(). It's
already initialized to false by PipelineGL::InitializeBase().
(Long-winded explanation for a one-line fix.)
Bug: 374890770
Change-Id: I98109e2006c12149be1b6eedaaf05fed7c1c5541
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/213054
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/dawn/native/opengl/ShaderModuleGL.cpp b/src/dawn/native/opengl/ShaderModuleGL.cpp
index 7c3207e..7c5aa36 100644
--- a/src/dawn/native/opengl/ShaderModuleGL.cpp
+++ b/src/dawn/native/opengl/ShaderModuleGL.cpp
@@ -438,7 +438,6 @@
bindings.texture_builtins_from_uniform.ubo_binding,
tint::glsl::writer::binding::Uniform{layout->GetInternalUniformBinding()});
- *needsPlaceholderSampler = false;
CombinedSamplerInfo combinedSamplerInfo =
generateCombinedSamplerInfo(inspector, programmableStage.entryPoint, bindings,
externalTextureExpansionMap, needsPlaceholderSampler);
diff --git a/webgpu-cts/compat-expectations.txt b/webgpu-cts/compat-expectations.txt
index 25ad672..ccef6e6 100644
--- a/webgpu-cts/compat-expectations.txt
+++ b/webgpu-cts/compat-expectations.txt
@@ -151,14 +151,6 @@
# This section represents things that are probably fixable in Dawn.
################################################################################
-# Many texture sampling functions failing in Vertex stage
-crbug.com/374890770 webgpu:shader,execution,expression,call,builtin,textureLoad:sampled_1d:stage="v";* [ Failure ]
-crbug.com/374890770 webgpu:shader,execution,expression,call,builtin,textureLoad:sampled_2d:stage="v";* [ Failure ]
-crbug.com/374890770 webgpu:shader,execution,expression,call,builtin,textureLoad:sampled_3d:stage="v";* [ Failure ]
-crbug.com/374890770 webgpu:shader,execution,expression,call,builtin,textureLoad:arrayed:stage="v";* [ Failure ]
-crbug.com/374890770 webgpu:shader,execution,expression,call,builtin,textureLoad:multisampled:stage="v";* [ Failure ]
-crbug.com/374890770 webgpu:shader,execution,expression,call,builtin,textureLoad:external:stage="v" [ Failure ]
-
# texture sampling of depth textures with linear filtering is failing
crbug.com/375343411 webgpu:shader,execution,expression,call,builtin,textureSampleLevel:depth_2d_coords:stage="c";format="depth16unorm";filt="linear";mode="c";offset=false [ Failure ]
crbug.com/375343411 webgpu:shader,execution,expression,call,builtin,textureSampleLevel:depth_2d_coords:stage="c";format="depth16unorm";filt="linear";mode="c";offset=true [ Failure ]