Enable use_tint_generator w/ test suppressions for SPIR-V based backends

This runs dawn_end2end_tests both with/without use_tint_generator on
Vulkan, OpenGL, and OpenGL ES backends. This is a temporary solution
until we add an dawn_end2end_use_tint_generator_tests suite in the
bot configuration after all backends can support use_tint_generator or
have the appropriate test suppressions.

Bug: dawn:571
Change-Id: I44ab0ba7261160e34dbad512d98602427dc7e966
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35044
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
Austin Eng 2020-12-08 16:49:34 +00:00 committed by Commit Bot service account
parent 0824188672
commit 30805557e6
21 changed files with 221 additions and 4 deletions

View File

@ -456,6 +456,19 @@ std::vector<AdapterTestParam> DawnTestEnvironment::GetAvailableAdapterTestParams
if (params[i].backendType == adapterProperties.backendType && if (params[i].backendType == adapterProperties.backendType &&
adapterProperties.selected) { adapterProperties.selected) {
testParams.push_back(AdapterTestParam(params[i], adapterProperties)); testParams.push_back(AdapterTestParam(params[i], adapterProperties));
// HACK: This is a hack to get Tint generator enabled on all tests
// without adding a new test suite in Chromium's infra config but skipping
// that suite on all unsupported platforms. Once we have basic functionality and
// test skips on all backends, we can remove this and use a test suite with
// use_tint_generator in the command line args instead.
if (params[i].backendType == wgpu::BackendType::Vulkan ||
params[i].backendType == wgpu::BackendType::OpenGL ||
params[i].backendType == wgpu::BackendType::OpenGLES) {
BackendTestConfig configWithTint = params[i];
configWithTint.forceEnabledWorkarounds.push_back("use_tint_generator");
testParams.push_back(AdapterTestParam(configWithTint, adapterProperties));
}
} }
} }
} }

View File

