You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Getting the following warning which I think it's incorrect warning: Gradient operations are not affected by wave-sensitive data or control flow. [-Winline-asm]
Steps to Reproduce
Following was built with -T ps_6_6 -E PSMain
struct PSInput
{
nointerpolation int dynamicallyUniformIndex : IDX; // Same value for the whole drawcall
float2 uv : UV;
};
Texture2D texes[100];
SamplerState sam;
float4 PSMain(PSInput input) : SV_Target0
{
int idx = WaveReadLaneFirst(input.dynamicallyUniformIndex); // Scalarize
float4 val = texes[idx].Sample(sam, input.uv);
return val;
}
Actual Behavior
The idx is used to select a texture and it shouldn't affect the gradients. I don't think the warning is correct.
Environment
DXC version: DXC trunk & 1.8.2403
Host Operating System: Any
The text was updated successfully, but these errors were encountered:
You are indeed correct that the UV is the same, ergo the derivatives should be too, also that a shading quad needs to have the same subgroup.
However, due to HLSL's syntax, you have a reference to a texture constructed first, and then the Sample is the method. So it might be quite difficult to make the compiler catch up on what you're doing and thats its safe here.
Description
Getting the following warning which I think it's incorrect
warning: Gradient operations are not affected by wave-sensitive data or control flow. [-Winline-asm]
Steps to Reproduce
Following was built with
-T ps_6_6 -E PSMain
Actual Behavior
The idx is used to select a texture and it shouldn't affect the gradients. I don't think the warning is correct.
Environment
The text was updated successfully, but these errors were encountered: