mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Add manual emulation of IsHelperLane() on SM <6.6
* The default dxc emulation does not work when running in MSAA as our shader runs at sample rate and SV_Coverage can be non-zero even for helper lanes.
This commit is contained in:
@@ -964,7 +964,13 @@ void ExtractInputs(Inputs IN
|
||||
|
||||
quadLaneIndex = (2u * (uint(debug_pixelPos.y) & 1u)) + (uint(debug_pixelPos.x) & 1u);
|
||||
derivValid = ddx(debug_pixelPos.x);
|
||||
|
||||
#if __SHADER_TARGET_MINOR >= 6
|
||||
// IsHelperLane() can fail when software emulated on MSAA, because it checks SV_Coverage != 0
|
||||
isHelper = IsHelperLane() ? 1 : 0;
|
||||
#else
|
||||
isHelper = (coverage & (1u << sample)) == 0;
|
||||
#endif
|
||||
|
||||
helperBallot = WaveActiveBallot(isHelper != 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user