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

build: Update to header 1.3.295 #231

Merged
merged 2 commits into from
Sep 2, 2024
Merged

build: Update to header 1.3.295 #231

merged 2 commits into from
Sep 2, 2024

Conversation

mikes-lunarg
Copy link
Contributor

No description provided.

Copy link
Collaborator

@charles-lunarg charles-lunarg left a comment

Choose a reason for hiding this comment

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

Seems like the code gen removed a bunch of structs from the safe structs.

Comment on lines 63 to 68
case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO:
safe_pNext = new safe_VkComputePipelineCreateInfo(reinterpret_cast<const VkComputePipelineCreateInfo *>(pNext), copy_state, false);
break;
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO:
safe_pNext = new safe_VkGraphicsPipelineCreateInfo(reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(pNext), copy_state, false);
break;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why are these removed?

Comment on lines 940 to 942
case VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX:
safe_pNext = new safe_VkExecutionGraphPipelineCreateInfoAMDX(reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>(pNext), copy_state, false);
break;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also this.

Comment on lines -1010 to -1012
case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV:
safe_pNext = new safe_VkRayTracingPipelineCreateInfoNV(reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(pNext), copy_state, false);
break;
Copy link
Collaborator

Choose a reason for hiding this comment

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

And this.

Comment on lines 1861 to 1863
case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR:
safe_pNext = new safe_VkRayTracingPipelineCreateInfoKHR(reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(pNext), copy_state, false);
break;
Copy link
Collaborator

Choose a reason for hiding this comment

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

This too.

Comment on lines 1928 to 1933
case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO:
delete reinterpret_cast<safe_VkComputePipelineCreateInfo *>(header);
break;
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO:
delete reinterpret_cast<safe_VkGraphicsPipelineCreateInfo *>(header);
break;
Copy link
Collaborator

Choose a reason for hiding this comment

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

As well as this - And I'm getting tired of commenting on each change so I wont.

@mikes-lunarg
Copy link
Contributor Author

Seems like the code gen removed a bunch of structs from the safe structs.

It is a bit odd, I'm looking at it now. When safe struct was part of VVL I know it only made deep copies for structs with embedded handle ids that needed to be remapped. If the header update changed the "structextends" dependency tree to remove some possible pNext structs with handles, that might have caused the codegen to no longer care about them.

Copy link
Collaborator

@charles-lunarg charles-lunarg left a comment

Choose a reason for hiding this comment

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

I'll go ahead and approve so you can move forward with the header update. Seems that something in the xml changed, and while it may not be a big deal it definitely was something unexpected.

Pipeline create info structs can appear in the VkPipelineCreatInfoKHR
pNext chain even though they don't extend that structure in the
traditional sense.
@mikes-lunarg
Copy link
Contributor Author

@charles-lunarg Turns out this was a good catch!

The reason those were removed was because the various pipeline create info structs no longer "structextend" VkPipelineCreateInfoKHR in the xml. It turns out that they don't behave like true extension structs and the adding them as such screws up other parts of the spec build (like determining the base struct of pNext chain)

but...

Since they are still valid in the pNext chain, I added a manual workaround to include them back

@charles-lunarg
Copy link
Collaborator

Sounds like we understand the root cause then! I already reviewed it so I can't approve it again. So consider this a second approval

@mikes-lunarg mikes-lunarg merged commit fbb4db9 into main Sep 2, 2024
35 checks passed
@mikes-lunarg mikes-lunarg deleted the __release-1.3.295 branch September 2, 2024 18:53
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.

2 participants