end2end: Enable textureLoad() tint tests
These are fixed by:
https://dawn-review.googlesource.com/c/tint/+/35423
Fixed: tint:399
Change-Id: I81d6e88083afa07b31d4b4b750a221d2be31d942
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35722
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
diff --git a/src/tests/end2end/BindGroupTests.cpp b/src/tests/end2end/BindGroupTests.cpp
index ed66386..fa7a68b 100644
--- a/src/tests/end2end/BindGroupTests.cpp
+++ b/src/tests/end2end/BindGroupTests.cpp
@@ -1114,11 +1114,6 @@
// used correctly. The test loads a different value from each binding, and writes 1 to a storage
// buffer if all values are correct.
TEST_P(BindGroupTests, ReallyLargeBindGroup) {
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
DAWN_SKIP_TEST_IF(IsOpenGLES());
std::string interface = "#version 450\n";
std::string body;
diff --git a/src/tests/end2end/StorageTextureTests.cpp b/src/tests/end2end/StorageTextureTests.cpp
index f6c3d96..b64d1ff 100644
--- a/src/tests/end2end/StorageTextureTests.cpp
+++ b/src/tests/end2end/StorageTextureTests.cpp
@@ -1001,9 +1001,9 @@
// Test that multiple dispatches to increment values by ping-ponging between a read-only storage
// texture and a write-only storage texture are synchronized in one pass.
TEST_P(StorageTextureTests, ReadonlyAndWriteonlyStorageTexturePingPong) {
- // TODO(crbug.com/tint/399)
+ // TODO(crbug.com/tint/413)
// Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureStore
+ // Validation: v-0021: cannot re-assign a constant: 'x_21'
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
@@ -1083,9 +1083,9 @@
// Test that multiple dispatches to increment values by ping-ponging between a sampled texture and
// a write-only storage texture are synchronized in one pass.
TEST_P(StorageTextureTests, SampledAndWriteonlyStorageTexturePingPong) {
- // TODO(crbug.com/tint/399)
+ // TODO(crbug.com/tint/413)
// Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
+ // Validation: v-0021: cannot re-assign a constant: 'x_28'
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
@@ -1244,11 +1244,6 @@
// Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage
// texture in a compute pass.
TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputePass) {
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureStore
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
wgpu::Texture readonlyStorageTexture =
CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage);
@@ -1292,9 +1287,11 @@
// Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage
// texture in a compute pass.
TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInComputePass) {
- // TODO(crbug.com/tint/399)
+ // TODO(crbug.com/tint/415)
// Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureStore
+ // error: line 11: Expected Sampled Type to be a 32-bit int or float scalar type for Vulkan
+ // environment
+ // %3 = OpTypeImage %void 2D 0 0 0 2 R32ui
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Prepare the write-only storage texture.
diff --git a/src/tests/end2end/TextureZeroInitTests.cpp b/src/tests/end2end/TextureZeroInitTests.cpp
index ae751f2..698c2e1 100644
--- a/src/tests/end2end/TextureZeroInitTests.cpp
+++ b/src/tests/end2end/TextureZeroInitTests.cpp
@@ -844,11 +844,6 @@
// This tests the clearing of sampled textures in render pass
TEST_P(TextureZeroInitTest, RenderPassSampledTextureClear) {
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
// Create needed resources
wgpu::TextureDescriptor descriptor =
CreateTextureDescriptor(1, 1, wgpu::TextureUsage::Sampled, kColorFormat);
@@ -896,11 +891,6 @@
// This tests the clearing of sampled textures during compute pass
TEST_P(TextureZeroInitTest, ComputePassSampledTextureClear) {
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
// Create needed resources
wgpu::TextureDescriptor descriptor =
CreateTextureDescriptor(1, 1, wgpu::TextureUsage::Sampled, kColorFormat);
@@ -1059,11 +1049,6 @@
// Then expect the render texture to not store the data from sample texture
// because it will be lazy cleared by the EXPECT_TEXTURE_RGBA8_EQ call.
TEST_P(TextureZeroInitTest, RenderPassStoreOpClear) {
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
// Create needed resources
wgpu::TextureDescriptor descriptor = CreateTextureDescriptor(
1, 1, wgpu::TextureUsage::Sampled | wgpu::TextureUsage::CopyDst, kColorFormat);
@@ -1210,11 +1195,6 @@
// Test that if one mip of a texture is initialized and another is uninitialized, lazy clearing the
// uninitialized mip does not clear the initialized mip.
TEST_P(TextureZeroInitTest, PreservesInitializedMip) {
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
wgpu::TextureDescriptor sampleTextureDescriptor = CreateTextureDescriptor(
2, 1,
wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst | wgpu::TextureUsage::Sampled,
@@ -1294,11 +1274,6 @@
// Test that if one layer of a texture is initialized and another is uninitialized, lazy clearing
// the uninitialized layer does not clear the initialized layer.
TEST_P(TextureZeroInitTest, PreservesInitializedArrayLayer) {
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
wgpu::TextureDescriptor sampleTextureDescriptor = CreateTextureDescriptor(
1, 2,
wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst | wgpu::TextureUsage::Sampled,
@@ -1677,11 +1652,6 @@
void SetUp() override {
DawnTest::SetUp();
- // TODO(crbug.com/tint/399)
- // Tint SPIRV reader failure:
- // Type Determination: v-0006: identifier must be declared before use: textureLoadLevel
- DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
-
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
// TODO: find out why this test is flaky on Windows Intel Vulkan bots.