mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-20 10:25:28 +00:00
Triage Dawn TODOs
Change-Id: Ia010e534df1ac8a82008b38c44cfd9dc3f0b1aa6 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/53340 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
@@ -1054,8 +1054,6 @@ std::ostringstream& DawnTestBase::AddTextureExpectationImpl(const char* file,
|
||||
uint32_t size = utils::RequiredBytesInCopy(bytesPerRow, rowsPerImage, extent.width,
|
||||
extent.height, extent.depthOrArrayLayers, dataSize);
|
||||
|
||||
// TODO(enga): We should have the map async alignment in Contants.h. Also, it should change to 8
|
||||
// for Float64Array.
|
||||
auto readback = ReserveReadback(Align(size, 4));
|
||||
|
||||
// We need to enqueue the copy immediately because by the time we resolve the expectation,
|
||||
@@ -1176,8 +1174,6 @@ void DawnTestBase::WaitForAllOperations() {
|
||||
}
|
||||
|
||||
DawnTestBase::ReadbackReservation DawnTestBase::ReserveReadback(uint64_t readbackSize) {
|
||||
// For now create a new MapRead buffer for each readback
|
||||
// TODO(cwallez@chromium.org): eventually make bigger buffers and allocate linearly?
|
||||
ReadbackSlot slot;
|
||||
slot.bufferSize = readbackSize;
|
||||
|
||||
|
||||
@@ -84,7 +84,6 @@
|
||||
#define EXPECT_PIXEL_RGBA8_BETWEEN(color0, color1, texture, x, y) \
|
||||
AddTextureBetweenColorsExpectation(__FILE__, __LINE__, color0, color1, texture, x, y)
|
||||
|
||||
// TODO(enga): Migrate other texure expectation helpers to this common one.
|
||||
#define EXPECT_TEXTURE_EQ(...) AddTextureExpectation(__FILE__, __LINE__, __VA_ARGS__)
|
||||
|
||||
// Should only be used to test validation of function that can't be tested by regular validation
|
||||
|
||||
@@ -1198,8 +1198,8 @@ TEST_P(BufferZeroInitTest, ResolveQuerySet) {
|
||||
// Timestamp query is not supported on OpenGL
|
||||
DAWN_TEST_UNSUPPORTED_IF(IsOpenGL());
|
||||
|
||||
// TODO(hao.x.li@intel.com): Crash occurs if we only call WriteTimestamp in a command encoder
|
||||
// without any copy commands on Metal on AMD GPU. See https://crbug.com/dawn/545.
|
||||
// TODO(crbug.com/dawn/545): Crash occurs if we only call WriteTimestamp in a command encoder
|
||||
// without any copy commands on Metal on AMD GPU.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsAMD());
|
||||
|
||||
// Skip if timestamp extension is not supported on device
|
||||
|
||||
@@ -402,8 +402,7 @@ class CompressedTextureBCFormatTest : public DawnTest {
|
||||
return expectedData;
|
||||
}
|
||||
|
||||
// Right now we only test 2D array textures with BC formats.
|
||||
// TODO(jiawei.shao@intel.com): support 1D/3D textures
|
||||
// Note: BC formats are only valid with 2D (array) textures.
|
||||
static wgpu::Extent3D GetVirtualSizeAtLevel(const CopyConfig& config) {
|
||||
return {config.textureDescriptor.size.width >> config.viewMipmapLevel,
|
||||
config.textureDescriptor.size.height >> config.viewMipmapLevel,
|
||||
@@ -431,7 +430,7 @@ class CompressedTextureBCFormatTest : public DawnTest {
|
||||
|
||||
// Test copying into the whole BC texture with 2x2 blocks and sampling from it.
|
||||
TEST_P(CompressedTextureBCFormatTest, Basic) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -468,7 +467,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyIntoSubRegion) {
|
||||
|
||||
// Test copying into the non-zero layer of a 2D array texture with BC formats works correctly.
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyIntoNonZeroArrayLayer) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -493,7 +492,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyIntoNonZeroArrayLayer) {
|
||||
|
||||
// Test copying into a non-zero mipmap level of a texture with BC texture formats.
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyBufferIntoNonZeroMipmapLevel) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -532,7 +531,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyBufferIntoNonZeroMipmapLevel) {
|
||||
|
||||
// Test texture-to-texture whole-size copies with BC formats.
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyWholeTextureSubResourceIntoNonZeroMipmapLevel) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -540,9 +539,8 @@ TEST_P(CompressedTextureBCFormatTest, CopyWholeTextureSubResourceIntoNonZeroMipm
|
||||
// This test uses glTextureView() which is not supported in OpenGL ES.
|
||||
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
|
||||
|
||||
// TODO(cwallez@chromium.org): This consistently fails on with the 12th pixel being opaque black
|
||||
// instead of opaque red on Win10 FYI Release (NVIDIA GeForce GTX 1660). See
|
||||
// https://bugs.chromium.org/p/chromium/issues/detail?id=981393
|
||||
// TODO(crbug.com/dawn/816): This consistently fails on with the 12th pixel being opaque black
|
||||
// instead of opaque red on Win10 FYI Release (NVIDIA GeForce GTX 1660).
|
||||
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsNvidia());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -591,7 +589,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyWholeTextureSubResourceIntoNonZeroMipm
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyIntoSubresourceWithPhysicalSizeNotEqualToVirtualSize) {
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): add workaround on the T2T copies where Extent3D fits in one
|
||||
// TODO(crbug.com/dawn/817): add workaround on the T2T copies where Extent3D fits in one
|
||||
// subresource and does not fit in another one on OpenGL.
|
||||
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
|
||||
|
||||
@@ -651,7 +649,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyIntoSubresourceWithPhysicalSizeNotEqua
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyFromSubresourceWithPhysicalSizeNotEqualToVirtualSize) {
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): add workaround on the T2T copies where Extent3D fits in one
|
||||
// TODO(crbug.com/dawn/817): add workaround on the T2T copies where Extent3D fits in one
|
||||
// subresource and does not fit in another one on OpenGL.
|
||||
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
|
||||
|
||||
@@ -707,7 +705,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyFromSubresourceWithPhysicalSizeNotEqua
|
||||
TEST_P(CompressedTextureBCFormatTest, MultipleCopiesWithPhysicalSizeNotEqualToVirtualSize) {
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): add workaround on the T2T copies where Extent3D fits in one
|
||||
// TODO(crbug.com/dawn/817): add workaround on the T2T copies where Extent3D fits in one
|
||||
// subresource and does not fit in another one on OpenGL.
|
||||
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
|
||||
|
||||
@@ -787,7 +785,7 @@ TEST_P(CompressedTextureBCFormatTest, MultipleCopiesWithPhysicalSizeNotEqualToVi
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyWithMultipleLayerAndPhysicalSizeNotEqualToVirtualSize) {
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): add workaround on the T2T copies where Extent3D fits in one
|
||||
// TODO(crbug.com/dawn/817): add workaround on the T2T copies where Extent3D fits in one
|
||||
// subresource and does not fit in another one on OpenGL.
|
||||
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
|
||||
|
||||
@@ -857,7 +855,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyWithMultipleLayerAndPhysicalSizeNotEqu
|
||||
// Test the special case of the B2T copies on the D3D12 backend that the buffer offset and texture
|
||||
// extent exactly fit the RowPitch.
|
||||
TEST_P(CompressedTextureBCFormatTest, BufferOffsetAndExtentFitRowPitch) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -886,7 +884,7 @@ TEST_P(CompressedTextureBCFormatTest, BufferOffsetAndExtentFitRowPitch) {
|
||||
// backend the texelOffset.y will be greater than 0 after calcuting the texelOffset in the function
|
||||
// ComputeTexelOffsets().
|
||||
TEST_P(CompressedTextureBCFormatTest, BufferOffsetExceedsSlicePitch) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -917,7 +915,7 @@ TEST_P(CompressedTextureBCFormatTest, BufferOffsetExceedsSlicePitch) {
|
||||
// Test the special case of the B2T copies on the D3D12 backend that the buffer offset and texture
|
||||
// extent exceed the RowPitch. On D3D12 backend two copies are required for this case.
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyWithBufferOffsetAndExtentExceedRowPitch) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -974,7 +972,7 @@ TEST_P(CompressedTextureBCFormatTest, RowPitchEqualToSlicePitch) {
|
||||
// copyExtent.depthOrArrayLayers) on Metal backends. As copyExtent.depthOrArrayLayers can only be 1
|
||||
// for BC formats, on Metal backend we will use two copies to implement such copy.
|
||||
TEST_P(CompressedTextureBCFormatTest, LargeImageHeight) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -995,7 +993,7 @@ TEST_P(CompressedTextureBCFormatTest, LargeImageHeight) {
|
||||
// Test the workaround in the B2T copies when (bufferSize - bufferOffset < bytesPerImage *
|
||||
// copyExtent.depthOrArrayLayers) and copyExtent needs to be clamped.
|
||||
TEST_P(CompressedTextureBCFormatTest, LargeImageHeightAndClampedCopyExtent) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -1037,7 +1035,7 @@ TEST_P(CompressedTextureBCFormatTest, LargeImageHeightAndClampedCopyExtent) {
|
||||
// Test copying a whole 2D array texture with array layer count > 1 in one copy command works with
|
||||
// BC formats.
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyWhole2DArrayTexture) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -1063,7 +1061,7 @@ TEST_P(CompressedTextureBCFormatTest, CopyWhole2DArrayTexture) {
|
||||
|
||||
// Test copying a multiple 2D texture array layers in one copy command works with BC formats.
|
||||
TEST_P(CompressedTextureBCFormatTest, CopyMultiple2DArrayLayers) {
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
// TODO(crbug.com/dawn/815): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
|
||||
@@ -1120,7 +1118,6 @@ TEST_P(CompressedTextureBCFormatTest, UnalignedDynamicUploader) {
|
||||
queue.Submit(1, &commands);
|
||||
}
|
||||
|
||||
// TODO(jiawei.shao@intel.com): support BC formats on OpenGL backend
|
||||
DAWN_INSTANTIATE_TEST(CompressedTextureBCFormatTest,
|
||||
D3D12Backend(),
|
||||
MetalBackend(),
|
||||
|
||||
@@ -59,7 +59,7 @@ class CopyTests : public DawnTest {
|
||||
return textureData;
|
||||
}
|
||||
|
||||
// TODO(jiawei.shao@intel.com): remove this function when all the tests in this file support
|
||||
// TODO(crbug.com/dawn/818): remove this function when all the tests in this file support
|
||||
// testing arbitrary formats.
|
||||
static std::vector<RGBA8> GetExpectedTextureDataRGBA8(
|
||||
const utils::TextureDataCopyLayout& layout) {
|
||||
@@ -132,7 +132,7 @@ class CopyTests_T2B : public CopyTests {
|
||||
const BufferSpec& bufferSpec,
|
||||
const wgpu::Extent3D& copySize,
|
||||
wgpu::TextureDimension dimension = wgpu::TextureDimension::e2D) {
|
||||
// TODO(jiawei.shao@intel.com): support testing arbitrary formats
|
||||
// TODO(crbug.com/dawn/818): support testing arbitrary formats
|
||||
ASSERT_EQ(kDefaultFormat, textureSpec.format);
|
||||
|
||||
const uint32_t bytesPerTexel = utils::GetTexelBlockSizeInBytes(textureSpec.format);
|
||||
@@ -244,7 +244,7 @@ class CopyTests_B2T : public CopyTests {
|
||||
const BufferSpec& bufferSpec,
|
||||
const wgpu::Extent3D& copySize,
|
||||
wgpu::TextureDimension dimension = wgpu::TextureDimension::e2D) {
|
||||
// TODO(jiawei.shao@intel.com): support testing arbitrary formats
|
||||
// TODO(crbug.com/dawn/818): support testing arbitrary formats
|
||||
ASSERT_EQ(kDefaultFormat, textureSpec.format);
|
||||
// Create a buffer of size `size` and populate it with data
|
||||
const uint32_t bytesPerTexel = utils::GetTexelBlockSizeInBytes(textureSpec.format);
|
||||
@@ -2008,7 +2008,7 @@ TEST_P(CopyTests_T2B, CopyOneRowWithDepth32Float) {
|
||||
// texture formats. See http://crbug.com/1161355 for more details.
|
||||
TEST_P(CopyTests_T2T, CopyFromNonZeroMipLevelWithTexelBlockSizeLessThan4Bytes) {
|
||||
// This test can pass on the Windows Intel Vulkan driver version 27.20.100.9168.
|
||||
// TODO(jiawei.shao@intel.com): enable this test on Intel Vulkan drivers after the upgrade of
|
||||
// TODO(crbug.com/dawn/819): enable this test on Intel Vulkan drivers after the upgrade of
|
||||
// try bots.
|
||||
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsWindows() && IsIntel());
|
||||
|
||||
|
||||
@@ -312,7 +312,7 @@ TEST_P(DepthBiasTests, PositiveBiasOn24bit) {
|
||||
0.25f * (1 << 25), 0, 0);
|
||||
|
||||
// Only the bottom left quad has colors. 0.5 quad > 0.4 clear.
|
||||
// TODO(enrico.galli@intel.com): Switch to depth sampling once feature has been enabled.
|
||||
// TODO(crbug.com/dawn/820): Switch to depth sampling once feature has been enabled.
|
||||
std::vector<RGBA8> expected = {
|
||||
RGBA8::kRed, RGBA8::kRed, //
|
||||
RGBA8::kRed, RGBA8::kRed, //
|
||||
@@ -333,7 +333,7 @@ TEST_P(DepthBiasTests, PositiveBiasOn24bitWithClamp) {
|
||||
|
||||
// Since we cleared with a depth of 0.4 and clamped bias at 0.4, the depth test will fail. 0.25
|
||||
// + 0.125 < 0.4 clear.
|
||||
// TODO(enrico.galli@intel.com): Switch to depth sampling once feature has been enabled.
|
||||
// TODO(crbug.com/dawn/820): Switch to depth sampling once feature has been enabled.
|
||||
std::vector<RGBA8> zero = {
|
||||
RGBA8::kZero, RGBA8::kZero, //
|
||||
RGBA8::kZero, RGBA8::kZero, //
|
||||
@@ -348,7 +348,7 @@ TEST_P(DepthBiasTests, PositiveSlopeBiasOn24bit) {
|
||||
RunDepthBiasTest(wgpu::TextureFormat::Depth24PlusStencil8, 0.4f, QuadAngle::TiltedX, 0, 1, 0);
|
||||
|
||||
// Only the top half of the quad has a depth > 0.4 clear
|
||||
// TODO(enrico.galli@intel.com): Switch to depth sampling once feature has been enabled.
|
||||
// TODO(crbug.com/dawn/820): Switch to depth sampling once feature has been enabled.
|
||||
std::vector<RGBA8> expected = {
|
||||
RGBA8::kRed, RGBA8::kRed, //
|
||||
RGBA8::kZero, RGBA8::kZero, //
|
||||
|
||||
@@ -215,7 +215,7 @@ class DepthStencilCopyTests : public DawnTest {
|
||||
uploadBufferDesc.usage = wgpu::BufferUsage::CopySrc;
|
||||
uploadBufferDesc.mappedAtCreation = true;
|
||||
|
||||
// TODO(enga): Use WriteTexture when implemented on OpenGL.
|
||||
// TODO(crbug.com/dawn/822): Use WriteTexture when implemented on OpenGL.
|
||||
wgpu::Buffer uploadBuffer = device.CreateBuffer(&uploadBufferDesc);
|
||||
uint8_t* dst = static_cast<uint8_t*>(uploadBuffer.GetMappedRange());
|
||||
float* src = expected.data();
|
||||
@@ -269,7 +269,7 @@ class DepthStencilCopyTests : public DawnTest {
|
||||
depthStencil->depthCompare = wgpu::CompareFunction::Equal;
|
||||
pipelineDescriptor.cTargets[0].format = colorTexDesc.format;
|
||||
|
||||
// TODO(jiawei.shao@intel.com): The Intel Mesa Vulkan driver can't set gl_FragDepth unless
|
||||
// TODO(crbug.com/dawn/821): The Intel Mesa Vulkan driver can't set gl_FragDepth unless
|
||||
// depthWriteEnabled == true. This either needs to be fixed in the driver or restricted by
|
||||
// the WebGPU API.
|
||||
depthStencil->depthWriteEnabled = true;
|
||||
@@ -353,8 +353,8 @@ TEST_P(DepthStencilCopyTests, FromStencilAspect) {
|
||||
|
||||
// Test copying the non-zero mip, stencil-only aspect into a buffer.
|
||||
TEST_P(DepthStencilCopyTests, FromNonZeroMipStencilAspect) {
|
||||
// TODO(enga): Figure out why this fails on MacOS Intel Iris.
|
||||
// It passes on AMD Radeon Pro and Intel HD Graphics 630.
|
||||
// TODO(crbug.com/dawn/704): Readback after clear via stencil copy does not work
|
||||
// on some Intel drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
// TODO(crbug.com/dawn/667): Work around some platforms' inability to read back stencil.
|
||||
@@ -396,8 +396,8 @@ TEST_P(DepthStencilCopyTests, FromNonZeroMipDepthAspect) {
|
||||
|
||||
// Test copying both aspects in a T2T copy, then copying only stencil.
|
||||
TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyStencil) {
|
||||
// TODO(enga): Figure out why this fails on MacOS Intel Iris.
|
||||
// It passes on AMD Radeon Pro and Intel HD Graphics 630.
|
||||
// TODO(crbug.com/dawn/704): Readback after clear via stencil copy does not work
|
||||
// on some Intel drivers.
|
||||
// Maybe has to do with the RenderAttachment usage. Notably, a later test
|
||||
// T2TBothAspectsThenCopyNonRenderableStencil does not use RenderAttachment and works correctly.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
@@ -449,8 +449,8 @@ TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyNonRenderableStencil) {
|
||||
// Test that part of a non-renderable, non-zero mip stencil aspect can be copied. Notably,
|
||||
// this test has different behavior on some platforms than T2TBothAspectsThenCopyStencil.
|
||||
TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyNonRenderableNonZeroMipStencil) {
|
||||
// TODO(enga): Figure out why this fails on MacOS Intel Iris.
|
||||
// It passes on AMD Radeon Pro and Intel HD Graphics 630.
|
||||
/// TODO(crbug.com/dawn/704): Readback after clear via stencil copy does not work
|
||||
// on some Intel drivers.
|
||||
// Maybe has to do with the non-zero mip. Notably, a previous test
|
||||
// T2TBothAspectsThenCopyNonRenderableStencil works correctly.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
@@ -539,8 +539,8 @@ TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyStencilThenDepth) {
|
||||
|
||||
// Test copying both aspects in a T2T copy, then copying depth, then copying stencil
|
||||
TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyDepthThenStencil) {
|
||||
// TODO(enga): Figure out why this fails on MacOS Intel Iris.
|
||||
// It passes on AMD Radeon Pro and Intel HD Graphics 630.
|
||||
// TODO(crbug.com/dawn/704): Readback after clear via stencil copy does not work
|
||||
// on some Intel drivers.
|
||||
// It seems like the depth readback copy mutates the stencil because the previous
|
||||
// test T2TBothAspectsThenCopyStencil passes.
|
||||
// T2TBothAspectsThenCopyStencilThenDepth which checks stencil first also passes.
|
||||
@@ -583,8 +583,8 @@ TEST_P(DepthStencilCopyTests, ToStencilAspect) {
|
||||
DAWN_TEST_UNSUPPORTED_IF(IsOpenGL());
|
||||
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
|
||||
|
||||
// TODO(enga): Figure out why this fails on MacOS Intel Iris.
|
||||
// It passes on AMD Radeon Pro and Intel HD Graphics 630.
|
||||
// TODO(crbug.com/dawn/704): Readback after clear via stencil copy does not work
|
||||
// on some Intel drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
// Create a stencil texture
|
||||
|
||||
@@ -192,8 +192,8 @@ class DepthStencilSamplingTest : public DawnTest {
|
||||
return textureSampleCompare(tex, samp, vec2<f32>(0.5, 0.5), uniforms.compareRef);
|
||||
})");
|
||||
|
||||
// TODO(dawn:367): Cannot use GetBindGroupLayout for comparison samplers without shader
|
||||
// reflection data.
|
||||
// TODO(crbug.com/dawn/367): Cannot use GetBindGroupLayout for comparison samplers without
|
||||
// shader reflection data.
|
||||
wgpu::BindGroupLayout bgl = utils::MakeBindGroupLayout(
|
||||
device, {{0, wgpu::ShaderStage::Fragment, wgpu::SamplerBindingType::Comparison},
|
||||
{1, wgpu::ShaderStage::Fragment, wgpu::TextureSampleType::Depth},
|
||||
@@ -227,7 +227,7 @@ class DepthStencilSamplingTest : public DawnTest {
|
||||
samplerResult.value = textureSampleCompare(tex, samp, vec2<f32>(0.5, 0.5), uniforms.compareRef);
|
||||
})");
|
||||
|
||||
// TODO(dawn:367): Cannot use GetBindGroupLayout without shader reflection data.
|
||||
// TODO(crbug.com/dawn/367): Cannot use GetBindGroupLayout without shader reflection data.
|
||||
wgpu::BindGroupLayout bgl = utils::MakeBindGroupLayout(
|
||||
device, {{0, wgpu::ShaderStage::Compute, wgpu::SamplerBindingType::Comparison},
|
||||
{1, wgpu::ShaderStage::Compute, wgpu::TextureSampleType::Depth},
|
||||
|
||||
@@ -159,10 +159,10 @@ TEST_P(IOSurfaceValidationTests, PlaneTooLarge) {
|
||||
}
|
||||
|
||||
// Test an error occurs if the descriptor dimension isn't 2D
|
||||
// TODO(cwallez@chromium.org): Reenable when 1D or 3D textures are implemented
|
||||
TEST_P(IOSurfaceValidationTests, DISABLED_InvalidTextureDimension) {
|
||||
// TODO(crbug.com/dawn/814): Test 1D textures when implemented
|
||||
TEST_P(IOSurfaceValidationTests, InvalidTextureDimension) {
|
||||
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
|
||||
descriptor.dimension = wgpu::TextureDimension::e2D;
|
||||
descriptor.dimension = wgpu::TextureDimension::e3D;
|
||||
|
||||
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
|
||||
WrapIOSurface(&descriptor, defaultIOSurface.get(), 0));
|
||||
|
||||
@@ -418,7 +418,7 @@ TEST_P(MultisampledRenderingTest, ResolveInAnotherRenderPass) {
|
||||
|
||||
// Test doing MSAA resolve into multiple resolve targets works correctly.
|
||||
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargets) {
|
||||
// TODO(dawn:462): Investigate backend validation failure.
|
||||
// TODO(dawn:462): Issue in the D3D12 validation layers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia() && IsBackendValidationEnabled());
|
||||
|
||||
wgpu::TextureView multisampledColorView2 =
|
||||
@@ -496,7 +496,7 @@ TEST_P(MultisampledRenderingTest, ResolveOneMultisampledTextureTwice) {
|
||||
|
||||
// Test using a layer of a 2D texture as resolve target works correctly.
|
||||
TEST_P(MultisampledRenderingTest, ResolveIntoOneMipmapLevelOf2DTexture) {
|
||||
// TODO(dawn:462): Investigate backend validation failure.
|
||||
// TODO(dawn:462): Issue in the D3D12 validation layers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
constexpr uint32_t kBaseMipLevel = 2;
|
||||
@@ -534,7 +534,7 @@ TEST_P(MultisampledRenderingTest, ResolveIntoOneMipmapLevelOf2DTexture) {
|
||||
|
||||
// Test using a level or a layer of a 2D array texture as resolve target works correctly.
|
||||
TEST_P(MultisampledRenderingTest, ResolveInto2DArrayTexture) {
|
||||
// TODO(dawn:462): Investigate backend validation failure.
|
||||
// TODO(dawn:462): Issue in the D3D12 validation layers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
wgpu::TextureView multisampledColorView2 =
|
||||
@@ -762,7 +762,7 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithSampleMaskAndShaderOut
|
||||
// supported on some platforms.
|
||||
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_sample_variables"));
|
||||
|
||||
// TODO(cwallez@chromium.org): Fails on Metal / D3D12 because SPIRV-Cross produces bad shaders
|
||||
// TODO(crbug.com/dawn/571): Fails on Metal / D3D12 because SPIRV-Cross produces bad shaders
|
||||
// for the SPIR-V outputted by Tint. Reenable once we use Tint's MSL / HLSL generators.
|
||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() || IsMetal());
|
||||
|
||||
@@ -824,7 +824,7 @@ TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithShaderOut
|
||||
// supported on some platforms.
|
||||
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_sample_variables"));
|
||||
|
||||
// TODO(cwallez@chromium.org): Fails on Metal / D3D12 because SPIRV-Cross produces bad shaders
|
||||
// TODO(crbug.com/dawn/571): Fails on Metal / D3D12 because SPIRV-Cross produces bad shaders
|
||||
// for the SPIR-V outputted by Tint. Reenable once we use Tint's MSL / HLSL generators.
|
||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() || IsMetal());
|
||||
|
||||
|
||||
@@ -98,8 +98,8 @@ class OpArrayLengthTest : public DawnTest {
|
||||
|
||||
// Test OpArrayLength in the compute stage
|
||||
TEST_P(OpArrayLengthTest, Compute) {
|
||||
// TODO(cwallez@chromium.org): The computations for length() of unsized buffer is broken on
|
||||
// Nvidia OpenGL. See https://bugs.chromium.org/p/dawn/issues/detail?id=197
|
||||
// TODO(crbug.com/dawn/197): The computations for length() of unsized buffer is broken on
|
||||
// Nvidia OpenGL.
|
||||
DAWN_SUPPRESS_TEST_IF(IsNvidia() && (IsOpenGL() || IsOpenGLES()));
|
||||
|
||||
// Create a buffer to hold the result sizes and create a bindgroup for it.
|
||||
@@ -155,8 +155,8 @@ TEST_P(OpArrayLengthTest, Compute) {
|
||||
|
||||
// Test OpArrayLength in the fragment stage
|
||||
TEST_P(OpArrayLengthTest, Fragment) {
|
||||
// TODO(cwallez@chromium.org): The computations for length() of unsized buffer is broken on
|
||||
// Nvidia OpenGL. See https://bugs.chromium.org/p/dawn/issues/detail?id=197
|
||||
// TODO(crbug.com/dawn/197): The computations for length() of unsized buffer is broken on
|
||||
// Nvidia OpenGL.
|
||||
DAWN_SUPPRESS_TEST_IF(IsNvidia() && (IsOpenGL() || IsOpenGLES()));
|
||||
|
||||
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 1, 1);
|
||||
@@ -206,9 +206,8 @@ TEST_P(OpArrayLengthTest, Fragment) {
|
||||
|
||||
// Test OpArrayLength in the vertex stage
|
||||
TEST_P(OpArrayLengthTest, Vertex) {
|
||||
// TODO(cwallez@chromium.org): The computations for length() of unsized buffer is broken on
|
||||
// Nvidia OpenGL. Also failing on all GLES (NV, Intel, SwANGLE). See
|
||||
// https://bugs.chromium.org/p/dawn/issues/detail?id=197
|
||||
// TODO(crbug.com/dawn/197): The computations for length() of unsized buffer is broken on
|
||||
// Nvidia OpenGL. Also failing on all GLES (NV, Intel, SwANGLE).
|
||||
DAWN_SUPPRESS_TEST_IF(IsNvidia() && IsOpenGL());
|
||||
DAWN_SUPPRESS_TEST_IF(IsOpenGLES());
|
||||
|
||||
|
||||
@@ -760,8 +760,8 @@ TEST_P(TimestampQueryTests, ResolveToBufferWithOffset) {
|
||||
// the issue is fixed.
|
||||
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel());
|
||||
|
||||
// TODO(hao.x.li@intel.com): Crash occurs if we only call WriteTimestamp in a command encoder
|
||||
// without any copy commands on Metal on AMD GPU. See https://crbug.com/dawn/545.
|
||||
// TODO(crbug.com/dawn/545): Crash occurs if we only call WriteTimestamp in a command encoder
|
||||
// without any copy commands on Metal on AMD GPU.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsAMD());
|
||||
|
||||
constexpr uint32_t kQueryCount = 2;
|
||||
|
||||
@@ -112,8 +112,7 @@ TEST_P(QueueWriteBufferTests, ManyWriteBuffer) {
|
||||
// fails the test. Since GPUs may or may not complete by then, this test must be disabled OR
|
||||
// modified to be well-below the timeout limit.
|
||||
|
||||
// TODO(https://bugs.chromium.org/p/dawn/issues/detail?id=228): Re-enable
|
||||
// once the issue with Metal on 10.14.6 is fixed.
|
||||
// TODO(crbug.com/dawn/228): Re-enable once the issue with Metal on 10.14.6 is fixed.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMacOS() && IsIntel() && IsMetal());
|
||||
|
||||
// The Vulkan Validation Layers' memory barrier validation keeps track of every range written
|
||||
|
||||
@@ -50,12 +50,10 @@ TEST_P(ShaderFloat16Tests, Basic16BitFloatFeaturesTest) {
|
||||
wgpu::Buffer bufferIn = utils::CreateBufferFromData(device, &bufferInData, sizeof(bufferInData),
|
||||
wgpu::BufferUsage::Storage);
|
||||
|
||||
// TODO(xinghua.cao@intel.com): the zero for padding is required now. No need to
|
||||
// createBufferFromData once buffer lazy-zero-init is done.
|
||||
uint16_t bufferOutData[] = {Float32ToFloat16(0.0), Float32ToFloat16(0.0)};
|
||||
wgpu::Buffer bufferOut =
|
||||
utils::CreateBufferFromData(device, &bufferOutData, sizeof(bufferOutData),
|
||||
wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc);
|
||||
wgpu::BufferDescriptor bufferDesc;
|
||||
bufferDesc.size = 2 * sizeof(uint16_t);
|
||||
bufferDesc.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc;
|
||||
wgpu::Buffer bufferOut = device.CreateBuffer(&bufferDesc);
|
||||
|
||||
// SPIR-V ASM produced by glslang for the following fragment shader:
|
||||
//
|
||||
@@ -157,7 +155,7 @@ TEST_P(ShaderFloat16Tests, Basic16BitFloatFeaturesTest) {
|
||||
{
|
||||
{0, uniformBuffer, 0, sizeof(uniformData)},
|
||||
{1, bufferIn, 0, sizeof(bufferInData)},
|
||||
{2, bufferOut, 0, sizeof(bufferOutData)},
|
||||
{2, bufferOut},
|
||||
});
|
||||
|
||||
wgpu::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
|
||||
@@ -552,8 +552,6 @@ fn IsEqualTo(pixel : vec4<f32>, expected : vec4<f32>) -> bool {
|
||||
|
||||
wgpu::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
|
||||
// TODO(jiawei.shao@intel.com): remove the render attachment when Dawn supports beginning a
|
||||
// render pass with no attachments.
|
||||
wgpu::Texture dummyOutputTexture =
|
||||
CreateTexture(kRenderAttachmentFormat,
|
||||
wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc, 1, 1);
|
||||
|
||||
@@ -786,9 +786,6 @@ TEST_P(TextureFormatTest, RGB9E5Ufloat) {
|
||||
// This format is not renderable.
|
||||
}
|
||||
|
||||
// TODO(cwallez@chromium.org): Add tests for depth-stencil formats when we know if they are copyable
|
||||
// in WebGPU.
|
||||
|
||||
DAWN_INSTANTIATE_TEST(TextureFormatTest,
|
||||
D3D12Backend(),
|
||||
MetalBackend(),
|
||||
|
||||
@@ -586,7 +586,8 @@ TEST_P(TextureZeroInitTest, RenderingLoadingDepthStencil) {
|
||||
|
||||
// Test that clear state is tracked independently for depth/stencil textures.
|
||||
TEST_P(TextureZeroInitTest, IndependentDepthStencilLoadAfterDiscard) {
|
||||
// TODO(enga): Figure out why this fails on Metal Intel.
|
||||
// TODO(crbug.com/dawn/704): Readback after clear via stencil copy does not work
|
||||
// on some Intel drivers.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
wgpu::TextureDescriptor depthStencilDescriptor = CreateTextureDescriptor(
|
||||
|
||||
@@ -49,6 +49,9 @@ class VertexFormatTest : public DawnTest {
|
||||
void SetUp() override {
|
||||
DawnTest::SetUp();
|
||||
|
||||
// TODO(crbug.com/dawn/259): Failing because of a SPIRV-Cross issue.
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
|
||||
}
|
||||
|
||||
@@ -398,10 +401,6 @@ class VertexFormatTest : public DawnTest {
|
||||
};
|
||||
|
||||
TEST_P(VertexFormatTest, Uint8x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint8_t> vertexData = {
|
||||
std::numeric_limits<uint8_t>::max(),
|
||||
0,
|
||||
@@ -425,10 +424,6 @@ TEST_P(VertexFormatTest, Uint8x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Uint8x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint8_t> vertexData = {
|
||||
std::numeric_limits<uint8_t>::max(),
|
||||
0,
|
||||
@@ -448,10 +443,6 @@ TEST_P(VertexFormatTest, Uint8x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint8x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int8_t> vertexData = {
|
||||
std::numeric_limits<int8_t>::max(),
|
||||
0,
|
||||
@@ -475,10 +466,6 @@ TEST_P(VertexFormatTest, Sint8x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint8x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int8_t> vertexData = {
|
||||
std::numeric_limits<int8_t>::max(),
|
||||
0,
|
||||
@@ -498,10 +485,6 @@ TEST_P(VertexFormatTest, Sint8x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Unorm8x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint8_t> vertexData = {
|
||||
std::numeric_limits<uint8_t>::max(),
|
||||
std::numeric_limits<uint8_t>::min(),
|
||||
@@ -528,10 +511,6 @@ TEST_P(VertexFormatTest, Unorm8x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Unorm8x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint8_t> vertexData = {std::numeric_limits<uint8_t>::max(),
|
||||
std::numeric_limits<uint8_t>::min(),
|
||||
0,
|
||||
@@ -549,10 +528,6 @@ TEST_P(VertexFormatTest, Unorm8x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Snorm8x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int8_t> vertexData = {
|
||||
std::numeric_limits<int8_t>::max(),
|
||||
std::numeric_limits<int8_t>::min(),
|
||||
@@ -581,10 +556,6 @@ TEST_P(VertexFormatTest, Snorm8x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Snorm8x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int8_t> vertexData = {std::numeric_limits<int8_t>::max(),
|
||||
std::numeric_limits<int8_t>::min(),
|
||||
0,
|
||||
@@ -602,10 +573,6 @@ TEST_P(VertexFormatTest, Snorm8x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Uint16x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint16_t> vertexData = {std::numeric_limits<uint16_t>::max(),
|
||||
0,
|
||||
std::numeric_limits<uint16_t>::min(),
|
||||
@@ -617,10 +584,6 @@ TEST_P(VertexFormatTest, Uint16x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Uint16x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint16_t> vertexData = {
|
||||
std::numeric_limits<uint16_t>::max(),
|
||||
std::numeric_limits<uint8_t>::max(),
|
||||
@@ -640,10 +603,6 @@ TEST_P(VertexFormatTest, Uint16x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint16x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int16_t> vertexData = {std::numeric_limits<int16_t>::max(),
|
||||
0,
|
||||
std::numeric_limits<int16_t>::min(),
|
||||
@@ -655,10 +614,6 @@ TEST_P(VertexFormatTest, Sint16x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint16x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int16_t> vertexData = {
|
||||
std::numeric_limits<int16_t>::max(),
|
||||
0,
|
||||
@@ -678,10 +633,6 @@ TEST_P(VertexFormatTest, Sint16x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Unorm16x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint16_t> vertexData = {std::numeric_limits<uint16_t>::max(),
|
||||
std::numeric_limits<uint16_t>::min(),
|
||||
std::numeric_limits<uint16_t>::max() / 2u,
|
||||
@@ -693,10 +644,6 @@ TEST_P(VertexFormatTest, Unorm16x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Unorm16x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint16_t> vertexData = {std::numeric_limits<uint16_t>::max(),
|
||||
std::numeric_limits<uint16_t>::min(),
|
||||
0,
|
||||
@@ -714,10 +661,6 @@ TEST_P(VertexFormatTest, Unorm16x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Snorm16x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int16_t> vertexData = {std::numeric_limits<int16_t>::max(),
|
||||
std::numeric_limits<int16_t>::min(),
|
||||
std::numeric_limits<int16_t>::max() / 2,
|
||||
@@ -729,10 +672,6 @@ TEST_P(VertexFormatTest, Snorm16x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Snorm16x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int16_t> vertexData = {std::numeric_limits<int16_t>::max(),
|
||||
std::numeric_limits<int16_t>::min(),
|
||||
0,
|
||||
@@ -750,10 +689,6 @@ TEST_P(VertexFormatTest, Snorm16x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Float16x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
|
||||
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
|
||||
|
||||
@@ -764,10 +699,6 @@ TEST_P(VertexFormatTest, Float16x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Float16x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
|
||||
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
|
||||
|
||||
@@ -778,10 +709,6 @@ TEST_P(VertexFormatTest, Float16x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Float32) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<float> vertexData = {1.3f, +0.0f, -0.0f};
|
||||
|
||||
DoVertexFormatTest(wgpu::VertexFormat::Float32, vertexData, vertexData);
|
||||
@@ -792,10 +719,6 @@ TEST_P(VertexFormatTest, Float32) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Float32x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
|
||||
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
|
||||
|
||||
@@ -805,10 +728,6 @@ TEST_P(VertexFormatTest, Float32x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Float32x3) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
|
||||
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
|
||||
|
||||
@@ -820,10 +739,6 @@ TEST_P(VertexFormatTest, Float32x3) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Float32x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<float> vertexData = {
|
||||
19.2f, -19.3f, +0.0f, 1.0f, -0.0f, 1.0f, 1.3f, -1.0f, 13.078f, 21.1965f, -1.1f, -1.2f,
|
||||
};
|
||||
@@ -832,10 +747,6 @@ TEST_P(VertexFormatTest, Float32x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Uint32) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(),
|
||||
std::numeric_limits<uint16_t>::max(),
|
||||
std::numeric_limits<uint8_t>::max()};
|
||||
@@ -844,10 +755,6 @@ TEST_P(VertexFormatTest, Uint32) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Uint32x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(), 32,
|
||||
std::numeric_limits<uint16_t>::max(), 64,
|
||||
std::numeric_limits<uint8_t>::max(), 128};
|
||||
@@ -856,10 +763,6 @@ TEST_P(VertexFormatTest, Uint32x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Uint32x3) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(), 32, 64,
|
||||
std::numeric_limits<uint16_t>::max(), 164, 128,
|
||||
std::numeric_limits<uint8_t>::max(), 1283, 256};
|
||||
@@ -868,10 +771,6 @@ TEST_P(VertexFormatTest, Uint32x3) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Uint32x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(), 32, 64, 5460,
|
||||
std::numeric_limits<uint16_t>::max(), 164, 128, 0,
|
||||
std::numeric_limits<uint8_t>::max(), 1283, 256, 4567};
|
||||
@@ -880,10 +779,6 @@ TEST_P(VertexFormatTest, Uint32x4) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint32) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int32_t> vertexData = {std::numeric_limits<int32_t>::max(),
|
||||
std::numeric_limits<int32_t>::min(),
|
||||
std::numeric_limits<int8_t>::max()};
|
||||
@@ -892,10 +787,6 @@ TEST_P(VertexFormatTest, Sint32) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint32x2) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int32_t> vertexData = {
|
||||
std::numeric_limits<int32_t>::max(), std::numeric_limits<int32_t>::min(),
|
||||
std::numeric_limits<int16_t>::max(), std::numeric_limits<int16_t>::min(),
|
||||
@@ -905,10 +796,6 @@ TEST_P(VertexFormatTest, Sint32x2) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint32x3) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int32_t> vertexData = {
|
||||
std::numeric_limits<int32_t>::max(), std::numeric_limits<int32_t>::min(), 64,
|
||||
std::numeric_limits<int16_t>::max(), std::numeric_limits<int16_t>::min(), 128,
|
||||
@@ -918,10 +805,6 @@ TEST_P(VertexFormatTest, Sint32x3) {
|
||||
}
|
||||
|
||||
TEST_P(VertexFormatTest, Sint32x4) {
|
||||
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
|
||||
// See http://crbug.com/dawn/259
|
||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||
|
||||
std::vector<int32_t> vertexData = {
|
||||
std::numeric_limits<int32_t>::max(), std::numeric_limits<int32_t>::min(), 64, -5460,
|
||||
std::numeric_limits<int16_t>::max(), std::numeric_limits<int16_t>::min(), -128, 0,
|
||||
|
||||
Reference in New Issue
Block a user