At certain circumstances push constants can be split correctly into push constants. We need to further reflect the SPIR-V push constant block fields and offset to adjust the root constant blocks accordingly.
While push constants ranges specified as 0..4 & 16..32 would be fine, a range like 0..4 & 4..32 would result in misaligment of b in the second cbuffer block in HLSL.
We might want to actually merge overlapping push constants into one root constant, then we shouldn't have this issue I guess (for a small performance hit due to visibility flags?)
At certain circumstances push constants can be split correctly into push constants. We need to further reflect the SPIR-V push constant block fields and offset to adjust the root constant blocks accordingly.
Example:
While push constants ranges specified as
0..4
&16..32
would be fine, a range like0..4
&4..32
would result in misaligment ofb
in the second cbuffer block in HLSL.