ES31: Implement glDispatchCompute for D3D backend
BUG=angleproject:1955
TESTCASE=angle_end2end_tests
Change-Id: I69b4df83d67017d39df67753d6d17fc15ececebf
Reviewed-on: https://chromium-review.googlesource.com/462067
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/OutputHLSL.cpp b/src/compiler/translator/OutputHLSL.cpp
index 695a4d0..0ee29eb 100644
--- a/src/compiler/translator/OutputHLSL.cpp
+++ b/src/compiler/translator/OutputHLSL.cpp
@@ -639,13 +639,16 @@
else // Compute shader
{
ASSERT(mShaderType == GL_COMPUTE_SHADER);
+
+ out << "cbuffer DriverConstants : register(b1)\n"
+ "{\n";
if (mUsesNumWorkGroups)
{
- out << "cbuffer DriverConstants : register(b1)\n"
- "{\n";
out << " uint3 gl_NumWorkGroups : packoffset(c0);\n";
- out << "};\n";
}
+ ASSERT(mOutputType == SH_HLSL_4_1_OUTPUT);
+ mUniformHLSL->samplerMetadataUniforms(out, "c1");
+ out << "};\n";
// Follow built-in variables would be initialized in
// DynamicHLSL::generateComputeShaderLinkHLSL, if they