Make modifications of GL_EXT_spirv_intrinsics
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.
This commit is contained in:
parent
b9ba4c5743
commit
07aec25f82
10 changed files with 2053 additions and 2041 deletions
14
Test/spv.intrinsicsSpecConst.vert
Normal file
14
Test/spv.intrinsicsSpecConst.vert
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#version 450 core
|
||||
|
||||
#extension GL_EXT_spirv_intrinsics: enable
|
||||
|
||||
layout(constant_id = 5) const uint targetWidth = 32;
|
||||
spirv_execution_mode_id(4460/*=DenormFlushToZero*/, targetWidth);
|
||||
|
||||
layout(constant_id = 6) const uint builtIn = 1;
|
||||
spirv_decorate_id(11/*=BuiltIn*/, builtIn) out float pointSize;
|
||||
|
||||
void main()
|
||||
{
|
||||
pointSize = 4.0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue