Commit 971f8508 by Xinghua Cao Committed by Geoff Lang

Implement get compute work group size for glGetProgramiv

BUG=angleproject:2187 TEST=dEQP-GLES31.functional.state_query.program.compute_work_group_size_get_programiv Change-Id: Ic09153ffccfb207e37ad70cf7e14714be987e7e1 Reviewed-on: https://chromium-review.googlesource.com/722178Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 55bde916
......@@ -541,6 +541,10 @@ class Program final : angle::NonCopyable, public LabeledObject
}
const std::vector<ImageBinding> &getImageBindings() const { return mState.mImageBindings; }
const sh::WorkGroupSize &getComputeShaderLocalSize() const
{
return mState.mComputeShaderLocalSize;
}
const ProgramState &getState() const { return mState; }
......
......@@ -853,6 +853,14 @@ void QueryProgramiv(const Context *context, const Program *program, GLenum pname
case GL_PROGRAM_SEPARABLE:
*params = program->isSeparable();
break;
case GL_COMPUTE_WORK_GROUP_SIZE:
{
const sh::WorkGroupSize &localSize = program->getComputeShaderLocalSize();
params[0] = localSize[0];
params[1] = localSize[1];
params[2] = localSize[2];
}
break;
default:
UNREACHABLE();
break;
......
......@@ -4151,6 +4151,7 @@ bool ValidateGetProgramivBase(ValidationContext *context,
break;
case GL_PROGRAM_SEPARABLE:
case GL_COMPUTE_WORK_GROUP_SIZE:
if (context->getClientVersion() < Version(3, 1))
{
ANGLE_VALIDATION_ERR(context, InvalidEnum(), ES31Required);
......
......@@ -64,6 +64,7 @@
1951 D3D11 : dEQP-GLES31.functional.state_query.indexed.shader_storage_buffer_* = FAIL
1442 D3D11 : dEQP-GLES31.functional.state_query.internal_format.renderbuffer.* = FAIL
1679 D3D11 : dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample.* = FAIL
1442 D3D11 : dEQP-GLES31.functional.state_query.program.compute_work_group_size_get_programiv = FAIL
1442 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture.texparameter* = SKIP
1442 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.texparameter* = SKIP
1442 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.log.texture.texparameter* = SKIP
......@@ -1253,7 +1254,6 @@
1442 OPENGL D3D11 : dEQP-GLES31.functional.state_query.internal_format.partial_query.num_sample_counts = FAIL
1442 OPENGL D3D11 : dEQP-GLES31.functional.state_query.internal_format.partial_query.samples = FAIL
1442 OPENGL D3D11 : dEQP-GLES31.functional.state_query.program.program_separable_get_programiv = FAIL
1442 OPENGL D3D11 : dEQP-GLES31.functional.state_query.program.compute_work_group_size_get_programiv = FAIL
1442 OPENGL D3D11 : dEQP-GLES31.functional.state_query.program.active_atomic_counter_buffers_get_programiv = FAIL
1442 OPENGL D3D11 : dEQP-GLES31.functional.state_query.program_pipeline.* = FAIL
1442 OPENGL D3D11 : dEQP-GLES31.functional.synchronization.* = FAIL
......
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