Visual artifacts may occur when running some tessellation shaders compiled with the June 2010 HLSL compiler.


Visual artifacts or “cracking” may occur when running hull shaders compiled with the June 2010 HLSL compiler.  The compiler may incorrectly parallelize segments of processed shader code, resulting in incorrect code generation.  This problem occurs when one component of a processed shader expression in a hull shader is determined to be parallelizable, but another part is not.

·         When this problem occurs, you do not receive an error message.
·         Because this problem occurs during an internal optimization step, it is not possible to reliably avoid this problem by modifying your HLSL code.


To resolve this problem, add the following code to the beginning of the hull shader that is experiencing this problem:

#if D3DX_VERSION == 0xa2b
#pragma ruledisable 0x0802405f

·         This resolution is specific to the HLSL compiler that ships with the June 2010 release of the DirectX SDK (D3DCompiler_43.DLL).  Compiling this code with other versions of the compiler, or modifying the code in any way, may result in undefined behavior.
·         This resolution disables a specific parallelization step during compilation.  As a result, some hull shaders may exhibit decreased performance.
·         This problem will be addressed in a future release of the HLSL compiler.

More Information

The June 2010 HLSL compiler is included in the DirectX SDK (June 2010) release. See the DirectX Developer Center for more information.