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

Cherry-Pick: PIX: Rationalize UAV generation (#6883) #6897

Merged
merged 1 commit into from
Sep 5, 2024

Conversation

jeffnn
Copy link
Collaborator

@jeffnn jeffnn commented Sep 4, 2024

The impetus for these changes was unexplained crashes in a display driver while attempting to create a debug-instrumented shader for PIX. The heart of it is the new test in pixtest.cpp: use the compiler to generate a raw UAV, and then compare the generated DXIL with what PIX generates for the same purpose.
Some of the PIX passes need only one UAV for a module, but some need two or more. In the latter case, the previous code was a bit loose about what it was doing with respect to adding the UAV resource, and creating its handles for each interested function. Most of the actual changes herein are to do with that.
Lastly, the PIX UAV is raw at the D3D API level, but the instrumentation had been doing non-raw writes. No driver seemed to care, but I've fixed it anyway.

(cherry picked from commit bf24b7a)

The impetus for these changes was unexplained crashes in a display
driver while attempting to create a debug-instrumented shader for PIX.
The heart of it is the new test in pixtest.cpp: use the compiler to
generate a raw UAV, and then compare the generated DXIL with what PIX
generates for the same purpose.
Some of the PIX passes need only one UAV for a module, but some need two
or more. In the latter case, the previous code was a bit loose about
what it was doing with respect to adding the UAV resource, and creating
its handles for each interested function. Most of the actual changes
herein are to do with that.
Lastly, the PIX UAV is raw at the D3D API level, but the instrumentation
had been doing non-raw writes. No driver seemed to care, but I've fixed
it anyway.

(cherry picked from commit bf24b7a)
@jeffnn jeffnn self-assigned this Sep 4, 2024
@jeffnn jeffnn requested a review from a team as a code owner September 4, 2024 23:00
Copy link
Member

@damyanp damyanp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jeffnn confirmed offline that this has been tested against PIX.

Approved for checking in to the release branch.

@jeffnn jeffnn merged commit cf285db into microsoft:release-1.8.2407 Sep 5, 2024
13 checks passed
@jeffnn jeffnn deleted the PIX_CP_UAV2 branch September 5, 2024 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants