March 2009 D3DX effect compiler broken
Closed this issue · 3 comments
GoogleCodeExporter commented
The March 2009 HLSL compiler in the DirectX SDK has a serious bug,
described here: http://forums.xna.com/forums/t/27846.aspx
Because SlimDX March 2009 links with this version of D3DX, it's also affected.
You may get an error like the following when creating an effect or
compiling via EffectCompiler:
ID3DXEffectCompiler::CompileEffect: There was an error compiling expression
ID3DXEffectCompiler: Compilation failed
To work around the problem, turn off preshader generation. Note that this
may inflate the GPU instruction count used by your shaders. For FXC.EXE use
the /Op switch, and when compiliing with SlimDX in code, use
ShaderFlags.NoPreshader.
For anyone depending on preshaders and/or instruction count limits this is
a serious issue, and that's WITH the workaround. If you don't know about
the issue it may just break your code.
Is it a big enough problem to warrant an SP2 or April version linking with
the previous D3DX DLL?
Original issue reported on code.google.com by carl.ad...@gmail.com
on 9 Apr 2009 at 11:58
GoogleCodeExporter commented
Also see http://www.gamedev.net/community/forums/topic.asp?topic_id=530979
>> Moving abs calculation outside the shader code worked, thanks a lot!
...
>>The bug is specific to abs
While this is a pretty rough bug, it seems to be fairly direct to workaround
for the
time being, and fairly well contained too. Besides which, our releases are
linked to
the latest SDK, so reverting would be rather inconsistent and confusing.
If this gets to be a problem, I'll consider doing a binaries-only (no
installers)
release built on the Nov SDK with fully signed and configured SlimDX DLLs.
Conveniently the version format for SlimDX takes this into account, so no
threat of
collisions.
Original comment by promit....@gmail.com
on 9 Apr 2009 at 2:45
- Changed state: Accepted
GoogleCodeExporter commented
Thanks for taking a look and keeping it in mind. I actually misread and thought
it
affected more than the abs() intrinsic, but yeah it can definitely bite.
Original comment by carl.ad...@gmail.com
on 11 Apr 2009 at 7:54
GoogleCodeExporter commented
I guess I'll go ahead and close this for the time being.
Original comment by promit....@gmail.com
on 17 Apr 2009 at 4:42
- Changed state: WontFix