Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

d3d11 please remove the false dependency on UAV-related data if possible #25

Open
TrianglesPCT opened this issue Sep 30, 2018 · 2 comments

Comments

@TrianglesPCT
Copy link

TrianglesPCT commented Sep 30, 2018

All of the shader intrinsics seem to artificially depend on UAV-related data.

It doesn't really make any sense at all why min3 would be reading a UAV...

This prevents using the ddx/ddy instructions on anything that previously used any intrinsics, as it generates a silly error(x3662) based on this false UAV dependency.

I guess the UAV is used some sort of marker. Is there not some other way of doing this that wouldn't break so much stuff?

Thanks

@gareththomasamd
Copy link
Contributor

Hi,

The atomic op on the UAV is our mechanism for telling the shader compiler to insert the instructions into the shader code. The final ISA doesn't actually reference the UAV.

The ddx/ddy issue is an unfortunate side effect. We'll look into ways to get around this.

Which instructions do you need? min3 and max3 have been removed from the intrinsics in the latest AGS version because our shader compiler inserts them automatically now.

cheers,
Gareth.

@TrianglesPCT
Copy link
Author

Hi Gareth,

The most important instructions for me are:

  1. barycentrics (AmdDxExtShaderIntrinsics_IjBarycentricCoords)
  2. dynamic vertex pull (AmdDxExtShaderIntrinsics_VertexParameterComponent).

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants