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

Extra container data lost when running IDxcOptimizer on bitcode from final DxilContainer #4874

Closed
tex3d opened this issue Dec 13, 2022 · 0 comments · Fixed by #4845
Closed
Assignees
Labels
bug Bug, regression, crash

Comments

@tex3d
Copy link
Contributor

tex3d commented Dec 13, 2022

If one wants to use IDxcOptimizer to run passes on a DxilModule that has been serialized to a container, there are various pieces of data that have been stripped from the module and placed into other container parts which cannot be restored without a more painful manual process.

If IDxcOptimizer could accept a DxilContainer, rather than only module bitcode, it could restore data from the parts to the module, allowing that data to survive the optimization pipeline. When that module is serialized back to a DxilContainer, it will have the data to place into the various parts again.

Lost data that could be restored to the module includes:

  • Subobjects from RDAT
  • RootSignature from RTS0
  • ViewID and I/O dependency data from PSV0
  • Resource names and types/annotations from STAT

As it turns out, this is just what's needed by PIX, especially for preserving the subobject data from RDAT.

@tex3d tex3d added the bug Bug, regression, crash label Dec 13, 2022
@tex3d tex3d self-assigned this Dec 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug, regression, crash
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant