Skip to content

Add support for VK_EXT_scalar_block_layout - #497

Closed
Tobski wants to merge 3 commits into
masterfrom
tobias-VK_EXT_scalar_block_layout
Closed

Add support for VK_EXT_scalar_block_layout#497
Tobski wants to merge 3 commits into
masterfrom
tobias-VK_EXT_scalar_block_layout

Conversation

@Tobski

@Tobski Tobski commented Nov 21, 2018

Copy link
Copy Markdown
Contributor

Had to fix a couple things and update a bunch of known-goods, including in the Vulkan-Headers repo here: KhronosGroup/Vulkan-Headers#31 (which needs accepting before this goes in 😅). See commit log for details.

Edit: No longer required, as @shannon-lunarg updated that repo separately to a later version.

@Tobski

Tobski commented Nov 21, 2018

Copy link
Copy Markdown
Contributor Author

Ook.. seems like I've maybe just walked into a minefield of "things that need updating at the same time in a particular order" for which I can't find documentation for...?

@shannon-lunarg seeing as you seem to usually do known-good updates... help? 😓

Edit: All sorted, as per @jeffbolznv's comment below.

Comment thread layers/shader_validation.cpp Outdated
Comment thread layers/shader_validation.cpp Outdated
@jeffbolznv

Copy link
Copy Markdown
Contributor

Ook.. seems like I've maybe just walked into a minefield of "things that need updating at the same time in a particular order" for which I can't find documentation for...?

@shannon-lunarg seeing as you seem to usually do known-good updates... help? 😓

There was, essentially, a revlock between glslang/spirv-tools/spirv-headers for the recent change to rename NVX_raytracing->NV_ray_tracing. I think if you update all three to TOT these build issues will disappear.

@Tobski
Tobski force-pushed the tobias-VK_EXT_scalar_block_layout branch 2 times, most recently from 1141a45 to 46991f0 Compare November 28, 2018 11:39
@Tobski

Tobski commented Nov 28, 2018

Copy link
Copy Markdown
Contributor Author

@jbolz I fixed the issues you pointed out, but still need to fix the tool dependency issues. It looks like @shannon-lunarg is now updating various repos to the 94 header, so I'll wait for that to go through before finishing this.

@Tobski
Tobski force-pushed the tobias-VK_EXT_scalar_block_layout branch 2 times, most recently from 0e26913 to 1e6a09c Compare December 10, 2018 12:24
@Tobski

Tobski commented Dec 10, 2018

Copy link
Copy Markdown
Contributor Author

@jeffbolznv yea that worked, was not obvious, but it worked. Find it odd how the dependencies of the shaderc repo are dictated by the android build in this repo, but sure... Anyway, everything should be fixed up and running as expected now.

@Tobski
Tobski force-pushed the tobias-VK_EXT_scalar_block_layout branch 2 times, most recently from ec0cc14 to 95da128 Compare December 10, 2018 14:44
@Tobski

Tobski commented Dec 10, 2018

Copy link
Copy Markdown
Contributor Author

Guh, right - just remembered that we added feature enables, so going to wait on that before declaring this "100% done and ready for review"...

@Tobski
Tobski force-pushed the tobias-VK_EXT_scalar_block_layout branch from 95da128 to 957b99d Compare December 11, 2018 20:56
Bit flags that don't have any members (e.g. VkRenderPassCreateFlagBits)
don't generate in the vulkan headers, but were generating for the enum
string helper - causing compile errors.
Added a check for such types with no flags to fix the error.
Updated:
- `build-android/known_good.json`
- `scripts/known_good.json`
@Tobski
Tobski force-pushed the tobias-VK_EXT_scalar_block_layout branch 2 times, most recently from f15af31 to ca84424 Compare December 11, 2018 22:32
@Tobski

Tobski commented Dec 12, 2018

Copy link
Copy Markdown
Contributor Author

Ok now this is ready for final review.

@Tobski
Tobski requested review from chrisforbes, jzulauf-lunarg and tobine and removed request for shannon-lunarg December 12, 2018 10:45

@jzulauf-lunarg jzulauf-lunarg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Would like @chrisforbes to look at the spirv portion.

