Fix compile error in iterating ShaderBitSet
This patch fixes a compile error when we do iteration on ShaderBitSet.
Now we can directly get a ShaderType variable in a range-for iteration
on a ShaderBitSet.
BUG=angleproject:2169
Change-Id: I23e38f2ebd1c72145a2e54be374f7dcd9f5fb9e2
Reviewed-on: https://chromium-review.googlesource.com/1100312
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index 26c6d5d..96e075f 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -1695,11 +1695,10 @@
continue;
}
- for (gl::ShaderType shaderType : gl::AllShaderTypes())
+ for (gl::ShaderType shaderType : availableShaderStages)
{
if (d3dUniform->isReferencedByShader(shaderType))
{
- ASSERT(availableShaderStages[shaderType]);
shaderRegisters[shaderType] = std::max(
shaderRegisters[shaderType],
d3dUniform->mShaderRegisterIndexes[shaderType] + d3dUniform->registerCount);
@@ -1709,13 +1708,10 @@
// We only reset uniform storages for the shader stages available in the program (attached
// shaders in ProgramD3D::link() and linkedShaderStages in ProgramD3D::load()).
- for (gl::ShaderType shaderType : gl::AllShaderTypes())
+ for (gl::ShaderType shaderType : availableShaderStages)
{
- if (availableShaderStages[shaderType])
- {
- mShaderUniformStorages[shaderType].reset(
- mRenderer->createUniformStorage(shaderRegisters[shaderType] * 16u));
- }
+ mShaderUniformStorages[shaderType].reset(
+ mRenderer->createUniformStorage(shaderRegisters[shaderType] * 16u));
}
// Iterate the uniforms again to assign data pointers to default block uniforms.
@@ -1727,7 +1723,7 @@
continue;
}
- for (gl::ShaderType shaderType : gl::AllShaderTypes())
+ for (gl::ShaderType shaderType : availableShaderStages)
{
if (d3dUniform->isReferencedByShader(shaderType))
{