-
Notifications
You must be signed in to change notification settings - Fork 567
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 vulkan-shader-profiler external passes #5512
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. |
@@ -511,7 +511,7 @@ const Constant* ConstantManager::GetIntConst(uint64_t val, int32_t bitWidth, | |||
// If the value is more than 32-bit, we need to split the operands into two | |||
// 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.
@@ -74,7 +74,7 @@ typedef struct spv_ext_inst_desc_t { | |||
const uint32_t ext_inst; | |||
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