@ -157,6 +157,10 @@ TEST_P(BindGroupTests, ReusedBindGroupSingleSubmit) {
// It contains a transformation matrix for the VS and the fragment color for the FS. // It contains a transformation matrix for the VS and the fragment color for the FS.
// These must result in different register offsets in the native APIs. // These must result in different register offsets in the native APIs.
TEST_P(BindGroupTests, ReusedUBO) { TEST_P(BindGroupTests, ReusedUBO) {
// TODO(crbug.com/dawn/571): Fix failures using Tint.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize); utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
wgpu::ShaderModule vsModule = wgpu::ShaderModule vsModule =
@ -229,6 +233,10 @@ TEST_P(BindGroupTests, ReusedUBO) {
// shader. In D3D12 for example, these different types of bindings end up in different namespaces, // shader. In D3D12 for example, these different types of bindings end up in different namespaces,
// but the register offsets used must match between the shader module and descriptor range. // but the register offsets used must match between the shader module and descriptor range.
TEST_P(BindGroupTests, UBOSamplerAndTexture) { TEST_P(BindGroupTests, UBOSamplerAndTexture) {
// TODO(crbug.com/dawn/571): Fix failures using Tint.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize); utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
wgpu::ShaderModule vsModule = wgpu::ShaderModule vsModule =
@ -327,6 +335,12 @@ TEST_P(BindGroupTests, UBOSamplerAndTexture) {
} }
TEST_P(BindGroupTests, MultipleBindLayouts) { TEST_P(BindGroupTests, MultipleBindLayouts) {
// TODO(crbug.com/tint/403):
// error: line 74: Expected Result Type to be a scalar type
// %44 = OpVectorExtractDynamic %v2float %30 %uint_0_0
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize); utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
wgpu::ShaderModule vsModule = wgpu::ShaderModule vsModule =
@ -1095,6 +1109,11 @@ TEST_P(BindGroupTests, ReadonlyStorage) {
// used correctly. The test loads a different value from each binding, and writes 1 to a storage // used correctly. The test loads a different value from each binding, and writes 1 to a storage
// buffer if all values are correct. // buffer if all values are correct.
TEST_P(BindGroupTests, ReallyLargeBindGroup) { 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()); DAWN_SKIP_TEST_IF(IsOpenGLES());
std::string interface = "#version 450\n"; std::string interface = "#version 450\n";
std::string body; std::string body;

View File

@ -975,6 +975,9 @@ TEST_P(BufferZeroInitTest, Copy2DArrayTextureToBuffer) {
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a // Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
// uniform buffer. // uniform buffer.
TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) { TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
const char* computeShader = R"( const char* computeShader = R"(
#version 450 #version 450
layout(set = 0, binding = 0, std140) uniform UBO { layout(set = 0, binding = 0, std140) uniform UBO {
@ -1011,6 +1014,9 @@ TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) {
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a // Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
// read-only storage buffer. // read-only storage buffer.
TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) { TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
const char* computeShader = R"( const char* computeShader = R"(
#version 450 #version 450
layout(set = 0, binding = 0, std140) readonly buffer SSBO { layout(set = 0, binding = 0, std140) readonly buffer SSBO {
@ -1047,6 +1053,9 @@ TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) {
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a // Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
// storage buffer. // storage buffer.
TEST_P(BufferZeroInitTest, BoundAsStorageBuffer) { TEST_P(BufferZeroInitTest, BoundAsStorageBuffer) {
// TODO(crbug.com/tint/375): Implement barriers in Tint.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
const char* computeShader = R"( const char* computeShader = R"(
#version 450 #version 450
layout(set = 0, binding = 0, std140) buffer SSBO { layout(set = 0, binding = 0, std140) buffer SSBO {
@ -1092,6 +1101,9 @@ TEST_P(BufferZeroInitTest, BoundAsStorageBuffer) {
// Test the buffer will be lazily initialized correctly when its first use is in SetVertexBuffer. // Test the buffer will be lazily initialized correctly when its first use is in SetVertexBuffer.
TEST_P(BufferZeroInitTest, SetVertexBuffer) { TEST_P(BufferZeroInitTest, SetVertexBuffer) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Bind the whole buffer as a vertex buffer. // Bind the whole buffer as a vertex buffer.
{ {
constexpr uint64_t kVertexBufferOffset = 0u; constexpr uint64_t kVertexBufferOffset = 0u;
@ -1107,6 +1119,9 @@ TEST_P(BufferZeroInitTest, SetVertexBuffer) {
// Test the buffer will be lazily initialized correctly when its first use is in SetIndexBuffer. // Test the buffer will be lazily initialized correctly when its first use is in SetIndexBuffer.
TEST_P(BufferZeroInitTest, SetIndexBuffer) { TEST_P(BufferZeroInitTest, SetIndexBuffer) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Bind the whole buffer as an index buffer. // Bind the whole buffer as an index buffer.
{ {
constexpr uint64_t kIndexBufferOffset = 0u; constexpr uint64_t kIndexBufferOffset = 0u;
@ -1123,6 +1138,9 @@ TEST_P(BufferZeroInitTest, SetIndexBuffer) {
// Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for // Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for
// DrawIndirect. // DrawIndirect.
TEST_P(BufferZeroInitTest, IndirectBufferForDrawIndirect) { TEST_P(BufferZeroInitTest, IndirectBufferForDrawIndirect) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Bind the whole buffer as an indirect buffer. // Bind the whole buffer as an indirect buffer.
{ {
constexpr uint64_t kOffset = 0u; constexpr uint64_t kOffset = 0u;
@ -1139,6 +1157,9 @@ TEST_P(BufferZeroInitTest, IndirectBufferForDrawIndirect) {
// Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for // Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for
// DrawIndexedIndirect. // DrawIndexedIndirect.
TEST_P(BufferZeroInitTest, IndirectBufferForDrawIndexedIndirect) { TEST_P(BufferZeroInitTest, IndirectBufferForDrawIndexedIndirect) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Bind the whole buffer as an indirect buffer. // Bind the whole buffer as an indirect buffer.
{ {
constexpr uint64_t kOffset = 0u; constexpr uint64_t kOffset = 0u;
@ -1155,6 +1176,9 @@ TEST_P(BufferZeroInitTest, IndirectBufferForDrawIndexedIndirect) {
// Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for // Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for
// DispatchIndirect. // DispatchIndirect.
TEST_P(BufferZeroInitTest, IndirectBufferForDispatchIndirect) { TEST_P(BufferZeroInitTest, IndirectBufferForDispatchIndirect) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Bind the whole buffer as an indirect buffer. // Bind the whole buffer as an indirect buffer.
{ {
constexpr uint64_t kOffset = 0u; constexpr uint64_t kOffset = 0u;

View File

@ -118,6 +118,9 @@ TEST_P(ComputeCopyStorageBufferTests, SizedArrayOfStruct) {
// Test that a trivial compute-shader memcpy implementation works. // Test that a trivial compute-shader memcpy implementation works.
TEST_P(ComputeCopyStorageBufferTests, UnsizedArrayOfBasic) { TEST_P(ComputeCopyStorageBufferTests, UnsizedArrayOfBasic) {
// TODO(crbug.com/tint/400)
// Tint transform failure: error: invalid 0 size for array or vector
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
BasicTest(R"( BasicTest(R"(
#version 450 #version 450
#define kInstances 4 #define kInstances 4

View File

@ -70,6 +70,9 @@ void ComputeSharedMemoryTests::BasicTest(const char* shader) {
// Basic shared memory test // Basic shared memory test
TEST_P(ComputeSharedMemoryTests, Basic) { TEST_P(ComputeSharedMemoryTests, Basic) {
// TODO(crbug.com/tint/375): Implement barriers in Tint.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
BasicTest(R"( BasicTest(R"(
#version 450 #version 450
const uint kTileSize = 4; const uint kTileSize = 4;

View File

@ -135,6 +135,9 @@ TEST_P(CreateReadyPipelineTest, CreateComputePipelineFailed) {
// Verify the basic use of CreateReadyRenderPipeline() works on all backends. // Verify the basic use of CreateReadyRenderPipeline() works on all backends.
TEST_P(CreateReadyPipelineTest, BasicUseOfCreateReadyRenderPipeline) { TEST_P(CreateReadyPipelineTest, BasicUseOfCreateReadyRenderPipeline) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
constexpr wgpu::TextureFormat kRenderAttachmentFormat = wgpu::TextureFormat::RGBA8Unorm; constexpr wgpu::TextureFormat kRenderAttachmentFormat = wgpu::TextureFormat::RGBA8Unorm;
const char* vertexShader = R"( const char* vertexShader = R"(
@ -212,6 +215,9 @@ TEST_P(CreateReadyPipelineTest, BasicUseOfCreateReadyRenderPipeline) {
TEST_P(CreateReadyPipelineTest, CreateRenderPipelineFailed) { TEST_P(CreateReadyPipelineTest, CreateRenderPipelineFailed) {
DAWN_SKIP_TEST_IF(HasToggleEnabled("skip_validation")); DAWN_SKIP_TEST_IF(HasToggleEnabled("skip_validation"));
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
constexpr wgpu::TextureFormat kRenderAttachmentFormat = wgpu::TextureFormat::Depth32Float; constexpr wgpu::TextureFormat kRenderAttachmentFormat = wgpu::TextureFormat::Depth32Float;
const char* vertexShader = R"( const char* vertexShader = R"(
@ -289,6 +295,9 @@ TEST_P(CreateReadyPipelineTest, ReleaseDeviceBeforeCallbackOfCreateReadyComputeP
// Verify there is no error when the device is released before the callback of // Verify there is no error when the device is released before the callback of
// CreateReadyRenderPipeline() is called. // CreateReadyRenderPipeline() is called.
TEST_P(CreateReadyPipelineTest, ReleaseDeviceBeforeCallbackOfCreateReadyRenderPipeline) { TEST_P(CreateReadyPipelineTest, ReleaseDeviceBeforeCallbackOfCreateReadyRenderPipeline) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
const char* vertexShader = R"( const char* vertexShader = R"(
#version 450 #version 450
void main() { void main() {

View File

@ -27,6 +27,10 @@ class DepthStencilCopyTests : public DawnTest {
void SetUp() override { void SetUp() override {
DawnTest::SetUp(); DawnTest::SetUp();
// TODO(crbug.com/tint/329): SPIR-V output missing DepthReplacing execution mode.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
// Draw a square in the bottom left quarter of the screen. // Draw a square in the bottom left quarter of the screen.
mVertexModule = utils::CreateShaderModuleFromWGSL(device, R"( mVertexModule = utils::CreateShaderModuleFromWGSL(device, R"(
[[builtin(vertex_idx)]] var<in> VertexIndex : u32; [[builtin(vertex_idx)]] var<in> VertexIndex : u32;

View File

@ -58,6 +58,9 @@ class DepthStencilSamplingTest : public DawnTest {
void SetUp() override { void SetUp() override {
DawnTest::SetUp(); DawnTest::SetUp();
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
wgpu::BufferDescriptor uniformBufferDesc; wgpu::BufferDescriptor uniformBufferDesc;
uniformBufferDesc.usage = wgpu::BufferUsage::Uniform | wgpu::BufferUsage::CopyDst; uniformBufferDesc.usage = wgpu::BufferUsage::Uniform | wgpu::BufferUsage::CopyDst;
uniformBufferDesc.size = sizeof(float); uniformBufferDesc.size = sizeof(float);

View File

@ -106,8 +106,5 @@ DAWN_INSTANTIATE_TEST(DrawTest,
D3D12Backend(), D3D12Backend(),
MetalBackend(), MetalBackend(),
OpenGLBackend(), OpenGLBackend(),
OpenGLBackend({"use_tint_generator"}),
OpenGLESBackend(), OpenGLESBackend(),
OpenGLESBackend({"use_tint_generator"}), VulkanBackend());
VulkanBackend(),
VulkanBackend({"use_tint_generator"}));

View File

@ -21,6 +21,13 @@
class GpuMemorySyncTests : public DawnTest { class GpuMemorySyncTests : public DawnTest {
protected: protected:
void SetUp() override {
DawnTest::SetUp();
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
}
wgpu::Buffer CreateBuffer() { wgpu::Buffer CreateBuffer() {
wgpu::BufferDescriptor srcDesc; wgpu::BufferDescriptor srcDesc;
srcDesc.size = 4; srcDesc.size = 4;
@ -240,6 +247,13 @@ DAWN_INSTANTIATE_TEST(GpuMemorySyncTests,
class StorageToUniformSyncTests : public DawnTest { class StorageToUniformSyncTests : public DawnTest {
protected: protected:
void SetUp() override {
DawnTest::SetUp();
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
}
void CreateBuffer() { void CreateBuffer() {
wgpu::BufferDescriptor bufferDesc; wgpu::BufferDescriptor bufferDesc;
bufferDesc.size = sizeof(float); bufferDesc.size = sizeof(float);

View File

@ -315,6 +315,10 @@ TEST_P(MultisampledRenderingTest, ResolveFromSingleLayerArrayInto2DTexture) {
// Test multisampled rendering with depth test works correctly. // Test multisampled rendering with depth test works correctly.
TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTest) { TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTest) {
// TODO(crbug.com/tint/329): SPIR-V output missing DepthReplacing execution mode.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
constexpr bool kTestDepth = true; constexpr bool kTestDepth = true;
wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder(); wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder();
wgpu::RenderPipeline pipeline = CreateRenderPipelineWithOneOutputForTest(kTestDepth); wgpu::RenderPipeline pipeline = CreateRenderPipelineWithOneOutputForTest(kTestDepth);
@ -670,6 +674,10 @@ TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndSampleMas
// TODO(dawn:491): Find out why this test doesn't work on Windows Intel Vulkan. // TODO(dawn:491): Find out why this test doesn't work on Windows Intel Vulkan.
DAWN_SKIP_TEST_IF(IsWindows() && IsIntel() && IsVulkan()); DAWN_SKIP_TEST_IF(IsWindows() && IsIntel() && IsVulkan());
// TODO(crbug.com/tint/329): SPIR-V output missing DepthReplacing execution mode.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
constexpr bool kTestDepth = true; constexpr bool kTestDepth = true;
// The second sample is included in the first render pass and it's covered by the triangle. // The second sample is included in the first render pass and it's covered by the triangle.
constexpr uint32_t kSampleMaskGreen = kSecondSampleMaskBit; constexpr uint32_t kSampleMaskGreen = kSecondSampleMaskBit;
@ -730,6 +738,9 @@ TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndSampleMas
// Test using one multisampled color attachment with resolve target can render correctly // Test using one multisampled color attachment with resolve target can render correctly
// with non-default sample mask and shader-output mask. // with non-default sample mask and shader-output mask.
TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithSampleMaskAndShaderOutputMask) { TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithSampleMaskAndShaderOutputMask) {
// TODO(crbug.com/tint/372): Support sample mask builtin.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
constexpr bool kTestDepth = false; constexpr bool kTestDepth = false;
wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder(); wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder();
@ -773,6 +784,9 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithSampleMaskAndShaderOut
// Test doing MSAA resolve into multiple resolve targets works correctly with a non-default // Test doing MSAA resolve into multiple resolve targets works correctly with a non-default
// shader-output mask. // shader-output mask.
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithShaderOutputMask) { TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithShaderOutputMask) {
// TODO(crbug.com/tint/372): Support sample mask builtin.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
wgpu::TextureView multisampledColorView2 = wgpu::TextureView multisampledColorView2 =
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView(); CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1); wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1);
@ -926,6 +940,10 @@ TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndAlphaToCo
// algorithm. // algorithm.
DAWN_SKIP_TEST_IF(IsSwiftshader()); DAWN_SKIP_TEST_IF(IsSwiftshader());
// TODO(crbug.com/tint/329): SPIR-V output missing DepthReplacing execution mode.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
constexpr bool kTestDepth = true; constexpr bool kTestDepth = true;
constexpr uint32_t kSampleMask = 0xFFFFFFFF; constexpr uint32_t kSampleMask = 0xFFFFFFFF;

View File

@ -49,6 +49,10 @@ class MultisampledSamplingTest : public DawnTest {
void SetUp() override { void SetUp() override {
DawnTest::SetUp(); DawnTest::SetUp();
// TODO(crbug.com/tint/329): SPIR-V output missing DepthReplacing execution mode.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") &&
(IsVulkan() || IsOpenGL() || IsOpenGLES()));
{ {
utils::ComboRenderPipelineDescriptor desc(device); utils::ComboRenderPipelineDescriptor desc(device);

View File

@ -23,6 +23,9 @@ class OpArrayLengthTest : public DawnTest {
void SetUp() { void SetUp() {
DawnTest::SetUp(); DawnTest::SetUp();
// TODO(crbug.com/tint/252): Implement arrayLength.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Create buffers of various size to check the length() implementation // Create buffers of various size to check the length() implementation
wgpu::BufferDescriptor bufferDesc; wgpu::BufferDescriptor bufferDesc;
bufferDesc.size = 4; bufferDesc.size = 4;

View File

@ -151,6 +151,9 @@ class PrimitiveTopologyTest : public DawnTest {
void SetUp() override { void SetUp() override {
DawnTest::SetUp(); DawnTest::SetUp();
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize); renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
vsModule = utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"( vsModule = utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(

View File

@ -39,6 +39,8 @@ class ShaderFloat16Tests : public DawnTest {
TEST_P(ShaderFloat16Tests, Basic16BitFloatFeaturesTest) { TEST_P(ShaderFloat16Tests, Basic16BitFloatFeaturesTest) {
DAWN_SKIP_TEST_IF(!IsShaderFloat16Supported()); DAWN_SKIP_TEST_IF(!IsShaderFloat16Supported());
DAWN_SKIP_TEST_IF(IsD3D12() && IsIntel()); // Flaky crashes. crbug.com/dawn/586 DAWN_SKIP_TEST_IF(IsD3D12() && IsIntel()); // Flaky crashes. crbug.com/dawn/586
// TODO(crbug.com/tint/404): Implement float16 in Tint.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
uint16_t uniformData[] = {Float32ToFloat16(1.23), Float32ToFloat16(0.0)}; // 0.0 is a padding. uint16_t uniformData[] = {Float32ToFloat16(1.23), Float32ToFloat16(0.0)}; // 0.0 is a padding.
wgpu::Buffer uniformBuffer = utils::CreateBufferFromData( wgpu::Buffer uniformBuffer = utils::CreateBufferFromData(

View File

@ -711,6 +711,9 @@ TEST_P(StorageTextureTests, BindGroupLayoutWithStorageTextureBindingType) {
// Test that read-only storage textures are supported in compute shader. // Test that read-only storage textures are supported in compute shader.
TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) { TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) {
// TODO(crbug.com/tint/401): SPIR-V reader parses readonly storage textures as read/write.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
for (wgpu::TextureFormat format : utils::kAllTextureFormats) { for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
if (!utils::TextureFormatSupportsStorageTexture(format)) { if (!utils::TextureFormatSupportsStorageTexture(format)) {
continue; continue;
@ -748,6 +751,9 @@ TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) {
// Test that read-only storage textures are supported in vertex shader. // Test that read-only storage textures are supported in vertex shader.
TEST_P(StorageTextureTests, ReadonlyStorageTextureInVertexShader) { TEST_P(StorageTextureTests, ReadonlyStorageTextureInVertexShader) {
// TODO(crbug.com/tint/401): SPIR-V reader parses readonly storage textures as read/write.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
for (wgpu::TextureFormat format : utils::kAllTextureFormats) { for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
if (!utils::TextureFormatSupportsStorageTexture(format)) { if (!utils::TextureFormatSupportsStorageTexture(format)) {
continue; continue;
@ -791,6 +797,9 @@ TEST_P(StorageTextureTests, ReadonlyStorageTextureInVertexShader) {
// Test that read-only storage textures are supported in fragment shader. // Test that read-only storage textures are supported in fragment shader.
TEST_P(StorageTextureTests, ReadonlyStorageTextureInFragmentShader) { TEST_P(StorageTextureTests, ReadonlyStorageTextureInFragmentShader) {
// TODO(crbug.com/tint/401): SPIR-V reader parses readonly storage textures as read/write.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
for (wgpu::TextureFormat format : utils::kAllTextureFormats) { for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
if (!utils::TextureFormatSupportsStorageTexture(format)) { if (!utils::TextureFormatSupportsStorageTexture(format)) {
continue; continue;
@ -826,6 +835,9 @@ TEST_P(StorageTextureTests, ReadonlyStorageTextureInFragmentShader) {
// Test that write-only storage textures are supported in compute shader. // Test that write-only storage textures are supported in compute shader.
TEST_P(StorageTextureTests, WriteonlyStorageTextureInComputeShader) { TEST_P(StorageTextureTests, WriteonlyStorageTextureInComputeShader) {
// TODO(https://github.com/gpuweb/gpuweb/issues/1107): texture size queries unspecified
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES. // TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES()); DAWN_SKIP_TEST_IF(IsOpenGLES());
@ -856,6 +868,9 @@ TEST_P(StorageTextureTests, WriteonlyStorageTextureInComputeShader) {
// Test that reading from one read-only storage texture then writing into another write-only storage // Test that reading from one read-only storage texture then writing into another write-only storage
// texture in one dispatch are supported in compute shader. // texture in one dispatch are supported in compute shader.
TEST_P(StorageTextureTests, ReadWriteDifferentStorageTextureInOneDispatchInComputeShader) { TEST_P(StorageTextureTests, ReadWriteDifferentStorageTextureInOneDispatchInComputeShader) {
// TODO(https://github.com/gpuweb/gpuweb/issues/1107): texture size queries unspecified
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES. // TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES()); DAWN_SKIP_TEST_IF(IsOpenGLES());
for (wgpu::TextureFormat format : utils::kAllTextureFormats) { for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
@ -890,6 +905,9 @@ TEST_P(StorageTextureTests, ReadWriteDifferentStorageTextureInOneDispatchInCompu
// Test that write-only storage textures are supported in fragment shader. // Test that write-only storage textures are supported in fragment shader.
TEST_P(StorageTextureTests, WriteonlyStorageTextureInFragmentShader) { TEST_P(StorageTextureTests, WriteonlyStorageTextureInFragmentShader) {
// TODO(https://github.com/gpuweb/gpuweb/issues/1107): texture size queries unspecified
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES. // TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES()); DAWN_SKIP_TEST_IF(IsOpenGLES());
for (wgpu::TextureFormat format : utils::kAllTextureFormats) { for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
@ -919,6 +937,9 @@ TEST_P(StorageTextureTests, WriteonlyStorageTextureInFragmentShader) {
// Verify 2D array read-only storage texture works correctly. // Verify 2D array read-only storage texture works correctly.
TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) { TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) {
// TODO(crbug.com/tint/401): SPIR-V reader parses readonly storage textures as read/write.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
constexpr uint32_t kArrayLayerCount = 3u; constexpr uint32_t kArrayLayerCount = 3u;
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint; constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
@ -951,6 +972,9 @@ TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) {
// Verify 2D array write-only storage texture works correctly. // Verify 2D array write-only storage texture works correctly.
TEST_P(StorageTextureTests, Writeonly2DArrayStorageTexture) { TEST_P(StorageTextureTests, Writeonly2DArrayStorageTexture) {
// TODO(https://github.com/gpuweb/gpuweb/issues/1107): texture size queries unspecified
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES. // TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES()); DAWN_SKIP_TEST_IF(IsOpenGLES());
constexpr uint32_t kArrayLayerCount = 3u; constexpr uint32_t kArrayLayerCount = 3u;
@ -973,6 +997,11 @@ TEST_P(StorageTextureTests, Writeonly2DArrayStorageTexture) {
// Test that multiple dispatches to increment values by ping-ponging between a read-only storage // 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. // texture and a write-only storage texture are synchronized in one pass.
TEST_P(StorageTextureTests, ReadonlyAndWriteonlyStorageTexturePingPong) { TEST_P(StorageTextureTests, ReadonlyAndWriteonlyStorageTexturePingPong) {
// 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"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES. // TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES()); DAWN_SKIP_TEST_IF(IsOpenGLES());
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint; constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
@ -1050,6 +1079,11 @@ TEST_P(StorageTextureTests, ReadonlyAndWriteonlyStorageTexturePingPong) {
// Test that multiple dispatches to increment values by ping-ponging between a sampled texture and // 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. // a write-only storage texture are synchronized in one pass.
TEST_P(StorageTextureTests, SampledAndWriteonlyStorageTexturePingPong) { TEST_P(StorageTextureTests, SampledAndWriteonlyStorageTexturePingPong) {
// 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"));
// TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES. // TODO(crbug.com/dawn/581): this test requires glClearTexSubImage(), unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES()); DAWN_SKIP_TEST_IF(IsOpenGLES());
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint; constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
@ -1177,6 +1211,9 @@ class StorageTextureZeroInitTests : public StorageTextureTests {
// Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage // Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage
// texture in a render pass. // texture in a render pass.
TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPass) { TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPass) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
wgpu::Texture readonlyStorageTexture = wgpu::Texture readonlyStorageTexture =
CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage); CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage);
@ -1203,6 +1240,11 @@ TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPa
// Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage // Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage
// texture in a compute pass. // texture in a compute pass.
TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputePass) { 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 = wgpu::Texture readonlyStorageTexture =
CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage); CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage);
@ -1230,6 +1272,9 @@ TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputeP
// Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage // Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage
// storage texture in a render pass. // storage texture in a render pass.
TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderPass) { TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderPass) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
// Prepare the write-only storage texture. // Prepare the write-only storage texture.
constexpr uint32_t kTexelSizeR32Uint = 4u; constexpr uint32_t kTexelSizeR32Uint = 4u;
wgpu::Texture writeonlyStorageTexture = CreateTexture( wgpu::Texture writeonlyStorageTexture = CreateTexture(
@ -1243,6 +1288,11 @@ TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderP
// Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage // Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage
// texture in a compute pass. // texture in a compute pass.
TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInComputePass) { TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInComputePass) {
// 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"));
// Prepare the write-only storage texture. // Prepare the write-only storage texture.
constexpr uint32_t kTexelSizeR32Uint = 4u; constexpr uint32_t kTexelSizeR32Uint = 4u;
wgpu::Texture writeonlyStorageTexture = CreateTexture( wgpu::Texture writeonlyStorageTexture = CreateTexture(

View File

@ -844,6 +844,11 @@ TEST_P(TextureZeroInitTest, ColorAttachmentsClear) {
// This tests the clearing of sampled textures in render pass // This tests the clearing of sampled textures in render pass
TEST_P(TextureZeroInitTest, RenderPassSampledTextureClear) { 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 // Create needed resources
wgpu::TextureDescriptor descriptor = wgpu::TextureDescriptor descriptor =
CreateTextureDescriptor(1, 1, wgpu::TextureUsage::Sampled, kColorFormat); CreateTextureDescriptor(1, 1, wgpu::TextureUsage::Sampled, kColorFormat);
@ -891,6 +896,11 @@ TEST_P(TextureZeroInitTest, RenderPassSampledTextureClear) {
// This tests the clearing of sampled textures during compute pass // This tests the clearing of sampled textures during compute pass
TEST_P(TextureZeroInitTest, ComputePassSampledTextureClear) { 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 // Create needed resources
wgpu::TextureDescriptor descriptor = wgpu::TextureDescriptor descriptor =
CreateTextureDescriptor(1, 1, wgpu::TextureUsage::Sampled, kColorFormat); CreateTextureDescriptor(1, 1, wgpu::TextureUsage::Sampled, kColorFormat);
@ -1049,6 +1059,11 @@ TEST_P(TextureZeroInitTest, NonRenderableTextureClearWithMultiArrayLayers) {
// Then expect the render texture to not store the data from sample texture // 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. // because it will be lazy cleared by the EXPECT_TEXTURE_RGBA8_EQ call.
TEST_P(TextureZeroInitTest, RenderPassStoreOpClear) { 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 // Create needed resources
wgpu::TextureDescriptor descriptor = CreateTextureDescriptor( wgpu::TextureDescriptor descriptor = CreateTextureDescriptor(
1, 1, wgpu::TextureUsage::Sampled | wgpu::TextureUsage::CopyDst, kColorFormat); 1, 1, wgpu::TextureUsage::Sampled | wgpu::TextureUsage::CopyDst, kColorFormat);
@ -1195,6 +1210,11 @@ TEST_P(TextureZeroInitTest, RenderingLoadingDepthStencilStoreOpClear) {
// Test that if one mip of a texture is initialized and another is uninitialized, lazy clearing the // 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. // uninitialized mip does not clear the initialized mip.
TEST_P(TextureZeroInitTest, PreservesInitializedMip) { 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( wgpu::TextureDescriptor sampleTextureDescriptor = CreateTextureDescriptor(
2, 1, 2, 1,
wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst | wgpu::TextureUsage::Sampled, wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst | wgpu::TextureUsage::Sampled,
@ -1274,6 +1294,11 @@ TEST_P(TextureZeroInitTest, PreservesInitializedMip) {
// Test that if one layer of a texture is initialized and another is uninitialized, lazy clearing // 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. // the uninitialized layer does not clear the initialized layer.
TEST_P(TextureZeroInitTest, PreservesInitializedArrayLayer) { 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( wgpu::TextureDescriptor sampleTextureDescriptor = CreateTextureDescriptor(
1, 2, 1, 2,
wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst | wgpu::TextureUsage::Sampled, wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst | wgpu::TextureUsage::Sampled,
@ -1651,6 +1676,12 @@ class CompressedTextureZeroInitTest : public TextureZeroInitTest {
protected: protected:
void SetUp() override { void SetUp() override {
DawnTest::SetUp(); 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(UsesWire());
DAWN_SKIP_TEST_IF(!IsBCFormatSupported()); DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
// TODO: find out why this test is flaky on Windows Intel Vulkan bots. // TODO: find out why this test is flaky on Windows Intel Vulkan bots.

View File

@ -375,6 +375,11 @@ class VertexFormatTest : public DawnTest {
void DoVertexFormatTest(wgpu::VertexFormat format, void DoVertexFormatTest(wgpu::VertexFormat format,
std::vector<VertexType> vertex, std::vector<VertexType> vertex,
std::vector<ExpectedType> expectedData) { std::vector<ExpectedType> expectedData) {
// TODO(crbug.com/tint/402): Unimplemented min / max
DAWN_SKIP_TEST_IF(
(IsFloatFormat(format) || IsHalfFormat(format) || IsNormalizedFormat(format)) &&
HasToggleEnabled("use_tint_generator"));
wgpu::RenderPipeline pipeline = MakeTestPipeline(format, expectedData); wgpu::RenderPipeline pipeline = MakeTestPipeline(format, expectedData);
wgpu::Buffer vertexBuffer = utils::CreateBufferFromData( wgpu::Buffer vertexBuffer = utils::CreateBufferFromData(
device, vertex.data(), vertex.size() * sizeof(VertexType), wgpu::BufferUsage::Vertex); device, vertex.data(), vertex.size() * sizeof(VertexType), wgpu::BufferUsage::Vertex);

View File

@ -524,6 +524,9 @@ TEST_P(VertexStateTest, LastAllowedVertexBuffer) {
// Test that overlapping vertex attributes are permitted and load data correctly // Test that overlapping vertex attributes are permitted and load data correctly
TEST_P(VertexStateTest, OverlappingVertexAttributes) { TEST_P(VertexStateTest, OverlappingVertexAttributes) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 3, 3); utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 3, 3);
utils::ComboVertexStateDescriptor vertexState = utils::ComboVertexStateDescriptor vertexState =
@ -617,6 +620,9 @@ class OptionalVertexStateTest : public DawnTest {};
// Test that vertex input is not required in render pipeline descriptor. // Test that vertex input is not required in render pipeline descriptor.
TEST_P(OptionalVertexStateTest, Basic) { TEST_P(OptionalVertexStateTest, Basic) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 3, 3); utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 3, 3);
wgpu::ShaderModule vsModule = wgpu::ShaderModule vsModule =

View File

@ -21,6 +21,9 @@ class ViewportOrientationTests : public DawnTest {};
// Test that the pixel in viewport coordinate (-1, -1) matches texel (0, 0) // Test that the pixel in viewport coordinate (-1, -1) matches texel (0, 0)
TEST_P(ViewportOrientationTests, OriginAt0x0) { TEST_P(ViewportOrientationTests, OriginAt0x0) {
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 2, 2); utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 2, 2);
wgpu::ShaderModule vsModule = wgpu::ShaderModule vsModule =

View File

@ -22,6 +22,9 @@ class ViewportTest : public DawnTest {
void SetUp() override { void SetUp() override {
DawnTest::SetUp(); DawnTest::SetUp();
// TODO(crbug.com/tint/398): GLSL builtins don't work with SPIR-V reader.
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
mQuadVS = mQuadVS =
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(#version 450 utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(#version 450
const vec2 pos[6] = vec2[6](vec2(-1.0f, 1.0f), const vec2 pos[6] = vec2[6](vec2(-1.0f, 1.0f),