1. spirv_execution_mode_id and spirv_decorate_id could support specialization constants. The original implementation always assume only normal frontend constants are valid. It is not true. 2. spirv_type donesn't support type_specifier as an option of spirv_type_parameter. At present, only constant_expression is the valid option.
36 lines
1.6 KiB
Plaintext
36 lines
1.6 KiB
Plaintext
spv.intrinsicsSpecConst.vert
|
|
Validation failed
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 13
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 10
|
|
ExecutionModeId 4 DenormFlushToZero 7
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_spirv_intrinsics"
|
|
Name 4 "main"
|
|
Name 7 "targetWidth"
|
|
Name 10 "pointSize"
|
|
Name 11 "builtIn"
|
|
Decorate 7(targetWidth) SpecId 5
|
|
Decorate 10(pointSize) Location 0
|
|
Decorate 11(builtIn) SpecId 6
|
|
DecorateId 10(pointSize) BuiltIn 11(builtIn)
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7(targetWidth): 6(int) SpecConstant 32
|
|
8: TypeFloat 32
|
|
9: TypePointer Output 8(float)
|
|
10(pointSize): 9(ptr) Variable Output
|
|
11(builtIn): 6(int) SpecConstant 1
|
|
12: 8(float) Constant 1082130432
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
Store 10(pointSize) 12
|
|
Return
|
|
FunctionEnd
|