Check GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS in test
If the vertex shader uses shader storage buffer objects,
we need to check GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
is at least of size 1.
Bug: angleproject:7185
Change-Id: I98d83f9f0cc30e92fdcaee15541fdde96652b38e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3858144
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
diff --git a/src/tests/angle_end2end_tests_expectations.txt b/src/tests/angle_end2end_tests_expectations.txt
index 61c29c6..bb20605 100644
--- a/src/tests/angle_end2end_tests_expectations.txt
+++ b/src/tests/angle_end2end_tests_expectations.txt
@@ -543,7 +543,6 @@
7583 PIXEL6 VULKAN : GLSLTest_ES31.ShaderCacheGeometryWithSSBO/* = SKIP
7583 PIXEL6 VULKAN : GLSLTest_ES31.ShaderCacheTessellationControlWithSSBO/* = SKIP
7583 PIXEL6 VULKAN : GLSLTest_ES31.ShaderCacheTessellationEvalWithSSBO/* = SKIP
-7583 PIXEL6 VULKAN : GLSLTest_ES31.ShaderCacheVertexWithSSBO/* = SKIP
7583 PIXEL6 VULKAN : VulkanPerformanceCounterTest.DepthStencilInvalidate/* = SKIP
7583 PIXEL6 VULKAN : VulkanPerformanceCounterTest.DepthStencilInvalidateAndClear/* = SKIP
7583 PIXEL6 VULKAN : VulkanPerformanceCounterTest.DepthStencilInvalidateDetachModifyTexAttachDrawWithBlend/* = SKIP
diff --git a/src/tests/gl_tests/GLSLTest.cpp b/src/tests/gl_tests/GLSLTest.cpp
index 95e8db9..dfc8e8d 100644
--- a/src/tests/gl_tests/GLSLTest.cpp
+++ b/src/tests/gl_tests/GLSLTest.cpp
@@ -13,7 +13,6 @@
namespace
{
-
class GLSLTest : public ANGLETest<>
{
protected:
@@ -16249,6 +16248,11 @@
TEST_P(GLSLTest_ES31, ShaderCacheVertexWithSSBO)
{
ANGLE_SKIP_TEST_IF(!IsVulkan());
+
+ // Check that GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS is at least 1.
+ GLint maxVertexShaderStorageBlocks;
+ glGetIntegerv(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, &maxVertexShaderStorageBlocks);
+ ANGLE_SKIP_TEST_IF(maxVertexShaderStorageBlocks == 0);
constexpr char kVS[] = R"(#version 310 es
precision mediump float;