-
Notifications
You must be signed in to change notification settings - Fork 124
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
Vulkan Codegen Next Tranche #1944
Open
jzulauf-lunarg
wants to merge
23
commits into
LunarG:dev
Choose a base branch
from
jzulauf-lunarg:zulauf-vulkan-codegen-checkpoint-3
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Vulkan Codegen Next Tranche #1944
jzulauf-lunarg
wants to merge
23
commits into
LunarG:dev
from
jzulauf-lunarg:zulauf-vulkan-codegen-checkpoint-3
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Generate the Vulkan struct encoders at endFile time instead of generate_feature time.
Move the generation of Vulkan referenced resource consumer content from generate_feature to endFile time.
Move the Vulkan JSON consumer generation from generate_feature to endFile time.
Migrate the generation of content for the replay dump resource header from generate_feature to endFile time.
Generate the codegen content for struct handle mapping from generate_feature to endFile time.
Migrate the generation of Khronos and Vulkan struct decoder body generation from generate_feature to endFile time.
Update the generation of consumer replay body content from generate_feature to endFile time.
Move the consumer header (which also affected JSON consumer header) codgen to generate at endFile time instead of generate_feature
Update the Vulkan struct decoder header generation to be endFile time and not generate-feature. ** Warning ** It does re-arrange function definitions in the header, but they are all present still. *************
Generate Vulkan struct decoders forward header at endFile time. ** WARNING: ** This re-arranged items in the file because it would alternate structs with functions and now all the structs are listed before all the functions. I have walked the changes, and only the order of items has changed. **************
Update the Vulkan enum to string header generation to be endFile time and not generate-feature. ** Warning ** It does re-arrange function definitions in the header, but they are all present still. *************
Update the Vulkan enum to string body generation to be endFile time and not generate-feature. ** Warning ** It does re-arrange function definitions in the header, but they are all present still. *************
This change modifies how the extension structs are stored to be more obvious. Previously, the extension structs were stored by the struct that did the extending. Instead, switch to storing the extended structs based on the parent that is extended. This resulted in order changes in output of the various pNext structs so sort them so they will no longer change in order. ** Warning ** It does re-arrange items in the file, but they are all still present. *************
The pnext_struct files were not indicating that they were for Vulkan. They are, and so rename them.
Update the extended struct updating when handles are in play. This recurses up the tree to make sure we don't miss any structures which have struct members which have struct members which have handles.
Start using global_structs_with_handles instead of using a local version.
Update the Vulkan struct handle wrapping codegen to use the khronos base variables for struct handle tracking. ** Warning ** It does re-arrange items in the file, but they are all still present. *************
Add support for detecting handle pointers in structures and tracking those in the Khronos base classes.
Migrate the codegen for structure handle mappers header to use the new khronos variables and move functionality from Vulkan into the Khronos generic versions.
Migrate the struct handle mapper body generation code to use the Khronos structs_with_handles types and to have not dependency on the Vulkan calling code.
Migrate the replay consumer code gen to use the Khronos types and not internal types.
jzulauf-lunarg
requested review from
MarkY-LunarG,
bradgrantham-lunarg,
davidd-lunarg and
fabian-lunarg
January 8, 2025 02:40
CI gfxreconstruct build queued with queue ID 339791. |
CI gfxreconstruct build # 5714 running. |
CI gfxreconstruct build # 5714 passed. |
fabian-lunarg
approved these changes
Jan 9, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These changes do change the output of the code generation, how all output seems to be simply reordered, but present.
The first half of the changes move various processing to endFile time, the second half change struct/handle/wrapper generation