Commit 0aff35eb by Xinghua Cao Committed by Commit Bot

OpenGL 4.2 is required when using ARB_compute_shader extension

BUG=angleproject:1702 TESTCASE=angle_end2end_tests Change-Id: I45fe21bc14310b9c873e83004a8ac8766865fbb9 Reviewed-on: https://chromium-review.googlesource.com/428690Reviewed-by: 's avatarYunchao He <yunchao.he@intel.com> Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com> Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
parent e520d7c6
......@@ -661,8 +661,12 @@ void GenerateCaps(const FunctionsGL *functions, gl::Caps *caps, gl::TextureCapsM
LimitVersion(maxSupportedESVersion, gl::Version(3, 0));
}
// OpenGL 4.2 is required for GL_ARB_compute_shader, some platform drivers have the extension,
// but their maximum supported GL versions are less than 4.2. Explicitly limit the minimum
// GL version to 4.2.
if (functions->isAtLeastGL(gl::Version(4, 3)) || functions->isAtLeastGLES(gl::Version(3, 1)) ||
functions->hasGLExtension("GL_ARB_compute_shader"))
(functions->isAtLeastGL(gl::Version(4, 2)) &&
functions->hasGLExtension("GL_ARB_compute_shader")))
{
for (GLuint index = 0u; index < 3u; ++index)
{
......
......@@ -30,12 +30,6 @@ class ComputeShaderTestES3 : public ANGLETest
// link a simple compute program. It should be successful.
TEST_P(ComputeShaderTest, LinkComputeProgram)
{
if (IsIntel() && IsLinux())
{
std::cout << "Test skipped on Intel Linux due to failures." << std::endl;
return;
}
const std::string csSource =
"#version 310 es\n"
"layout(local_size_x=1) in;\n"
......@@ -69,11 +63,6 @@ TEST_P(ComputeShaderTest, LinkComputeProgramNoLocalSizeLinkError)
// make sure that uniforms and uniform samplers get recorded
TEST_P(ComputeShaderTest, LinkComputeProgramWithUniforms)
{
if (IsIntel() && IsLinux())
{
std::cout << "Test skipped on Intel Linux due to failures." << std::endl;
return;
}
const std::string csSource =
"#version 310 es\n"
"precision mediump sampler2D;\n"
......@@ -101,11 +90,6 @@ TEST_P(ComputeShaderTest, LinkComputeProgramWithUniforms)
// OpenGL ES 3.10, 7.3 Program Objects
TEST_P(ComputeShaderTest, AttachMultipleShaders)
{
if (IsIntel() && IsLinux())
{
std::cout << "Test skipped on Intel Linux due to failures." << std::endl;
return;
}
const std::string csSource =
"#version 310 es\n"
"layout(local_size_x=1) in;\n"
......@@ -158,11 +142,6 @@ TEST_P(ComputeShaderTest, AttachMultipleShaders)
// Query for the number of attached shaders and check the count.
TEST_P(ComputeShaderTest, AttachmentCount)
{
if (IsIntel() && IsLinux())
{
std::cout << "Test skipped on Intel Linux due to failures." << std::endl;
return;
}
const std::string csSource =
"#version 310 es\n"
"layout(local_size_x=1) in;\n"
......
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