Commit 557e3853 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: Disable atomic counter buffer tests on AMD/Windows

A likely driver bug is causing the subsequent OpenGL test to fail. Bug: angleproject:3738 Change-Id: I6ee5e9e7298a2adb3069a6e14ac83453fa34b50f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716056Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent 8bb46c5b
...@@ -32,6 +32,9 @@ class AtomicCounterBufferTest : public ANGLETest ...@@ -32,6 +32,9 @@ class AtomicCounterBufferTest : public ANGLETest
// Test GL_ATOMIC_COUNTER_BUFFER is not supported with version lower than ES31. // Test GL_ATOMIC_COUNTER_BUFFER is not supported with version lower than ES31.
TEST_P(AtomicCounterBufferTest, AtomicCounterBufferBindings) TEST_P(AtomicCounterBufferTest, AtomicCounterBufferBindings)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
ASSERT_EQ(3, getClientMajorVersion()); ASSERT_EQ(3, getClientMajorVersion());
GLBuffer atomicCounterBuffer; GLBuffer atomicCounterBuffer;
glBindBufferBase(GL_ATOMIC_COUNTER_BUFFER, 0, atomicCounterBuffer.get()); glBindBufferBase(GL_ATOMIC_COUNTER_BUFFER, 0, atomicCounterBuffer.get());
...@@ -51,6 +54,9 @@ class AtomicCounterBufferTest31 : public AtomicCounterBufferTest ...@@ -51,6 +54,9 @@ class AtomicCounterBufferTest31 : public AtomicCounterBufferTest
// Linking should fail if counters in vertex shader exceed gl_MaxVertexAtomicCounters. // Linking should fail if counters in vertex shader exceed gl_MaxVertexAtomicCounters.
TEST_P(AtomicCounterBufferTest31, ExceedMaxVertexAtomicCounters) TEST_P(AtomicCounterBufferTest31, ExceedMaxVertexAtomicCounters)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
constexpr char kVS[] = constexpr char kVS[] =
"#version 310 es\n" "#version 310 es\n"
"layout(binding = 0) uniform atomic_uint foo[gl_MaxVertexAtomicCounters + 1];\n" "layout(binding = 0) uniform atomic_uint foo[gl_MaxVertexAtomicCounters + 1];\n"
...@@ -72,6 +78,9 @@ TEST_P(AtomicCounterBufferTest31, ExceedMaxVertexAtomicCounters) ...@@ -72,6 +78,9 @@ TEST_P(AtomicCounterBufferTest31, ExceedMaxVertexAtomicCounters)
// GLSL ES Spec 3.10.4, section 9.2.1. // GLSL ES Spec 3.10.4, section 9.2.1.
TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecified) TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecified)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
constexpr char kVS[] = constexpr char kVS[] =
"#version 310 es\n" "#version 310 es\n"
"layout(binding = 0, offset = 4) uniform atomic_uint foo;\n" "layout(binding = 0, offset = 4) uniform atomic_uint foo;\n"
...@@ -94,6 +103,9 @@ TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecified) ...@@ -94,6 +103,9 @@ TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecified)
// value. // value.
TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecifiedWithSameValue) TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecifiedWithSameValue)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
constexpr char kVS[] = constexpr char kVS[] =
"#version 310 es\n" "#version 310 es\n"
"layout(binding = 0, offset = 4) uniform atomic_uint foo;\n" "layout(binding = 0, offset = 4) uniform atomic_uint foo;\n"
...@@ -115,6 +127,9 @@ TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecifiedWithSameValue) ...@@ -115,6 +127,9 @@ TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecifiedWithSameValue)
// Tests atomic counter reads using compute shaders. Used as a sanity check for the translator. // Tests atomic counter reads using compute shaders. Used as a sanity check for the translator.
TEST_P(AtomicCounterBufferTest31, AtomicCounterReadCompute) TEST_P(AtomicCounterBufferTest31, AtomicCounterReadCompute)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
// Skipping due to a bug on the Adreno OpenGLES Android driver. // Skipping due to a bug on the Adreno OpenGLES Android driver.
// http://anglebug.com/2925 // http://anglebug.com/2925
ANGLE_SKIP_TEST_IF(IsAndroid() && IsAdreno() && IsOpenGLES()); ANGLE_SKIP_TEST_IF(IsAndroid() && IsAdreno() && IsOpenGLES());
...@@ -143,6 +158,9 @@ void main() ...@@ -143,6 +158,9 @@ void main()
// Test atomic counter read. // Test atomic counter read.
TEST_P(AtomicCounterBufferTest31, AtomicCounterRead) TEST_P(AtomicCounterBufferTest31, AtomicCounterRead)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
// Skipping test while we work on enabling atomic counter buffer support in th D3D renderer. // Skipping test while we work on enabling atomic counter buffer support in th D3D renderer.
// http://anglebug.com/1729 // http://anglebug.com/1729
ANGLE_SKIP_TEST_IF(IsD3D11()); ANGLE_SKIP_TEST_IF(IsD3D11());
...@@ -179,6 +197,9 @@ TEST_P(AtomicCounterBufferTest31, AtomicCounterRead) ...@@ -179,6 +197,9 @@ TEST_P(AtomicCounterBufferTest31, AtomicCounterRead)
// Test atomic counter increment and decrement. // Test atomic counter increment and decrement.
TEST_P(AtomicCounterBufferTest31, AtomicCounterIncrementAndDecrement) TEST_P(AtomicCounterBufferTest31, AtomicCounterIncrementAndDecrement)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
constexpr char kCS[] = constexpr char kCS[] =
"#version 310 es\n" "#version 310 es\n"
"layout(local_size_x=1, local_size_y=1, local_size_z=1) in;\n" "layout(local_size_x=1, local_size_y=1, local_size_z=1) in;\n"
...@@ -220,6 +241,9 @@ TEST_P(AtomicCounterBufferTest31, AtomicCounterIncrementAndDecrement) ...@@ -220,6 +241,9 @@ TEST_P(AtomicCounterBufferTest31, AtomicCounterIncrementAndDecrement)
// Tests multiple atomic counter buffers. // Tests multiple atomic counter buffers.
TEST_P(AtomicCounterBufferTest31, AtomicCounterMultipleBuffers) TEST_P(AtomicCounterBufferTest31, AtomicCounterMultipleBuffers)
{ {
// Causes crashes in the subsequent OpenGL testing of this function. http://anglebug.com/3738
ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
GLint maxAtomicCounterBuffers = 0; GLint maxAtomicCounterBuffers = 0;
glGetIntegerv(GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, &maxAtomicCounterBuffers); glGetIntegerv(GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, &maxAtomicCounterBuffers);
constexpr unsigned int kBufferCount = 3; constexpr unsigned int kBufferCount = 3;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment