SlimDX/slimdx

March 2009 D3DX effect compiler broken

Closed this issue · 3 comments

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

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
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

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