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
// Test GL_ATOMIC_COUNTER_BUFFER is not supported with version lower than ES31.
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());
GLBuffer atomicCounterBuffer;
glBindBufferBase(GL_ATOMIC_COUNTER_BUFFER, 0, atomicCounterBuffer.get());
......@@ -51,6 +54,9 @@ class AtomicCounterBufferTest31 : public AtomicCounterBufferTest
// Linking should fail if counters in vertex shader exceed gl_MaxVertexAtomicCounters.
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[] =
"#version 310 es\n"
"layout(binding = 0) uniform atomic_uint foo[gl_MaxVertexAtomicCounters + 1];\n"
......@@ -72,6 +78,9 @@ TEST_P(AtomicCounterBufferTest31, ExceedMaxVertexAtomicCounters)
// GLSL ES Spec 3.10.4, section 9.2.1.
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[] =
"#version 310 es\n"
"layout(binding = 0, offset = 4) uniform atomic_uint foo;\n"
......@@ -94,6 +103,9 @@ TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecified)
// value.
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[] =
"#version 310 es\n"
"layout(binding = 0, offset = 4) uniform atomic_uint foo;\n"
......@@ -115,6 +127,9 @@ TEST_P(AtomicCounterBufferTest31, OffsetNotAllSpecifiedWithSameValue)
// Tests atomic counter reads using compute shaders. Used as a sanity check for the translator.
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.
// http://anglebug.com/2925
ANGLE_SKIP_TEST_IF(IsAndroid() && IsAdreno() && IsOpenGLES());
......@@ -143,6 +158,9 @@ void main()
// Test atomic counter read.
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.
// http://anglebug.com/1729
ANGLE_SKIP_TEST_IF(IsD3D11());
......@@ -179,6 +197,9 @@ TEST_P(AtomicCounterBufferTest31, AtomicCounterRead)
// Test atomic counter increment and decrement.
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[] =
"#version 310 es\n"
"layout(local_size_x=1, local_size_y=1, local_size_z=1) in;\n"
......@@ -220,6 +241,9 @@ TEST_P(AtomicCounterBufferTest31, AtomicCounterIncrementAndDecrement)
// Tests multiple atomic counter buffers.
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;
glGetIntegerv(GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, &maxAtomicCounterBuffers);
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