Skip to content

Conversation

@marius-pelegrin-arm
Copy link
Contributor

VkPipelineCreateInfoKHR is a particular structure as it can take any kind of PipelineCreateInfo in its pNext chain, in addition to being required to have a non-null pNext member.

This was not correctly handled by the generated code because Vk*PipelineCreateInfo structures don't have the structextends flag set in the Vulkan registry. This commit aims at fixing that by blacklisting this structure and writing the encoder/decoders manually.

Ideally, this should be solved in the codegen by not considering only structs with the structextends flag as possible encounters in a pNext chain

@marius-pelegrin-arm marius-pelegrin-arm requested a review from a team as a code owner January 27, 2026 12:19
`VkPipelineCreateInfoKHR` is a particular structure as it can
take any kind of `PipelineCreateInfo` in its `pNext` chain,
in addition to being required to have a non-null `pNext` member.

This was not correctly handled by the generated code, this commit
aims at fixing the situation.

Change-Id: Ie363804058867af5ff57ee32b062001c73f6368a
@marius-pelegrin-arm marius-pelegrin-arm force-pushed the support-khr-pipeline-binary branch from 23ba2a6 to 4ad1a79 Compare January 27, 2026 12:34
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 633685.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8717 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8717 passed.

SetStructArrayHandleLengths<Decoded_VkPipelineBinaryHandlesInfoKHR>(pBinaries->GetMetaStructPointer(), pBinaries->GetLength());
VkPipelineBinaryHandlesInfoKHR* out_pBinaries = pBinaries->IsNull() ? nullptr : pBinaries->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR, nullptr });
SetStructHandleLengths(pBinaries->GetMetaStructPointer());
pBinaries->IsNull() ? nullptr : pBinaries->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR, nullptr });
Copy link
Contributor

Choose a reason for hiding this comment

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

What are you setting to nullptr here? I think there's some code missing. (Same for 6507 below).

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.

3 participants