Search Issue Tracker
By Design
Votes
0
Found in
5.5.0b10
Issue ID
848748
Regression
Yes
Domain shader receives incorrect coordinates from SV_POSITION on NVIDIA GPUs
This is caused by the upgraded d3dcompiler.dll from the hololens branch. I'll email NVidia with details but so far this is a regression that breaks tessellation on NVidias. Assigning to Mircea.
Details: The new D3DCompiler produces different semantics for hull shader position outputs, and NVidia drivers do not seem to like that:
Old DLL:
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyzw
New DLL:
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xyzw
Reproduction steps:
1. Open the "bug.zip" project
2. Open the "GrassShowcase" scene
-Observe that all of the grass is rendered at origin(0,0,0)
Note: The Domain shader can be found in "GrassTessellation.cginc" file at line 110
Note: Grass is rendered correctly on Intel and AMD GPUs
Reproduced on: 5.6.0a1, 5.5.0b10, 5.5.0b9
Not reproducible on: 5.5.0b8 , 5.5.0b7, 5.4.2f1
Regresion introduced in 5.5.0b9
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Add comment