"url" : "https://github.com/KhronosGroup/glslang.git",
"sub_dir" : "shaderc/third_party/glslang",
"commit" : "d509a5eec6f5a65b3ffdfa0a19096f338d2582be"
"commit" : "d2a7b07a64811bb4a734bd66ef4e0b4c7d7fe1af"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why do we still have known good changes?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The glslang version currently pointed to on master is still quite far back - it's on an old NVX_raytracing branch. Nothing else has had cause to update it since then, I guess?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@shannon-lunarg @greg-lunarg -- glslang update look okay?

: IsEnabled([=](const DeviceFeatures &features) { return features.transform_feedback_features.*ptr; }) {}
FeaturePointer(VkBool32 VkPhysicalDeviceFloat16Int8FeaturesKHR::*ptr)
: IsEnabled([=](const DeviceFeatures &features) { return features.float16_int8.*ptr; }) {}
FeaturePointer(VkBool32 VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::*ptr)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@chrisforbes -- shader_validation piece look correct?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I assume that since he's approved the review this is fine?

Comment thread tests/layer_validation_tests.cpp Outdated

@chrisforbes chrisforbes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Minor nit in test comments; otherwise LGTM.

Added code to use scalar block layout validation in spirv-val when
VK_EXT_scalar_block_layout is enabled.
Added positive test for this, mirroring the relaxed block layout
extension test.
@Tobski
Tobski force-pushed the tobias-VK_EXT_scalar_block_layout branch from ca84424 to 142578a Compare December 13, 2018 00:57
@Tobski

Tobski commented Jan 2, 2019

Copy link
Copy Markdown
Contributor Author

@jzulauf-lunarg @jeffbolznv @shannon-lunarg @greg-lunarg
(Tagging all the people who have reviewed but not signed off or have been explicitly asked for review)

It would be good to get this done before whatever the next SDK cycle is - I imagine a number of developers held off doing much with this prior to the new year, but people are going to start using this extension soon and will begin running into extraneous errors from the validation layers until this gets in.

@Tobski
Tobski removed the request for review from tobine January 2, 2019 13:36

@jeffbolznv jeffbolznv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

+1 from me

@tobine

tobine commented Jan 2, 2019

Copy link
Copy Markdown
Contributor

@Tobski the branch is reporting conflicts now. Can you please rebase off latest master so this can be landed?

@jzulauf-lunarg

Copy link
Copy Markdown
Contributor

@jeffbolznv -- there's a glslang known good change due to land as well that we need to be compatible with @karl-lunarg .

@karl-lunarg

karl-lunarg commented Jan 2, 2019

Copy link
Copy Markdown
Contributor

Yes, actually the raytracing test commit landed before mine and I had to resolve that. But I think that the known-goods have now been bumped to newer revisions than the ones being asked for here. So there is a good chance that simply dropping the known-good changes from this PR and rebasing will work. (But double-check)

@jzulauf-lunarg

jzulauf-lunarg commented Jan 4, 2019

Copy link
Copy Markdown
Contributor

@Tobski -- I'll commit this early next week if you can push a version without the conflicts.

@Tobski

Tobski commented Jan 8, 2019

Copy link
Copy Markdown
Contributor Author

@jzulauf-lunarg I'll sort this out tomorrow - thanks!

@Tobski

Tobski commented Jan 9, 2019

Copy link
Copy Markdown
Contributor Author

@jzulauf-lunarg I've got a rebased version of the branch locally that simply removes the known good update commit, and it seems to work. I'm trying to push it, but for whatever reason it seems to be failing auth on my PC for some reason, not sure why... I'll keep prodding...

@Tobski

Tobski commented Jan 9, 2019

Copy link
Copy Markdown
Contributor Author

Ok, GitHub desktop works for pushing for some reason, but that doesn't support force pushing, so just to unblock this - I've raised #567 - which has the correct state of the repo in it. Annoying to have to switch PRs but it should work... this is what I get trying to set up a new laptop :P

@mikes-lunarg

Copy link
Copy Markdown
Contributor

Changes merged under #567

@juan-lunarg
juan-lunarg deleted the tobias-VK_EXT_scalar_block_layout branch January 23, 2023 19:54
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.

7 participants