Add external texture test.
This CL adds a test with a uniform bound at (0,0) and an external
texture with a sampler bound at (0,2) and (0,1) respectively.
Bug: 340582170
Change-Id: I0a47ced9d2b71abe22f2f970604de85454d5ffff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/191664
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
diff --git a/src/dawn/tests/end2end/ExternalTextureTests.cpp b/src/dawn/tests/end2end/ExternalTextureTests.cpp
index 37fcbda..98a2944 100644
--- a/src/dawn/tests/end2end/ExternalTextureTests.cpp
+++ b/src/dawn/tests/end2end/ExternalTextureTests.cpp
@@ -1332,6 +1332,31 @@
ASSERT_NE(pipeline.Get(), nullptr);
}
+TEST_P(ExternalTextureTests, MultipleBindings) {
+ auto wgslModule = utils::CreateShaderModule(device, R"(
+ @vertex
+ fn vertexMain() -> @builtin(position) vec4f {
+ return vec4f(1);
+ }
+
+ @group(0) @binding(0) var<uniform> u : f32;
+ @group(0) @binding(1) var s : sampler;
+ @group(0) @binding(2) var et : texture_external;
+
+ @fragment
+ fn main() -> @location(0) vec4f {
+ return textureSampleBaseClampToEdge(et, s, vec2f(u));
+ })");
+
+ // Pipeline Creation
+ utils::ComboRenderPipelineDescriptor descriptor;
+ descriptor.vertex.module = wgslModule;
+ descriptor.cFragment.module = wgslModule;
+ wgpu::RenderPipeline pipeline = device.CreateRenderPipeline(&descriptor);
+
+ ASSERT_NE(pipeline.Get(), nullptr);
+}
+
DAWN_INSTANTIATE_TEST(ExternalTextureTests,
D3D11Backend(),
D3D12Backend(),