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 of PIX and HLK changes for the 2212 release #4891

Merged
merged 7 commits into from
Dec 16, 2022

Conversation

hekota
Copy link
Member

@hekota hekota commented Dec 16, 2022

Changes for PIX:

HLK Test Updates:

jeffnn and others added 7 commits December 16, 2022 12:07
…soft#4876)

PIX is unique in that it needs to deserialize, modify and then reserialize root sigs. The focus of this checkin is adding such modifications to PixPassHelpers.cpp. (This closes a gap in PIX support: PIX can now support shaders that use dxil-defined and attribute-style root signatures.)

But this required some work outside of the purely PIX-focused areas. Deserialized root sigs are described by a C-like structure with embedded arrays that are new/delete-ed by routines in DxilRootSignature.cpp. Since modifying these structs requires more new/delete calls, I chose to add a new entry point in DxilRootSignature.cpp to do the bare minimum that PIX needs: extend root params by one descriptor. This approach keeps all those raw new/deletes in one file.

I found a leak in DxilRootSignatureSerialzier.cpp, which I fixed. There appear to be no unit tests that exercise this path. I welcome feedback on adding one.

There were other leaks in class CVersionedRootSignatureDeserializer, but this class is unused so I deleted it.

Oh, and there are bazillions of commits because I was cherry-picking from a recent change (microsoft#4845) as it eveolved, since I needed that change and this to test PIX.

(cherry picked from commit 20bb3d0)
…osoft#4845)

This modifies IDxcOptimizer::RunOptimizier to accept full DxilContainer input. When full container input is used, this restores some data that is stripped from the module and placed in various other container parts.

Data restored:
  - Subobjects from RDAT
  - RootSignature from RTS0
  - ViewID and I/O dependency data from PSV0
  - Resource names and types/annotations from STAT

Serialization of these to metadata in module bitcode output still requires hlsl-dxilemit step.

(cherry picked from commit 2c3d965)
…osoft#4635)

* add barycentrics ordering check onto existing barycentrics test, with extra shader

(cherry picked from commit ee0994e)
…oft#4855)

Custom half <-> float conversion functions had problems in multiple scenarios.  This PR changes them into a wrapper, using the DirectXMath conversion functions instead.

(cherry picked from commit 6acd11b)
…ft#4884)

TestConfig.h is not available in HLK test build.
This change enables skipping of the include.

(cherry picked from commit e7aac8e)
TestConfig.h is not available in HLK test build.
The test library uses _HLK_CONF define to distinguish
between Exec tests-only and HLK-only code.

(cherry picked from commit 5decc4a)
@hekota hekota disabled auto-merge December 16, 2022 21:25
@hekota hekota merged commit 8c9d92b into microsoft:release-1.7.2212 Dec 16, 2022
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

Successfully merging this pull request may close these issues.

5 participants