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

Add support for VK_EXT_inline_uniform_block #1504

Conversation

fabian-lunarg
Copy link
Contributor

@fabian-lunarg fabian-lunarg commented Apr 22, 2024

overall a low-hanging fruit, adding into existing infrastructure:

  • tracking of a binary blob inline_uniform_block in DescriptorInfo
  • add-hoc (re-)creation of associated pNext-structure for VkWriteDescriptorSet
  • adapt places skipping over the feature or labeling it unsupported
  • gfxrecon-convert: remove a warning about the feature being unsupported

tested successfully with a capture/replay of Sascha's corresponding sample:
https://github.com/SaschaWillems/Vulkan/blob/master/examples/inlineuniformblocks/inlineuniformblocks.cpp

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 171358.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4030 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 171370.

@fabian-lunarg fabian-lunarg changed the title add support for VK_EXT_inline_uniform_block Add support for VK_EXT_inline_uniform_block Apr 22, 2024
@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4031 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4031 failed.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 171406.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4032 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4032 passed.

@fabian-lunarg
Copy link
Contributor Author

fabian-lunarg commented Apr 23, 2024

I created two captures, baseline vs. this PR, of Sascha's inlineuniformblocks sample:

screenshot_frame_500_baseline
screenshot_frame_500_PR1504

the material is set using inline-uniform-blocks, so the spheres in baseline-replay are all black.
this is also correctly reported during capturing:
[gfxrecon] WARNING - Descriptor type inline uniform block is not currently supported

this PR adds support for capturing the inline-uniforms and removes the warnings, the replay contains the correct colors.

2024_04_23_inline_uniform_block.zip

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 173905.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4052 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 173944.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4053 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4053 passed.

@fabian-lunarg fabian-lunarg force-pushed the fabian_support_VK_EXT_inline_uniform_block branch from c93899b to 149074f Compare April 25, 2024 17:10
@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 174038.

@fabian-lunarg
Copy link
Contributor Author

  • error: ‘VK_FORMAT_R16G16_SFIXED5_NV’ was not declared in this scope
  • error: ‘VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT’ was not declared in this scope

weird, looks the header changed, removing deprecated things!?

@locke-lunarg
Copy link
Contributor

locke-lunarg commented Apr 25, 2024

You changed external\Vulkan-Headers to cause those errors. That's probably a merged mistake. We usually don't change external\Vulkan-Headers until SDK update.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4057 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4057 failed.

@bradgrantham-lunarg
Copy link
Contributor

You changed external\Vulkan-Headers to cause those errors. That's probably a merged mistake. We usually don't change external\Vulkan-Headers until SDK update.

That's probably me. Let me take a look.

adding into existing infrastructure:
- tracking of a binary blob 'inline_uniform_data' in DescriptorInfo
- support VkUpdateDescriptorSets and vkUpdateDescriptorSetWithTemplate
- add-hoc (re-)creation of pNext-structures for VkWriteDescriptorSet
@fabian-lunarg fabian-lunarg force-pushed the fabian_support_VK_EXT_inline_uniform_block branch from 149074f to 59bb2e9 Compare April 25, 2024 19:44
@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 174106.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4058 running.

@fabian-lunarg
Copy link
Contributor Author

fabian-lunarg commented Apr 25, 2024

I think it might have been a missing git submodule init / updateinvolved. seems to be fine after rebasing now

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4058 passed.

@locke-lunarg locke-lunarg self-requested a review April 25, 2024 20:30
Copy link
Contributor

@locke-lunarg locke-lunarg left a comment

Choose a reason for hiding this comment

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

LGTM!

@fabian-lunarg fabian-lunarg merged commit 0da4f86 into LunarG:dev Apr 26, 2024
8 checks passed
@fabian-lunarg fabian-lunarg deleted the fabian_support_VK_EXT_inline_uniform_block branch June 25, 2024 15:35
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.

4 participants