-
Notifications
You must be signed in to change notification settings - Fork 641
add support for vulkan-shader-profiler external passes #5512
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
Conversation
|
|
0f44668 to
4108da3
Compare
|
I haven't looked deeply. Requiring a depdency on vulkan-headers seems unfortunate. |
|
I have removed the dependency on vulkan-headers. |
| // 32-bit integers. | ||
| return GetConstant( | ||
| int_type, {static_cast<uint32_t>(val >> 32), static_cast<uint32_t>(val)}); | ||
| int_type, {static_cast<uint32_t>(val), static_cast<uint32_t>(val >> 32)}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the right fix.
OpConstant says
Types 32 bits wide or smaller take one word. Larger types take multiple words, with low-order words appearing first.
Too bad this wasn't caught by a unit test. I won't make you write one now.
| const uint32_t numCapabilities; | ||
| const spv::Capability* capabilities; | ||
| const spv_operand_type_t operandTypes[16]; // TODO: Smaller/larger? | ||
| const spv_operand_type_t operandTypes[40]; // vksp needs at least 40 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tables are pretty dumb. I'd like to refactor them for compactness.
Depends on KhronosGroup/SPIRV-Headers#398