Commit d4d5084b by Austin Kinross Committed by Jamie Madill

Fix "blob content mismatch between level9 and d3d10 shader" errors on 9_3

Fixes these dEQP failures on 9_3: + dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_vertex + dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_fragment Change-Id: I3e3b3552fe842c8a3c04363bf966c121e40dd9dc Reviewed-on: https://chromium-review.googlesource.com/304489Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by: 's avatarAustin Kinross <aukinros@microsoft.com>
parent adff67b5
......@@ -3152,6 +3152,15 @@ gl::Error Renderer11::compileToExecutable(gl::InfoLog &infoLog, const std::strin
configs.push_back(CompileConfig(flags | D3DCOMPILE_SKIP_VALIDATION, "skip validation" ));
configs.push_back(CompileConfig(flags | D3DCOMPILE_SKIP_OPTIMIZATION, "skip optimization"));
if (getMajorShaderModel() == 4 && getShaderModelSuffix() != "")
{
// Some shaders might cause a "blob content mismatch between level9 and d3d10 shader".
// e.g. dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_*.
// Using the [unroll] directive works around this, as does this D3DCompile flag.
configs.push_back(
CompileConfig(flags | D3DCOMPILE_AVOID_FLOW_CONTROL, "avoid flow control"));
}
D3D_SHADER_MACRO loopMacros[] = { {"ANGLE_ENABLE_LOOP_FLATTEN", "1"}, {0, 0} };
ID3DBlob *binary = NULL;
......
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