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

PIX: Make shader access tracking pass return whether or not it modified anything #7010

Merged
merged 4 commits into from
Nov 21, 2024

Conversation

jeffnn
Copy link
Collaborator

@jeffnn jeffnn commented Nov 14, 2024

The SAT pass will now report a string when it finds that no resource access was performed by a module.

This solves two issues.
-The SAT pass, when operating on a shader that has no resource access, will add a resource declaration for the PIX output UAV. This becomes a problem for PIX in terms of juggling root signatures and/or root parameters.
-SAT is a notoriously time-consuming operation in PIX, so if the SAT pass can report that its results do not need to be re-packaged into a new container for passing to the d3d API, then PIX can avoid the overhead of doing so.

But of course we need to be careful that the SAT pass doesn't erroneously report that it didn't modify the module when in fact it did, cuz then PIX would fail to notice some dynamic resource accesses. That's what the tests are for.

@jeffnn jeffnn self-assigned this Nov 14, 2024
@jeffnn jeffnn requested a review from a team as a code owner November 14, 2024 18:53
@jeffnn jeffnn merged commit 848b7c4 into microsoft:main Nov 21, 2024
12 checks passed
@jeffnn jeffnn deleted the PIX_ReportNoSATChanges branch November 21, 2024 16:48
jeffnn added a commit to jeffnn/DirectXShaderCompiler that referenced this pull request Dec 5, 2024
…ed anything (microsoft#7010)

The SAT pass will now report a string when it finds that no resource
access was performed by a module.

This solves two issues.
-The SAT pass, when operating on a shader that has no resource access,
will add a resource declaration for the PIX output UAV. This becomes a
problem for PIX in terms of juggling root signatures and/or root
parameters.
-SAT is a notoriously time-consuming operation in PIX, so if the SAT
pass can report that its results do not need to be re-packaged into a
new container for passing to the d3d API, then PIX can avoid the
overhead of doing so.

But of course we need to be careful that the SAT pass doesn't
erroneously report that it didn't modify the module when in fact it did,
cuz then PIX would fail to notice some dynamic resource accesses. That's
what the tests are for.

(cherry picked from commit 848b7c4)
jeffnn added a commit that referenced this pull request Dec 5, 2024
…ion status) (#7027)

Original PRs:
#6990
(cherry picked from commit
a03a77f)

#7010
(cherry picked from commit
848b7c4)
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