Add names for composite constants in SPIR-V
Consider the following code:
layout(constant_id=0) const int Y = 1;
layout(constant_id=1) const int Z = 2;
layout(constant_id=3) const int X = Y + Z;
Previously, it would produce SPIR-V decorations like this:
Decorate 21(Y) SpecId 1
Decorate 22 SpecId 3
Decorate 33(Z) SpecId 0
This seems inaccurate, since the spec constant `X` that is dependent on
the two others did not get a name in the SPIR-V decorations. This behavior
may potentially negatively affect shader introspection capabilities.
This change alters the behavior to always add a name, which results in the code
above producing the following decorations:
Decorate 21(Y) SpecId 1
Decorate 22(X) SpecId 3
Decorate 33(Z) SpecId 0
This commit is contained in:
parent
b2b3d81e9b
commit
4c9876b34c
8 changed files with 232 additions and 117 deletions
|
|
@ -104,6 +104,10 @@ error: Capability Float16 is not allowed by Vulkan 1.1 specification (or require
|
|||
Name 525 "sf16"
|
||||
Name 526 "sf"
|
||||
Name 527 "sd"
|
||||
Name 528 "f16_to_f"
|
||||
Name 530 "f16_to_d"
|
||||
Name 531 "f_to_f16"
|
||||
Name 532 "d_to_f16"
|
||||
Decorate 518 ArrayStride 16
|
||||
Decorate 519 ArrayStride 32
|
||||
MemberDecorate 520(S) 0 Offset 0
|
||||
|
|
@ -209,11 +213,11 @@ error: Capability Float16 is not allowed by Vulkan 1.1 specification (or require
|
|||
525(sf16):172(float16_t) SpecConstant 12288
|
||||
526(sf): 26(float) SpecConstant 1048576000
|
||||
527(sd):149(float64_t) SpecConstant 0 1071644672
|
||||
528: 26(float) SpecConstantOp 115 525(sf16)
|
||||
528(f16_to_f): 26(float) SpecConstantOp 115 525(sf16)
|
||||
529: 26(float) SpecConstantOp 115 525(sf16)
|
||||
530:149(float64_t) SpecConstantOp 115 529
|
||||
531:172(float16_t) SpecConstantOp 115 526(sf)
|
||||
532:172(float16_t) SpecConstantOp 115 527(sd)
|
||||
530(f16_to_d):149(float64_t) SpecConstantOp 115 529
|
||||
531(f_to_f16):172(float16_t) SpecConstantOp 115 526(sf)
|
||||
532(d_to_f16):172(float16_t) SpecConstantOp 115 527(sd)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue