ES31: Add struct uniform block support in compute shader for D3D
BUG=angleproject:2577
TEST=angle_end2end_tests
Change-Id: I4d84a10508458444d559013e658ae88cd2923f91
Reviewed-on: https://chromium-review.googlesource.com/1069989
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/compiler/translator/OutputHLSL.cpp b/src/compiler/translator/OutputHLSL.cpp
index 117af80..7bdb2c9 100644
--- a/src/compiler/translator/OutputHLSL.cpp
+++ b/src/compiler/translator/OutputHLSL.cpp
@@ -626,14 +626,6 @@
"\n";
}
- if (!mappedStructs.empty())
- {
- out << "// Structures from std140 blocks with padding removed\n";
- out << "\n";
- out << mappedStructs;
- out << "\n";
- }
-
if (usingMRTExtension && mNumRenderTargets > 1)
{
out << "#define GL_USES_MRT\n";
@@ -738,14 +730,6 @@
"dx_DepthRange.y, dx_DepthRange.z};\n"
"\n";
}
-
- if (!mappedStructs.empty())
- {
- out << "// Structures from std140 blocks with padding removed\n";
- out << "\n";
- out << mappedStructs;
- out << "\n";
- }
}
else // Compute shader
{
@@ -785,6 +769,14 @@
}
}
+ if (!mappedStructs.empty())
+ {
+ out << "// Structures from std140 blocks with padding removed\n";
+ out << "\n";
+ out << mappedStructs;
+ out << "\n";
+ }
+
bool getDimensionsIgnoresBaseLevel =
(mCompileOptions & SH_HLSL_GET_DIMENSIONS_IGNORES_BASE_LEVEL) != 0;
mTextureFunctionHLSL->textureFunctionHeader(out, mOutputType, getDimensionsIgnoresBaseLevel);