Search Issue Tracker

Fixed in 2018.2.X

Votes

3

Found in

5.3.2p3

Issue ID

772449

Regression

No

[OSX] D3DCompiler produces incorrect bytecode on Mac (Wodka issue? - need d3dcompiler 10.0.10011.0)

Shaders

-

Repro steps:
1) Open the project and TestShader.shader in it
2) In the frag function notice line 54: "fixed c = 5.0*x*x"
2) Select the TestShader in it and compile for OpenGLCore and OpenGLES30
3) Open the compiled code
4) Notice in the fragment main() of gles3 subshader:
t10_0 = vs_TEXCOORD0.x * vs_TEXCOORD0.x;
SV_Target0.xyz = vec3(t10_0) * vec3 (5.0,5.0,5.0);
5) Scroll down to fragment main() of glcore subshader and notice:
SV_Target0.xyz = vs_TEXCOORD0.xxx * vec3 (25.0,25.0,25.0);

Expected result: OpenGLCore compiler squares variable x and not the number 5

Actual: 5 is squared instead of x

Workaround: Use pow(x,2) or use another variable which will store the square value of x*x

Reproduced in: 5.4.0b7; 5.3.2p4; 5.2.3p3

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.