mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-27 13:10:37 +00:00
Merge branch 'master' into separate-web-and-emscripten
This commit is contained in:
commit
d0848b72fa
12
README.md
12
README.md
@ -168,19 +168,19 @@ the web grammar subset (see more about the web subset in the next section).
|
||||
|
||||
### Building to WASM for the Web and Node
|
||||
|
||||
Use the steps in [Build Steps](#build-steps), which following notes/exceptions:
|
||||
Use the steps in [Build Steps](#build-steps), with the following notes/exceptions:
|
||||
* For building the web subset of core glslang:
|
||||
+ update the grammar: run `m4` with `-DGLSLANG_WEB`, or simply execute
|
||||
`updateGrammar web` from the glslang subdirectory
|
||||
+ execute `updateGrammar web` from the glslang subdirectory
|
||||
(or if using your own scripts, `m4` needs a `-DGLSLANG_WEB` argument)
|
||||
+ set `-DENABLE_HLSL=OFF -DBUILD_TESTING=OFF -DENABLE_OPT=OFF -DINSTALL_GTEST=OFF`
|
||||
+ turn on `-DENABLE_GLSLANG_WEB=ON`
|
||||
+ optionally, for GLSL compilation error messages, turn on `-DENABLE_GLSLANG_WEB_DEVEL=ON`
|
||||
* `emsdk` needs to be present in your executable search path, *PATH* for
|
||||
Bash-like enivironments
|
||||
+ Instructions located
|
||||
[here](https://emscripten.org/docs/getting_started/downloads.html#sdk-download-and-install)
|
||||
+ [Instructions located
|
||||
here](https://emscripten.org/docs/getting_started/downloads.html#sdk-download-and-install)
|
||||
* Wrap cmake call: `emcmake cmake`
|
||||
* To get a 'true' minimized build, make sure to use `brotli` to compress the .js
|
||||
* To get a fully minimized build, make sure to use `brotli` to compress the .js
|
||||
and .wasm files
|
||||
|
||||
Example:
|
||||
|
@ -6832,8 +6832,9 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
||||
default: assert(0 && "Unhandled subgroup operation!");
|
||||
}
|
||||
|
||||
const bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
|
||||
const bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
|
||||
|
||||
const bool isUnsigned = isTypeUnsignedInt(typeProxy);
|
||||
const bool isFloat = isTypeFloat(typeProxy);
|
||||
const bool isBool = typeProxy == glslang::EbtBool;
|
||||
|
||||
spv::Op opCode = spv::OpNop;
|
||||
|
@ -11,7 +11,7 @@ spv.specConstant.vert
|
||||
Source GLSL 400
|
||||
Name 4 "main"
|
||||
Name 9 "arraySize"
|
||||
Name 14 "foo(vf4[s2769];"
|
||||
Name 14 "foo(vf4[s4393];"
|
||||
Name 13 "p"
|
||||
Name 17 "builtin_spec_constant("
|
||||
Name 20 "color"
|
||||
@ -102,10 +102,10 @@ spv.specConstant.vert
|
||||
Store 20(color) 46
|
||||
48: 10 Load 22(ucol)
|
||||
Store 47(param) 48
|
||||
49: 2 FunctionCall 14(foo(vf4[s2769];) 47(param)
|
||||
49: 2 FunctionCall 14(foo(vf4[s4393];) 47(param)
|
||||
Return
|
||||
FunctionEnd
|
||||
14(foo(vf4[s2769];): 2 Function None 12
|
||||
14(foo(vf4[s4393];): 2 Function None 12
|
||||
13(p): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
54: 24(ptr) AccessChain 53(dupUcol) 23
|
||||
|
4280
Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
Normal file
4280
Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
Normal file
File diff suppressed because it is too large
Load Diff
557
Test/baseResults/spv.subgroupExtendedTypesArithmeticNeg.comp.out
Normal file
557
Test/baseResults/spv.subgroupExtendedTypesArithmeticNeg.comp.out
Normal file
@ -0,0 +1,557 @@
|
||||
spv.subgroupExtendedTypesArithmeticNeg.comp
|
||||
ERROR: 0:26: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:27: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:28: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:29: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:31: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:33: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:34: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:36: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:38: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:39: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:41: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:42: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:43: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:44: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:46: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:47: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:48: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:49: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:51: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:52: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:53: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:54: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:56: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:57: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:58: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:59: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:61: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:62: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:63: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:64: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:66: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:67: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:68: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:69: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:71: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:72: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:73: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:74: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:76: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:77: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:78: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:79: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:81: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:82: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:83: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:84: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:86: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:87: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:88: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:89: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:91: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:92: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:93: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:94: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:96: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:97: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:98: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:99: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:101: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:102: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:103: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:104: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:106: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:107: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:108: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:109: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:111: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:112: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:113: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:114: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:116: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:117: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:118: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:119: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:121: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:122: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:123: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:124: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:126: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:127: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:128: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:129: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:131: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:132: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:133: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:134: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:136: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:137: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:138: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:139: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:141: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:142: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:143: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:144: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:146: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:147: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:148: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:149: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:151: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:152: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:153: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:154: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:156: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:157: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:158: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:159: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:161: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:162: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:163: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:164: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:166: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:167: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:168: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:169: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:171: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:172: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:173: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:174: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:176: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:177: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:178: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:179: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:181: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:182: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:183: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:184: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:186: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:187: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:188: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:189: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:191: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:192: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:193: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:194: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:196: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:197: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:198: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:199: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:201: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:202: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:203: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:204: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:206: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:207: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:208: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:209: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:211: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:212: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:213: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:214: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:216: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:217: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:218: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:219: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:221: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:222: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:223: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:224: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:226: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:227: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:228: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:229: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:231: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:232: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:233: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:234: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:236: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:237: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:238: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:239: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:241: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:242: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:243: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:244: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:246: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:247: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:248: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:249: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:251: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:252: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:253: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:254: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:256: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:257: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:258: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:259: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:261: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:262: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:263: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:264: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:266: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:267: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:268: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:269: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:271: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:272: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:273: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:274: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:276: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:277: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:278: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:279: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:281: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:282: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:283: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:284: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:286: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:287: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:288: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:289: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:291: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:292: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:293: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:294: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:296: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:297: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:298: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:299: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:301: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:302: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:303: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:304: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:306: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:307: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:308: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:309: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:311: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:312: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:313: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:314: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:316: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:317: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:318: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:319: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:321: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:322: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:323: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:324: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:326: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:327: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:328: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:329: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:331: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:332: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:333: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:334: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:336: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:337: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:338: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:339: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:341: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:342: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:343: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:344: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:346: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:347: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:348: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:349: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:351: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:352: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:353: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:354: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:356: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:357: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:358: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:359: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:361: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:362: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:363: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:364: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:366: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:367: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:368: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:369: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:371: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:372: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:373: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:374: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:376: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:377: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:378: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:379: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:381: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:382: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:383: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:384: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:386: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:387: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:388: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:389: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:391: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:392: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:393: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:394: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:396: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:397: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:398: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:399: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:401: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:402: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:403: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:404: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:406: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:407: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:408: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:409: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:411: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:412: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:413: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:414: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:416: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:417: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:418: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:419: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:421: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:422: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:423: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:424: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:426: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:427: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:428: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:429: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:431: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:432: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:433: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:434: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:436: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:437: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:438: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:439: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:441: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:442: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:443: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:444: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:446: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:447: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:448: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:449: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:451: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:452: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:453: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:454: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:456: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:457: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:458: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:459: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:461: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:462: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:463: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:464: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:466: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:467: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:468: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:469: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:471: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:472: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:473: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:474: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:476: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:477: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:478: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:479: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:481: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:482: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:483: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:484: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:486: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:487: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:488: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:489: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:491: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:492: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:493: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:494: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:496: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:497: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:498: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:499: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:501: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:502: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:503: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:504: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:506: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:507: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:508: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:509: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:511: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:512: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:513: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:514: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:516: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:517: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:518: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:519: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:521: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:522: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:523: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:524: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:526: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:527: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:528: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:529: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:531: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:532: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:533: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:534: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:536: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:537: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:538: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:539: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:541: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:542: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:543: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:544: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:546: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:547: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:548: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:549: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:551: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:552: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:553: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:554: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:556: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:557: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:558: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:559: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:561: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:562: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:563: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:564: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:566: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:567: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:568: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:569: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:571: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:572: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:573: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:574: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:576: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:577: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:578: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:579: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:581: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:582: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:583: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:584: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:586: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:587: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:588: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:589: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:591: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:592: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:593: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:594: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:596: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:597: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:598: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:599: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:601: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:602: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:603: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:604: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:606: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:607: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:608: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:609: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:611: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:612: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:613: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:614: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:616: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:617: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:618: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:619: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:621: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:622: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:623: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:624: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:626: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:627: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:628: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:629: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:631: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:632: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:633: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:634: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:636: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:637: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:638: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:639: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:641: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:642: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:643: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:644: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:646: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:647: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:648: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:649: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:651: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:652: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:653: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:654: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:656: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:657: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:658: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:659: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:661: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:662: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:663: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:664: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:666: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:667: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:668: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:669: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:671: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:672: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:673: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:674: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:676: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:677: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:678: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:679: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:681: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:682: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:683: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:684: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:686: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:687: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:688: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:689: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:691: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:692: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:693: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:694: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:696: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:697: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:698: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:699: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:701: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:702: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:703: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:704: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:706: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:707: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:708: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:709: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:711: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:712: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:713: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:714: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 552 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
560
Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
Normal file
560
Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
Normal file
@ -0,0 +1,560 @@
|
||||
spv.subgroupExtendedTypesBallot.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 441
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
Capability GroupNonUniform
|
||||
Capability GroupNonUniformBallot
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 12
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_float16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int64"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int8"
|
||||
SourceExtension "GL_KHR_shader_subgroup_ballot"
|
||||
SourceExtension "GL_KHR_shader_subgroup_basic"
|
||||
Name 4 "main"
|
||||
Name 8 "invocation"
|
||||
Name 10 "gl_SubgroupInvocationID"
|
||||
Name 12 "gl_SubgroupSize"
|
||||
Name 31 "Buffers"
|
||||
MemberName 31(Buffers) 0 "i8"
|
||||
MemberName 31(Buffers) 1 "u8"
|
||||
MemberName 31(Buffers) 2 "i16"
|
||||
MemberName 31(Buffers) 3 "u16"
|
||||
MemberName 31(Buffers) 4 "i64"
|
||||
MemberName 31(Buffers) 5 "u64"
|
||||
MemberName 31(Buffers) 6 "f16"
|
||||
Name 34 "data"
|
||||
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 11 RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
||||
Decorate 13 RelaxedPrecision
|
||||
Decorate 14 RelaxedPrecision
|
||||
Decorate 16 RelaxedPrecision
|
||||
MemberDecorate 31(Buffers) 0 Offset 0
|
||||
MemberDecorate 31(Buffers) 1 Offset 4
|
||||
MemberDecorate 31(Buffers) 2 Offset 8
|
||||
MemberDecorate 31(Buffers) 3 Offset 16
|
||||
MemberDecorate 31(Buffers) 4 Offset 32
|
||||
MemberDecorate 31(Buffers) 5 Offset 64
|
||||
MemberDecorate 31(Buffers) 6 Offset 96
|
||||
Decorate 31(Buffers) Block
|
||||
Decorate 34(data) DescriptorSet 0
|
||||
Decorate 34(data) Binding 0
|
||||
Decorate 440 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypePointer Input 6(int)
|
||||
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
||||
12(gl_SubgroupSize): 9(ptr) Variable Input
|
||||
15: 6(int) Constant 4
|
||||
17: TypeInt 8 1
|
||||
18: TypeVector 17(int8_t) 4
|
||||
19: TypeInt 8 0
|
||||
20: TypeVector 19(int8_t) 4
|
||||
21: TypeInt 16 1
|
||||
22: TypeVector 21(int16_t) 4
|
||||
23: TypeInt 16 0
|
||||
24: TypeVector 23(int16_t) 4
|
||||
25: TypeInt 64 1
|
||||
26: TypeVector 25(int64_t) 4
|
||||
27: TypeInt 64 0
|
||||
28: TypeVector 27(int64_t) 4
|
||||
29: TypeFloat 16
|
||||
30: TypeVector 29(float16_t) 4
|
||||
31(Buffers): TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4)
|
||||
32: TypeArray 31(Buffers) 15
|
||||
33: TypePointer StorageBuffer 32
|
||||
34(data): 33(ptr) Variable StorageBuffer
|
||||
36: TypeInt 32 1
|
||||
37: 36(int) Constant 0
|
||||
38: 6(int) Constant 0
|
||||
39: TypePointer StorageBuffer 17(int8_t)
|
||||
42: 6(int) Constant 3
|
||||
46: 36(int) Constant 1
|
||||
47: TypeVector 17(int8_t) 2
|
||||
48: TypePointer StorageBuffer 18(i8vec4)
|
||||
57: 36(int) Constant 2
|
||||
58: TypeVector 17(int8_t) 3
|
||||
67: 36(int) Constant 3
|
||||
99: TypePointer StorageBuffer 19(int8_t)
|
||||
105: TypeVector 19(int8_t) 2
|
||||
106: TypePointer StorageBuffer 20(i8vec4)
|
||||
115: TypeVector 19(int8_t) 3
|
||||
155: TypePointer StorageBuffer 21(int16_t)
|
||||
161: TypeVector 21(int16_t) 2
|
||||
162: TypePointer StorageBuffer 22(i16vec4)
|
||||
171: TypeVector 21(int16_t) 3
|
||||
211: TypePointer StorageBuffer 23(int16_t)
|
||||
217: TypeVector 23(int16_t) 2
|
||||
218: TypePointer StorageBuffer 24(i16vec4)
|
||||
227: TypeVector 23(int16_t) 3
|
||||
267: 36(int) Constant 4
|
||||
268: TypePointer StorageBuffer 25(int64_t)
|
||||
274: TypeVector 25(int64_t) 2
|
||||
275: TypePointer StorageBuffer 26(i64vec4)
|
||||
284: TypeVector 25(int64_t) 3
|
||||
324: 36(int) Constant 5
|
||||
325: TypePointer StorageBuffer 27(int64_t)
|
||||
331: TypeVector 27(int64_t) 2
|
||||
332: TypePointer StorageBuffer 28(i64vec4)
|
||||
341: TypeVector 27(int64_t) 3
|
||||
381: 36(int) Constant 6
|
||||
382: TypePointer StorageBuffer 29(float16_t)
|
||||
388: TypeVector 29(float16_t) 2
|
||||
389: TypePointer StorageBuffer 30(f16vec4)
|
||||
398: TypeVector 29(float16_t) 3
|
||||
437: TypeVector 6(int) 3
|
||||
438: 6(int) Constant 8
|
||||
439: 6(int) Constant 1
|
||||
440: 437(ivec3) ConstantComposite 438 439 439
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
||||
13: 6(int) Load 12(gl_SubgroupSize)
|
||||
14: 6(int) IAdd 11 13
|
||||
16: 6(int) UMod 14 15
|
||||
Store 8(invocation) 16
|
||||
35: 6(int) Load 8(invocation)
|
||||
40: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
41: 17(int8_t) Load 40
|
||||
43: 17(int8_t) GroupNonUniformBroadcast 42 41 42
|
||||
44: 39(ptr) AccessChain 34(data) 35 37 38
|
||||
Store 44 43
|
||||
45: 6(int) Load 8(invocation)
|
||||
49: 48(ptr) AccessChain 34(data) 46 37
|
||||
50: 18(i8vec4) Load 49
|
||||
51: 47(i8vec2) VectorShuffle 50 50 0 1
|
||||
52: 47(i8vec2) GroupNonUniformBroadcast 42 51 42
|
||||
53: 48(ptr) AccessChain 34(data) 45 37
|
||||
54: 18(i8vec4) Load 53
|
||||
55: 18(i8vec4) VectorShuffle 54 52 4 5 2 3
|
||||
Store 53 55
|
||||
56: 6(int) Load 8(invocation)
|
||||
59: 48(ptr) AccessChain 34(data) 57 37
|
||||
60: 18(i8vec4) Load 59
|
||||
61: 58(i8vec3) VectorShuffle 60 60 0 1 2
|
||||
62: 58(i8vec3) GroupNonUniformBroadcast 42 61 42
|
||||
63: 48(ptr) AccessChain 34(data) 56 37
|
||||
64: 18(i8vec4) Load 63
|
||||
65: 18(i8vec4) VectorShuffle 64 62 4 5 6 3
|
||||
Store 63 65
|
||||
66: 6(int) Load 8(invocation)
|
||||
68: 48(ptr) AccessChain 34(data) 67 37
|
||||
69: 18(i8vec4) Load 68
|
||||
70: 18(i8vec4) GroupNonUniformBroadcast 42 69 42
|
||||
71: 48(ptr) AccessChain 34(data) 66 37
|
||||
Store 71 70
|
||||
72: 6(int) Load 8(invocation)
|
||||
73: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
74: 17(int8_t) Load 73
|
||||
75: 17(int8_t) GroupNonUniformBroadcastFirst 42 74
|
||||
76: 39(ptr) AccessChain 34(data) 72 37 38
|
||||
Store 76 75
|
||||
77: 6(int) Load 8(invocation)
|
||||
78: 48(ptr) AccessChain 34(data) 46 37
|
||||
79: 18(i8vec4) Load 78
|
||||
80: 47(i8vec2) VectorShuffle 79 79 0 1
|
||||
81: 47(i8vec2) GroupNonUniformBroadcastFirst 42 80
|
||||
82: 48(ptr) AccessChain 34(data) 77 37
|
||||
83: 18(i8vec4) Load 82
|
||||
84: 18(i8vec4) VectorShuffle 83 81 4 5 2 3
|
||||
Store 82 84
|
||||
85: 6(int) Load 8(invocation)
|
||||
86: 48(ptr) AccessChain 34(data) 57 37
|
||||
87: 18(i8vec4) Load 86
|
||||
88: 58(i8vec3) VectorShuffle 87 87 0 1 2
|
||||
89: 58(i8vec3) GroupNonUniformBroadcastFirst 42 88
|
||||
90: 48(ptr) AccessChain 34(data) 85 37
|
||||
91: 18(i8vec4) Load 90
|
||||
92: 18(i8vec4) VectorShuffle 91 89 4 5 6 3
|
||||
Store 90 92
|
||||
93: 6(int) Load 8(invocation)
|
||||
94: 48(ptr) AccessChain 34(data) 67 37
|
||||
95: 18(i8vec4) Load 94
|
||||
96: 18(i8vec4) GroupNonUniformBroadcastFirst 42 95
|
||||
97: 48(ptr) AccessChain 34(data) 93 37
|
||||
Store 97 96
|
||||
98: 6(int) Load 8(invocation)
|
||||
100: 99(ptr) AccessChain 34(data) 37 46 38
|
||||
101: 19(int8_t) Load 100
|
||||
102: 19(int8_t) GroupNonUniformBroadcast 42 101 42
|
||||
103: 99(ptr) AccessChain 34(data) 98 46 38
|
||||
Store 103 102
|
||||
104: 6(int) Load 8(invocation)
|
||||
107: 106(ptr) AccessChain 34(data) 46 46
|
||||
108: 20(i8vec4) Load 107
|
||||
109: 105(i8vec2) VectorShuffle 108 108 0 1
|
||||
110: 105(i8vec2) GroupNonUniformBroadcast 42 109 42
|
||||
111: 106(ptr) AccessChain 34(data) 104 46
|
||||
112: 20(i8vec4) Load 111
|
||||
113: 20(i8vec4) VectorShuffle 112 110 4 5 2 3
|
||||
Store 111 113
|
||||
114: 6(int) Load 8(invocation)
|
||||
116: 106(ptr) AccessChain 34(data) 57 46
|
||||
117: 20(i8vec4) Load 116
|
||||
118: 115(i8vec3) VectorShuffle 117 117 0 1 2
|
||||
119: 115(i8vec3) GroupNonUniformBroadcast 42 118 42
|
||||
120: 106(ptr) AccessChain 34(data) 114 46
|
||||
121: 20(i8vec4) Load 120
|
||||
122: 20(i8vec4) VectorShuffle 121 119 4 5 6 3
|
||||
Store 120 122
|
||||
123: 6(int) Load 8(invocation)
|
||||
124: 106(ptr) AccessChain 34(data) 67 46
|
||||
125: 20(i8vec4) Load 124
|
||||
126: 20(i8vec4) GroupNonUniformBroadcast 42 125 42
|
||||
127: 106(ptr) AccessChain 34(data) 123 46
|
||||
Store 127 126
|
||||
128: 6(int) Load 8(invocation)
|
||||
129: 99(ptr) AccessChain 34(data) 37 46 38
|
||||
130: 19(int8_t) Load 129
|
||||
131: 19(int8_t) GroupNonUniformBroadcastFirst 42 130
|
||||
132: 99(ptr) AccessChain 34(data) 128 46 38
|
||||
Store 132 131
|
||||
133: 6(int) Load 8(invocation)
|
||||
134: 106(ptr) AccessChain 34(data) 46 46
|
||||
135: 20(i8vec4) Load 134
|
||||
136: 105(i8vec2) VectorShuffle 135 135 0 1
|
||||
137: 105(i8vec2) GroupNonUniformBroadcastFirst 42 136
|
||||
138: 106(ptr) AccessChain 34(data) 133 46
|
||||
139: 20(i8vec4) Load 138
|
||||
140: 20(i8vec4) VectorShuffle 139 137 4 5 2 3
|
||||
Store 138 140
|
||||
141: 6(int) Load 8(invocation)
|
||||
142: 106(ptr) AccessChain 34(data) 57 46
|
||||
143: 20(i8vec4) Load 142
|
||||
144: 115(i8vec3) VectorShuffle 143 143 0 1 2
|
||||
145: 115(i8vec3) GroupNonUniformBroadcastFirst 42 144
|
||||
146: 106(ptr) AccessChain 34(data) 141 46
|
||||
147: 20(i8vec4) Load 146
|
||||
148: 20(i8vec4) VectorShuffle 147 145 4 5 6 3
|
||||
Store 146 148
|
||||
149: 6(int) Load 8(invocation)
|
||||
150: 106(ptr) AccessChain 34(data) 67 46
|
||||
151: 20(i8vec4) Load 150
|
||||
152: 20(i8vec4) GroupNonUniformBroadcastFirst 42 151
|
||||
153: 106(ptr) AccessChain 34(data) 149 46
|
||||
Store 153 152
|
||||
154: 6(int) Load 8(invocation)
|
||||
156: 155(ptr) AccessChain 34(data) 37 57 38
|
||||
157: 21(int16_t) Load 156
|
||||
158: 21(int16_t) GroupNonUniformBroadcast 42 157 42
|
||||
159: 155(ptr) AccessChain 34(data) 154 57 38
|
||||
Store 159 158
|
||||
160: 6(int) Load 8(invocation)
|
||||
163: 162(ptr) AccessChain 34(data) 46 57
|
||||
164: 22(i16vec4) Load 163
|
||||
165:161(i16vec2) VectorShuffle 164 164 0 1
|
||||
166:161(i16vec2) GroupNonUniformBroadcast 42 165 42
|
||||
167: 162(ptr) AccessChain 34(data) 160 57
|
||||
168: 22(i16vec4) Load 167
|
||||
169: 22(i16vec4) VectorShuffle 168 166 4 5 2 3
|
||||
Store 167 169
|
||||
170: 6(int) Load 8(invocation)
|
||||
172: 162(ptr) AccessChain 34(data) 57 57
|
||||
173: 22(i16vec4) Load 172
|
||||
174:171(i16vec3) VectorShuffle 173 173 0 1 2
|
||||
175:171(i16vec3) GroupNonUniformBroadcast 42 174 42
|
||||
176: 162(ptr) AccessChain 34(data) 170 57
|
||||
177: 22(i16vec4) Load 176
|
||||
178: 22(i16vec4) VectorShuffle 177 175 4 5 6 3
|
||||
Store 176 178
|
||||
179: 6(int) Load 8(invocation)
|
||||
180: 162(ptr) AccessChain 34(data) 67 57
|
||||
181: 22(i16vec4) Load 180
|
||||
182: 22(i16vec4) GroupNonUniformBroadcast 42 181 42
|
||||
183: 162(ptr) AccessChain 34(data) 179 57
|
||||
Store 183 182
|
||||
184: 6(int) Load 8(invocation)
|
||||
185: 155(ptr) AccessChain 34(data) 37 57 38
|
||||
186: 21(int16_t) Load 185
|
||||
187: 21(int16_t) GroupNonUniformBroadcastFirst 42 186
|
||||
188: 155(ptr) AccessChain 34(data) 184 57 38
|
||||
Store 188 187
|
||||
189: 6(int) Load 8(invocation)
|
||||
190: 162(ptr) AccessChain 34(data) 46 57
|
||||
191: 22(i16vec4) Load 190
|
||||
192:161(i16vec2) VectorShuffle 191 191 0 1
|
||||
193:161(i16vec2) GroupNonUniformBroadcastFirst 42 192
|
||||
194: 162(ptr) AccessChain 34(data) 189 57
|
||||
195: 22(i16vec4) Load 194
|
||||
196: 22(i16vec4) VectorShuffle 195 193 4 5 2 3
|
||||
Store 194 196
|
||||
197: 6(int) Load 8(invocation)
|
||||
198: 162(ptr) AccessChain 34(data) 57 57
|
||||
199: 22(i16vec4) Load 198
|
||||
200:171(i16vec3) VectorShuffle 199 199 0 1 2
|
||||
201:171(i16vec3) GroupNonUniformBroadcastFirst 42 200
|
||||
202: 162(ptr) AccessChain 34(data) 197 57
|
||||
203: 22(i16vec4) Load 202
|
||||
204: 22(i16vec4) VectorShuffle 203 201 4 5 6 3
|
||||
Store 202 204
|
||||
205: 6(int) Load 8(invocation)
|
||||
206: 162(ptr) AccessChain 34(data) 67 57
|
||||
207: 22(i16vec4) Load 206
|
||||
208: 22(i16vec4) GroupNonUniformBroadcastFirst 42 207
|
||||
209: 162(ptr) AccessChain 34(data) 205 57
|
||||
Store 209 208
|
||||
210: 6(int) Load 8(invocation)
|
||||
212: 211(ptr) AccessChain 34(data) 37 67 38
|
||||
213: 23(int16_t) Load 212
|
||||
214: 23(int16_t) GroupNonUniformBroadcast 42 213 42
|
||||
215: 211(ptr) AccessChain 34(data) 210 67 38
|
||||
Store 215 214
|
||||
216: 6(int) Load 8(invocation)
|
||||
219: 218(ptr) AccessChain 34(data) 46 67
|
||||
220: 24(i16vec4) Load 219
|
||||
221:217(i16vec2) VectorShuffle 220 220 0 1
|
||||
222:217(i16vec2) GroupNonUniformBroadcast 42 221 42
|
||||
223: 218(ptr) AccessChain 34(data) 216 67
|
||||
224: 24(i16vec4) Load 223
|
||||
225: 24(i16vec4) VectorShuffle 224 222 4 5 2 3
|
||||
Store 223 225
|
||||
226: 6(int) Load 8(invocation)
|
||||
228: 218(ptr) AccessChain 34(data) 57 67
|
||||
229: 24(i16vec4) Load 228
|
||||
230:227(i16vec3) VectorShuffle 229 229 0 1 2
|
||||
231:227(i16vec3) GroupNonUniformBroadcast 42 230 42
|
||||
232: 218(ptr) AccessChain 34(data) 226 67
|
||||
233: 24(i16vec4) Load 232
|
||||
234: 24(i16vec4) VectorShuffle 233 231 4 5 6 3
|
||||
Store 232 234
|
||||
235: 6(int) Load 8(invocation)
|
||||
236: 218(ptr) AccessChain 34(data) 67 67
|
||||
237: 24(i16vec4) Load 236
|
||||
238: 24(i16vec4) GroupNonUniformBroadcast 42 237 42
|
||||
239: 218(ptr) AccessChain 34(data) 235 67
|
||||
Store 239 238
|
||||
240: 6(int) Load 8(invocation)
|
||||
241: 211(ptr) AccessChain 34(data) 37 67 38
|
||||
242: 23(int16_t) Load 241
|
||||
243: 23(int16_t) GroupNonUniformBroadcastFirst 42 242
|
||||
244: 211(ptr) AccessChain 34(data) 240 67 38
|
||||
Store 244 243
|
||||
245: 6(int) Load 8(invocation)
|
||||
246: 218(ptr) AccessChain 34(data) 46 67
|
||||
247: 24(i16vec4) Load 246
|
||||
248:217(i16vec2) VectorShuffle 247 247 0 1
|
||||
249:217(i16vec2) GroupNonUniformBroadcastFirst 42 248
|
||||
250: 218(ptr) AccessChain 34(data) 245 67
|
||||
251: 24(i16vec4) Load 250
|
||||
252: 24(i16vec4) VectorShuffle 251 249 4 5 2 3
|
||||
Store 250 252
|
||||
253: 6(int) Load 8(invocation)
|
||||
254: 218(ptr) AccessChain 34(data) 57 67
|
||||
255: 24(i16vec4) Load 254
|
||||
256:227(i16vec3) VectorShuffle 255 255 0 1 2
|
||||
257:227(i16vec3) GroupNonUniformBroadcastFirst 42 256
|
||||
258: 218(ptr) AccessChain 34(data) 253 67
|
||||
259: 24(i16vec4) Load 258
|
||||
260: 24(i16vec4) VectorShuffle 259 257 4 5 6 3
|
||||
Store 258 260
|
||||
261: 6(int) Load 8(invocation)
|
||||
262: 218(ptr) AccessChain 34(data) 67 67
|
||||
263: 24(i16vec4) Load 262
|
||||
264: 24(i16vec4) GroupNonUniformBroadcastFirst 42 263
|
||||
265: 218(ptr) AccessChain 34(data) 261 67
|
||||
Store 265 264
|
||||
266: 6(int) Load 8(invocation)
|
||||
269: 268(ptr) AccessChain 34(data) 37 267 38
|
||||
270: 25(int64_t) Load 269
|
||||
271: 25(int64_t) GroupNonUniformBroadcast 42 270 42
|
||||
272: 268(ptr) AccessChain 34(data) 266 267 38
|
||||
Store 272 271
|
||||
273: 6(int) Load 8(invocation)
|
||||
276: 275(ptr) AccessChain 34(data) 46 267
|
||||
277: 26(i64vec4) Load 276
|
||||
278:274(i64vec2) VectorShuffle 277 277 0 1
|
||||
279:274(i64vec2) GroupNonUniformBroadcast 42 278 42
|
||||
280: 275(ptr) AccessChain 34(data) 273 267
|
||||
281: 26(i64vec4) Load 280
|
||||
282: 26(i64vec4) VectorShuffle 281 279 4 5 2 3
|
||||
Store 280 282
|
||||
283: 6(int) Load 8(invocation)
|
||||
285: 275(ptr) AccessChain 34(data) 57 267
|
||||
286: 26(i64vec4) Load 285
|
||||
287:284(i64vec3) VectorShuffle 286 286 0 1 2
|
||||
288:284(i64vec3) GroupNonUniformBroadcast 42 287 42
|
||||
289: 275(ptr) AccessChain 34(data) 283 267
|
||||
290: 26(i64vec4) Load 289
|
||||
291: 26(i64vec4) VectorShuffle 290 288 4 5 6 3
|
||||
Store 289 291
|
||||
292: 6(int) Load 8(invocation)
|
||||
293: 275(ptr) AccessChain 34(data) 67 267
|
||||
294: 26(i64vec4) Load 293
|
||||
295: 26(i64vec4) GroupNonUniformBroadcast 42 294 42
|
||||
296: 275(ptr) AccessChain 34(data) 292 267
|
||||
Store 296 295
|
||||
297: 6(int) Load 8(invocation)
|
||||
298: 268(ptr) AccessChain 34(data) 37 267 38
|
||||
299: 25(int64_t) Load 298
|
||||
300: 25(int64_t) GroupNonUniformBroadcastFirst 42 299
|
||||
301: 268(ptr) AccessChain 34(data) 297 267 38
|
||||
Store 301 300
|
||||
302: 6(int) Load 8(invocation)
|
||||
303: 275(ptr) AccessChain 34(data) 46 267
|
||||
304: 26(i64vec4) Load 303
|
||||
305:274(i64vec2) VectorShuffle 304 304 0 1
|
||||
306:274(i64vec2) GroupNonUniformBroadcastFirst 42 305
|
||||
307: 275(ptr) AccessChain 34(data) 302 267
|
||||
308: 26(i64vec4) Load 307
|
||||
309: 26(i64vec4) VectorShuffle 308 306 4 5 2 3
|
||||
Store 307 309
|
||||
310: 6(int) Load 8(invocation)
|
||||
311: 275(ptr) AccessChain 34(data) 57 267
|
||||
312: 26(i64vec4) Load 311
|
||||
313:284(i64vec3) VectorShuffle 312 312 0 1 2
|
||||
314:284(i64vec3) GroupNonUniformBroadcastFirst 42 313
|
||||
315: 275(ptr) AccessChain 34(data) 310 267
|
||||
316: 26(i64vec4) Load 315
|
||||
317: 26(i64vec4) VectorShuffle 316 314 4 5 6 3
|
||||
Store 315 317
|
||||
318: 6(int) Load 8(invocation)
|
||||
319: 275(ptr) AccessChain 34(data) 67 267
|
||||
320: 26(i64vec4) Load 319
|
||||
321: 26(i64vec4) GroupNonUniformBroadcastFirst 42 320
|
||||
322: 275(ptr) AccessChain 34(data) 318 267
|
||||
Store 322 321
|
||||
323: 6(int) Load 8(invocation)
|
||||
326: 325(ptr) AccessChain 34(data) 37 324 38
|
||||
327: 27(int64_t) Load 326
|
||||
328: 27(int64_t) GroupNonUniformBroadcast 42 327 42
|
||||
329: 325(ptr) AccessChain 34(data) 323 324 38
|
||||
Store 329 328
|
||||
330: 6(int) Load 8(invocation)
|
||||
333: 332(ptr) AccessChain 34(data) 46 324
|
||||
334: 28(i64vec4) Load 333
|
||||
335:331(i64vec2) VectorShuffle 334 334 0 1
|
||||
336:331(i64vec2) GroupNonUniformBroadcast 42 335 42
|
||||
337: 332(ptr) AccessChain 34(data) 330 324
|
||||
338: 28(i64vec4) Load 337
|
||||
339: 28(i64vec4) VectorShuffle 338 336 4 5 2 3
|
||||
Store 337 339
|
||||
340: 6(int) Load 8(invocation)
|
||||
342: 332(ptr) AccessChain 34(data) 57 324
|
||||
343: 28(i64vec4) Load 342
|
||||
344:341(i64vec3) VectorShuffle 343 343 0 1 2
|
||||
345:341(i64vec3) GroupNonUniformBroadcast 42 344 42
|
||||
346: 332(ptr) AccessChain 34(data) 340 324
|
||||
347: 28(i64vec4) Load 346
|
||||
348: 28(i64vec4) VectorShuffle 347 345 4 5 6 3
|
||||
Store 346 348
|
||||
349: 6(int) Load 8(invocation)
|
||||
350: 332(ptr) AccessChain 34(data) 67 324
|
||||
351: 28(i64vec4) Load 350
|
||||
352: 28(i64vec4) GroupNonUniformBroadcast 42 351 42
|
||||
353: 332(ptr) AccessChain 34(data) 349 324
|
||||
Store 353 352
|
||||
354: 6(int) Load 8(invocation)
|
||||
355: 325(ptr) AccessChain 34(data) 37 324 38
|
||||
356: 27(int64_t) Load 355
|
||||
357: 27(int64_t) GroupNonUniformBroadcastFirst 42 356
|
||||
358: 325(ptr) AccessChain 34(data) 354 324 38
|
||||
Store 358 357
|
||||
359: 6(int) Load 8(invocation)
|
||||
360: 332(ptr) AccessChain 34(data) 46 324
|
||||
361: 28(i64vec4) Load 360
|
||||
362:331(i64vec2) VectorShuffle 361 361 0 1
|
||||
363:331(i64vec2) GroupNonUniformBroadcastFirst 42 362
|
||||
364: 332(ptr) AccessChain 34(data) 359 324
|
||||
365: 28(i64vec4) Load 364
|
||||
366: 28(i64vec4) VectorShuffle 365 363 4 5 2 3
|
||||
Store 364 366
|
||||
367: 6(int) Load 8(invocation)
|
||||
368: 332(ptr) AccessChain 34(data) 57 324
|
||||
369: 28(i64vec4) Load 368
|
||||
370:341(i64vec3) VectorShuffle 369 369 0 1 2
|
||||
371:341(i64vec3) GroupNonUniformBroadcastFirst 42 370
|
||||
372: 332(ptr) AccessChain 34(data) 367 324
|
||||
373: 28(i64vec4) Load 372
|
||||
374: 28(i64vec4) VectorShuffle 373 371 4 5 6 3
|
||||
Store 372 374
|
||||
375: 6(int) Load 8(invocation)
|
||||
376: 332(ptr) AccessChain 34(data) 67 324
|
||||
377: 28(i64vec4) Load 376
|
||||
378: 28(i64vec4) GroupNonUniformBroadcastFirst 42 377
|
||||
379: 332(ptr) AccessChain 34(data) 375 324
|
||||
Store 379 378
|
||||
380: 6(int) Load 8(invocation)
|
||||
383: 382(ptr) AccessChain 34(data) 37 381 38
|
||||
384:29(float16_t) Load 383
|
||||
385:29(float16_t) GroupNonUniformBroadcast 42 384 42
|
||||
386: 382(ptr) AccessChain 34(data) 380 381 38
|
||||
Store 386 385
|
||||
387: 6(int) Load 8(invocation)
|
||||
390: 389(ptr) AccessChain 34(data) 46 381
|
||||
391: 30(f16vec4) Load 390
|
||||
392:388(f16vec2) VectorShuffle 391 391 0 1
|
||||
393:388(f16vec2) GroupNonUniformBroadcast 42 392 42
|
||||
394: 389(ptr) AccessChain 34(data) 387 381
|
||||
395: 30(f16vec4) Load 394
|
||||
396: 30(f16vec4) VectorShuffle 395 393 4 5 2 3
|
||||
Store 394 396
|
||||
397: 6(int) Load 8(invocation)
|
||||
399: 389(ptr) AccessChain 34(data) 57 381
|
||||
400: 30(f16vec4) Load 399
|
||||
401:398(f16vec3) VectorShuffle 400 400 0 1 2
|
||||
402:398(f16vec3) GroupNonUniformBroadcast 42 401 42
|
||||
403: 389(ptr) AccessChain 34(data) 397 381
|
||||
404: 30(f16vec4) Load 403
|
||||
405: 30(f16vec4) VectorShuffle 404 402 4 5 6 3
|
||||
Store 403 405
|
||||
406: 6(int) Load 8(invocation)
|
||||
407: 389(ptr) AccessChain 34(data) 67 381
|
||||
408: 30(f16vec4) Load 407
|
||||
409: 30(f16vec4) GroupNonUniformBroadcast 42 408 42
|
||||
410: 389(ptr) AccessChain 34(data) 406 381
|
||||
Store 410 409
|
||||
411: 6(int) Load 8(invocation)
|
||||
412: 382(ptr) AccessChain 34(data) 37 381 38
|
||||
413:29(float16_t) Load 412
|
||||
414:29(float16_t) GroupNonUniformBroadcastFirst 42 413
|
||||
415: 382(ptr) AccessChain 34(data) 411 381 38
|
||||
Store 415 414
|
||||
416: 6(int) Load 8(invocation)
|
||||
417: 389(ptr) AccessChain 34(data) 46 381
|
||||
418: 30(f16vec4) Load 417
|
||||
419:388(f16vec2) VectorShuffle 418 418 0 1
|
||||
420:388(f16vec2) GroupNonUniformBroadcastFirst 42 419
|
||||
421: 389(ptr) AccessChain 34(data) 416 381
|
||||
422: 30(f16vec4) Load 421
|
||||
423: 30(f16vec4) VectorShuffle 422 420 4 5 2 3
|
||||
Store 421 423
|
||||
424: 6(int) Load 8(invocation)
|
||||
425: 389(ptr) AccessChain 34(data) 57 381
|
||||
426: 30(f16vec4) Load 425
|
||||
427:398(f16vec3) VectorShuffle 426 426 0 1 2
|
||||
428:398(f16vec3) GroupNonUniformBroadcastFirst 42 427
|
||||
429: 389(ptr) AccessChain 34(data) 424 381
|
||||
430: 30(f16vec4) Load 429
|
||||
431: 30(f16vec4) VectorShuffle 430 428 4 5 6 3
|
||||
Store 429 431
|
||||
432: 6(int) Load 8(invocation)
|
||||
433: 389(ptr) AccessChain 34(data) 67 381
|
||||
434: 30(f16vec4) Load 433
|
||||
435: 30(f16vec4) GroupNonUniformBroadcastFirst 42 434
|
||||
436: 389(ptr) AccessChain 34(data) 432 381
|
||||
Store 436 435
|
||||
Return
|
||||
FunctionEnd
|
61
Test/baseResults/spv.subgroupExtendedTypesBallotNeg.comp.out
Normal file
61
Test/baseResults/spv.subgroupExtendedTypesBallotNeg.comp.out
Normal file
@ -0,0 +1,61 @@
|
||||
spv.subgroupExtendedTypesBallotNeg.comp
|
||||
ERROR: 0:26: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:27: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:28: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:29: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:30: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:31: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:33: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:35: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:36: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:38: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:39: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:40: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:41: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:42: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:44: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:45: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:46: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:47: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:48: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:49: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:50: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:51: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:53: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:54: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:55: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:56: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:57: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:58: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:59: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:60: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:62: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:63: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:64: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:65: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:66: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:67: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:68: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:69: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:71: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:72: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:73: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:74: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:75: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:76: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:77: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:78: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:80: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:81: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:82: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:83: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:84: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:85: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:86: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:87: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 56 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
9
Test/baseResults/spv.subgroupExtendedTypesBasic.comp.out
Normal file
9
Test/baseResults/spv.subgroupExtendedTypesBasic.comp.out
Normal file
@ -0,0 +1,9 @@
|
||||
spv.subgroupExtendedTypesBasic.comp
|
||||
ERROR: #version: compute shaders require es profile with version 310 or above, or non-es profile with version 420 or above
|
||||
ERROR: #version: statement must appear first in es-profile shader; before comments or newlines
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: Linking compute stage: Missing entry point: Each stage requires one entry point
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
1520
Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
Normal file
1520
Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
Normal file
File diff suppressed because it is too large
Load Diff
189
Test/baseResults/spv.subgroupExtendedTypesClusteredNeg.comp.out
Normal file
189
Test/baseResults/spv.subgroupExtendedTypesClusteredNeg.comp.out
Normal file
@ -0,0 +1,189 @@
|
||||
spv.subgroupExtendedTypesClusteredNeg.comp
|
||||
ERROR: 0:26: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:27: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:28: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:29: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:31: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:33: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:34: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:36: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:38: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:39: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:41: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:42: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:43: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:44: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:46: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:47: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:48: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:49: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:51: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:52: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:53: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:54: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:56: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:57: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:58: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:59: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:61: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:62: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:63: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:64: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:66: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:67: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:68: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:69: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:71: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:72: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:73: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:74: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:76: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:77: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:78: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:79: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:81: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:82: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:83: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:84: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:86: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:87: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:88: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:89: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:91: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:92: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:93: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:94: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:96: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:97: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:98: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:99: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:101: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:102: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:103: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:104: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:106: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:107: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:108: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:109: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:111: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:112: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:113: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:114: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:116: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:117: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:118: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:119: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:121: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:122: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:123: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:124: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:126: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:127: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:128: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:129: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:131: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:132: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:133: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:134: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:136: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:137: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:138: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:139: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:141: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:142: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:143: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:144: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:146: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:147: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:148: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:149: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:151: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:152: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:153: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:154: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:156: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:157: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:158: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:159: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:161: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:162: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:163: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:164: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:166: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:167: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:168: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:169: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:171: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:172: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:173: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:174: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:176: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:177: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:178: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:179: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:181: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:182: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:183: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:184: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:186: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:187: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:188: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:189: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:191: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:192: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:193: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:194: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:196: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:197: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:198: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:199: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:201: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:202: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:203: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:204: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:206: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:207: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:208: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:209: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:211: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:212: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:213: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:214: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:216: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:217: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:218: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:219: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:221: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:222: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:223: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:224: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:226: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:227: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:228: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:229: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:231: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:232: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:233: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:234: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:236: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:237: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:238: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:239: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:241: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:242: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:243: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:244: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:246: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:247: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:248: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:249: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:251: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:252: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:253: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:254: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 184 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
1835
Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
Normal file
1835
Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,217 @@
|
||||
spv.subgroupExtendedTypesPartitionedNeg.comp
|
||||
ERROR: 0:27: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:28: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:29: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:30: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:33: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:34: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:35: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:38: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:39: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:40: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:42: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:43: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:44: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:45: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:47: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:48: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:49: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:50: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:52: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:53: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:54: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:55: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:57: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:58: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:59: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:60: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:62: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:63: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:64: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:65: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:67: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:68: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:69: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:70: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:72: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:73: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:74: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:75: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:77: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:78: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:79: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:80: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:82: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:83: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:84: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:85: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:87: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:88: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:89: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:90: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:92: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:93: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:94: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:95: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:97: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:98: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:99: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:100: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:102: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:103: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:104: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:105: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:107: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:108: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:109: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:110: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:112: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:113: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:114: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:115: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:117: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:118: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:119: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:120: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:122: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:123: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:124: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:125: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:127: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:128: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:129: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:130: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:132: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:133: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:134: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:135: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:137: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:138: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:139: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:140: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:142: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:143: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:144: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:145: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:147: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:148: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:149: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:150: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:152: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:153: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:154: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:155: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:157: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:158: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:159: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:160: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:162: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:163: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:164: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:165: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:167: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:168: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:169: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:170: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:172: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:173: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:174: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:175: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:177: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:178: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:179: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:180: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:182: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:183: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:184: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:185: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:187: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:188: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:189: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:190: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:192: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:193: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:194: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:195: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:197: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:198: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:199: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:200: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:202: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:203: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:204: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:205: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:207: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:208: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:209: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:210: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:212: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:213: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:214: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:215: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:217: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:218: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:219: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:220: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:222: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:223: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:224: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:225: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:227: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:228: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:229: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:230: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:232: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:233: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:234: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:235: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:237: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:238: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:239: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:240: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:242: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:243: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:244: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:245: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:247: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:248: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:249: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:250: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:252: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:253: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:254: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:255: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:257: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:258: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:259: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:260: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:262: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:263: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:264: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:265: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:267: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:268: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:269: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:270: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:272: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:273: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:274: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:275: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:277: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:278: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:279: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:280: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:282: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:283: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:284: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:285: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:287: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:288: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:289: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:290: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 212 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
981
Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
Normal file
981
Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
Normal file
@ -0,0 +1,981 @@
|
||||
spv.subgroupExtendedTypesQuad.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 806
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
Capability GroupNonUniform
|
||||
Capability GroupNonUniformQuad
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 12
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_float16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int64"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int8"
|
||||
SourceExtension "GL_KHR_shader_subgroup_basic"
|
||||
SourceExtension "GL_KHR_shader_subgroup_quad"
|
||||
Name 4 "main"
|
||||
Name 8 "invocation"
|
||||
Name 10 "gl_SubgroupInvocationID"
|
||||
Name 12 "gl_SubgroupSize"
|
||||
Name 31 "Buffers"
|
||||
MemberName 31(Buffers) 0 "i8"
|
||||
MemberName 31(Buffers) 1 "u8"
|
||||
MemberName 31(Buffers) 2 "i16"
|
||||
MemberName 31(Buffers) 3 "u16"
|
||||
MemberName 31(Buffers) 4 "i64"
|
||||
MemberName 31(Buffers) 5 "u64"
|
||||
MemberName 31(Buffers) 6 "f16"
|
||||
Name 34 "data"
|
||||
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 11 RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
||||
Decorate 13 RelaxedPrecision
|
||||
Decorate 14 RelaxedPrecision
|
||||
Decorate 16 RelaxedPrecision
|
||||
MemberDecorate 31(Buffers) 0 Offset 0
|
||||
MemberDecorate 31(Buffers) 1 Offset 4
|
||||
MemberDecorate 31(Buffers) 2 Offset 8
|
||||
MemberDecorate 31(Buffers) 3 Offset 16
|
||||
MemberDecorate 31(Buffers) 4 Offset 32
|
||||
MemberDecorate 31(Buffers) 5 Offset 64
|
||||
MemberDecorate 31(Buffers) 6 Offset 96
|
||||
Decorate 31(Buffers) Block
|
||||
Decorate 34(data) DescriptorSet 0
|
||||
Decorate 34(data) Binding 0
|
||||
Decorate 805 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypePointer Input 6(int)
|
||||
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
||||
12(gl_SubgroupSize): 9(ptr) Variable Input
|
||||
15: 6(int) Constant 4
|
||||
17: TypeInt 8 1
|
||||
18: TypeVector 17(int8_t) 4
|
||||
19: TypeInt 8 0
|
||||
20: TypeVector 19(int8_t) 4
|
||||
21: TypeInt 16 1
|
||||
22: TypeVector 21(int16_t) 4
|
||||
23: TypeInt 16 0
|
||||
24: TypeVector 23(int16_t) 4
|
||||
25: TypeInt 64 1
|
||||
26: TypeVector 25(int64_t) 4
|
||||
27: TypeInt 64 0
|
||||
28: TypeVector 27(int64_t) 4
|
||||
29: TypeFloat 16
|
||||
30: TypeVector 29(float16_t) 4
|
||||
31(Buffers): TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4)
|
||||
32: TypeArray 31(Buffers) 15
|
||||
33: TypePointer StorageBuffer 32
|
||||
34(data): 33(ptr) Variable StorageBuffer
|
||||
36: TypeInt 32 1
|
||||
37: 36(int) Constant 0
|
||||
38: 6(int) Constant 0
|
||||
39: TypePointer StorageBuffer 17(int8_t)
|
||||
42: 6(int) Constant 1
|
||||
43: 6(int) Constant 3
|
||||
47: 36(int) Constant 1
|
||||
48: TypeVector 17(int8_t) 2
|
||||
49: TypePointer StorageBuffer 18(i8vec4)
|
||||
58: 36(int) Constant 2
|
||||
59: TypeVector 17(int8_t) 3
|
||||
68: 36(int) Constant 3
|
||||
128: 6(int) Constant 2
|
||||
153: TypePointer StorageBuffer 19(int8_t)
|
||||
159: TypeVector 19(int8_t) 2
|
||||
160: TypePointer StorageBuffer 20(i8vec4)
|
||||
169: TypeVector 19(int8_t) 3
|
||||
261: TypePointer StorageBuffer 21(int16_t)
|
||||
267: TypeVector 21(int16_t) 2
|
||||
268: TypePointer StorageBuffer 22(i16vec4)
|
||||
277: TypeVector 21(int16_t) 3
|
||||
369: TypePointer StorageBuffer 23(int16_t)
|
||||
375: TypeVector 23(int16_t) 2
|
||||
376: TypePointer StorageBuffer 24(i16vec4)
|
||||
385: TypeVector 23(int16_t) 3
|
||||
477: 36(int) Constant 4
|
||||
478: TypePointer StorageBuffer 25(int64_t)
|
||||
484: TypeVector 25(int64_t) 2
|
||||
485: TypePointer StorageBuffer 26(i64vec4)
|
||||
494: TypeVector 25(int64_t) 3
|
||||
586: 36(int) Constant 5
|
||||
587: TypePointer StorageBuffer 27(int64_t)
|
||||
593: TypeVector 27(int64_t) 2
|
||||
594: TypePointer StorageBuffer 28(i64vec4)
|
||||
603: TypeVector 27(int64_t) 3
|
||||
695: 36(int) Constant 6
|
||||
696: TypePointer StorageBuffer 29(float16_t)
|
||||
702: TypeVector 29(float16_t) 2
|
||||
703: TypePointer StorageBuffer 30(f16vec4)
|
||||
712: TypeVector 29(float16_t) 3
|
||||
803: TypeVector 6(int) 3
|
||||
804: 6(int) Constant 8
|
||||
805: 803(ivec3) ConstantComposite 804 42 42
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
||||
13: 6(int) Load 12(gl_SubgroupSize)
|
||||
14: 6(int) IAdd 11 13
|
||||
16: 6(int) UMod 14 15
|
||||
Store 8(invocation) 16
|
||||
35: 6(int) Load 8(invocation)
|
||||
40: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
41: 17(int8_t) Load 40
|
||||
44: 17(int8_t) GroupNonUniformQuadBroadcast 43 41 42
|
||||
45: 39(ptr) AccessChain 34(data) 35 37 38
|
||||
Store 45 44
|
||||
46: 6(int) Load 8(invocation)
|
||||
50: 49(ptr) AccessChain 34(data) 47 37
|
||||
51: 18(i8vec4) Load 50
|
||||
52: 48(i8vec2) VectorShuffle 51 51 0 1
|
||||
53: 48(i8vec2) GroupNonUniformQuadBroadcast 43 52 42
|
||||
54: 49(ptr) AccessChain 34(data) 46 37
|
||||
55: 18(i8vec4) Load 54
|
||||
56: 18(i8vec4) VectorShuffle 55 53 4 5 2 3
|
||||
Store 54 56
|
||||
57: 6(int) Load 8(invocation)
|
||||
60: 49(ptr) AccessChain 34(data) 58 37
|
||||
61: 18(i8vec4) Load 60
|
||||
62: 59(i8vec3) VectorShuffle 61 61 0 1 2
|
||||
63: 59(i8vec3) GroupNonUniformQuadBroadcast 43 62 42
|
||||
64: 49(ptr) AccessChain 34(data) 57 37
|
||||
65: 18(i8vec4) Load 64
|
||||
66: 18(i8vec4) VectorShuffle 65 63 4 5 6 3
|
||||
Store 64 66
|
||||
67: 6(int) Load 8(invocation)
|
||||
69: 49(ptr) AccessChain 34(data) 68 37
|
||||
70: 18(i8vec4) Load 69
|
||||
71: 18(i8vec4) GroupNonUniformQuadBroadcast 43 70 42
|
||||
72: 49(ptr) AccessChain 34(data) 67 37
|
||||
Store 72 71
|
||||
73: 6(int) Load 8(invocation)
|
||||
74: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
75: 17(int8_t) Load 74
|
||||
76: 17(int8_t) GroupNonUniformQuadSwap 43 75 38
|
||||
77: 39(ptr) AccessChain 34(data) 73 37 38
|
||||
Store 77 76
|
||||
78: 6(int) Load 8(invocation)
|
||||
79: 49(ptr) AccessChain 34(data) 47 37
|
||||
80: 18(i8vec4) Load 79
|
||||
81: 48(i8vec2) VectorShuffle 80 80 0 1
|
||||
82: 48(i8vec2) GroupNonUniformQuadSwap 43 81 38
|
||||
83: 49(ptr) AccessChain 34(data) 78 37
|
||||
84: 18(i8vec4) Load 83
|
||||
85: 18(i8vec4) VectorShuffle 84 82 4 5 2 3
|
||||
Store 83 85
|
||||
86: 6(int) Load 8(invocation)
|
||||
87: 49(ptr) AccessChain 34(data) 58 37
|
||||
88: 18(i8vec4) Load 87
|
||||
89: 59(i8vec3) VectorShuffle 88 88 0 1 2
|
||||
90: 59(i8vec3) GroupNonUniformQuadSwap 43 89 38
|
||||
91: 49(ptr) AccessChain 34(data) 86 37
|
||||
92: 18(i8vec4) Load 91
|
||||
93: 18(i8vec4) VectorShuffle 92 90 4 5 6 3
|
||||
Store 91 93
|
||||
94: 6(int) Load 8(invocation)
|
||||
95: 49(ptr) AccessChain 34(data) 68 37
|
||||
96: 18(i8vec4) Load 95
|
||||
97: 18(i8vec4) GroupNonUniformQuadSwap 43 96 38
|
||||
98: 49(ptr) AccessChain 34(data) 94 37
|
||||
Store 98 97
|
||||
99: 6(int) Load 8(invocation)
|
||||
100: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
101: 17(int8_t) Load 100
|
||||
102: 17(int8_t) GroupNonUniformQuadSwap 43 101 42
|
||||
103: 39(ptr) AccessChain 34(data) 99 37 38
|
||||
Store 103 102
|
||||
104: 6(int) Load 8(invocation)
|
||||
105: 49(ptr) AccessChain 34(data) 47 37
|
||||
106: 18(i8vec4) Load 105
|
||||
107: 48(i8vec2) VectorShuffle 106 106 0 1
|
||||
108: 48(i8vec2) GroupNonUniformQuadSwap 43 107 42
|
||||
109: 49(ptr) AccessChain 34(data) 104 37
|
||||
110: 18(i8vec4) Load 109
|
||||
111: 18(i8vec4) VectorShuffle 110 108 4 5 2 3
|
||||
Store 109 111
|
||||
112: 6(int) Load 8(invocation)
|
||||
113: 49(ptr) AccessChain 34(data) 58 37
|
||||
114: 18(i8vec4) Load 113
|
||||
115: 59(i8vec3) VectorShuffle 114 114 0 1 2
|
||||
116: 59(i8vec3) GroupNonUniformQuadSwap 43 115 42
|
||||
117: 49(ptr) AccessChain 34(data) 112 37
|
||||
118: 18(i8vec4) Load 117
|
||||
119: 18(i8vec4) VectorShuffle 118 116 4 5 6 3
|
||||
Store 117 119
|
||||
120: 6(int) Load 8(invocation)
|
||||
121: 49(ptr) AccessChain 34(data) 68 37
|
||||
122: 18(i8vec4) Load 121
|
||||
123: 18(i8vec4) GroupNonUniformQuadSwap 43 122 42
|
||||
124: 49(ptr) AccessChain 34(data) 120 37
|
||||
Store 124 123
|
||||
125: 6(int) Load 8(invocation)
|
||||
126: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
127: 17(int8_t) Load 126
|
||||
129: 17(int8_t) GroupNonUniformQuadSwap 43 127 128
|
||||
130: 39(ptr) AccessChain 34(data) 125 37 38
|
||||
Store 130 129
|
||||
131: 6(int) Load 8(invocation)
|
||||
132: 49(ptr) AccessChain 34(data) 47 37
|
||||
133: 18(i8vec4) Load 132
|
||||
134: 48(i8vec2) VectorShuffle 133 133 0 1
|
||||
135: 48(i8vec2) GroupNonUniformQuadSwap 43 134 128
|
||||
136: 49(ptr) AccessChain 34(data) 131 37
|
||||
137: 18(i8vec4) Load 136
|
||||
138: 18(i8vec4) VectorShuffle 137 135 4 5 2 3
|
||||
Store 136 138
|
||||
139: 6(int) Load 8(invocation)
|
||||
140: 49(ptr) AccessChain 34(data) 58 37
|
||||
141: 18(i8vec4) Load 140
|
||||
142: 59(i8vec3) VectorShuffle 141 141 0 1 2
|
||||
143: 59(i8vec3) GroupNonUniformQuadSwap 43 142 128
|
||||
144: 49(ptr) AccessChain 34(data) 139 37
|
||||
145: 18(i8vec4) Load 144
|
||||
146: 18(i8vec4) VectorShuffle 145 143 4 5 6 3
|
||||
Store 144 146
|
||||
147: 6(int) Load 8(invocation)
|
||||
148: 49(ptr) AccessChain 34(data) 68 37
|
||||
149: 18(i8vec4) Load 148
|
||||
150: 18(i8vec4) GroupNonUniformQuadSwap 43 149 128
|
||||
151: 49(ptr) AccessChain 34(data) 147 37
|
||||
Store 151 150
|
||||
152: 6(int) Load 8(invocation)
|
||||
154: 153(ptr) AccessChain 34(data) 37 47 38
|
||||
155: 19(int8_t) Load 154
|
||||
156: 19(int8_t) GroupNonUniformQuadBroadcast 43 155 42
|
||||
157: 153(ptr) AccessChain 34(data) 152 47 38
|
||||
Store 157 156
|
||||
158: 6(int) Load 8(invocation)
|
||||
161: 160(ptr) AccessChain 34(data) 47 47
|
||||
162: 20(i8vec4) Load 161
|
||||
163: 159(i8vec2) VectorShuffle 162 162 0 1
|
||||
164: 159(i8vec2) GroupNonUniformQuadBroadcast 43 163 42
|
||||
165: 160(ptr) AccessChain 34(data) 158 47
|
||||
166: 20(i8vec4) Load 165
|
||||
167: 20(i8vec4) VectorShuffle 166 164 4 5 2 3
|
||||
Store 165 167
|
||||
168: 6(int) Load 8(invocation)
|
||||
170: 160(ptr) AccessChain 34(data) 58 47
|
||||
171: 20(i8vec4) Load 170
|
||||
172: 169(i8vec3) VectorShuffle 171 171 0 1 2
|
||||
173: 169(i8vec3) GroupNonUniformQuadBroadcast 43 172 42
|
||||
174: 160(ptr) AccessChain 34(data) 168 47
|
||||
175: 20(i8vec4) Load 174
|
||||
176: 20(i8vec4) VectorShuffle 175 173 4 5 6 3
|
||||
Store 174 176
|
||||
177: 6(int) Load 8(invocation)
|
||||
178: 160(ptr) AccessChain 34(data) 68 47
|
||||
179: 20(i8vec4) Load 178
|
||||
180: 20(i8vec4) GroupNonUniformQuadBroadcast 43 179 42
|
||||
181: 160(ptr) AccessChain 34(data) 177 47
|
||||
Store 181 180
|
||||
182: 6(int) Load 8(invocation)
|
||||
183: 153(ptr) AccessChain 34(data) 37 47 38
|
||||
184: 19(int8_t) Load 183
|
||||
185: 19(int8_t) GroupNonUniformQuadSwap 43 184 38
|
||||
186: 153(ptr) AccessChain 34(data) 182 47 38
|
||||
Store 186 185
|
||||
187: 6(int) Load 8(invocation)
|
||||
188: 160(ptr) AccessChain 34(data) 47 47
|
||||
189: 20(i8vec4) Load 188
|
||||
190: 159(i8vec2) VectorShuffle 189 189 0 1
|
||||
191: 159(i8vec2) GroupNonUniformQuadSwap 43 190 38
|
||||
192: 160(ptr) AccessChain 34(data) 187 47
|
||||
193: 20(i8vec4) Load 192
|
||||
194: 20(i8vec4) VectorShuffle 193 191 4 5 2 3
|
||||
Store 192 194
|
||||
195: 6(int) Load 8(invocation)
|
||||
196: 160(ptr) AccessChain 34(data) 58 47
|
||||
197: 20(i8vec4) Load 196
|
||||
198: 169(i8vec3) VectorShuffle 197 197 0 1 2
|
||||
199: 169(i8vec3) GroupNonUniformQuadSwap 43 198 38
|
||||
200: 160(ptr) AccessChain 34(data) 195 47
|
||||
201: 20(i8vec4) Load 200
|
||||
202: 20(i8vec4) VectorShuffle 201 199 4 5 6 3
|
||||
Store 200 202
|
||||
203: 6(int) Load 8(invocation)
|
||||
204: 160(ptr) AccessChain 34(data) 68 47
|
||||
205: 20(i8vec4) Load 204
|
||||
206: 20(i8vec4) GroupNonUniformQuadSwap 43 205 38
|
||||
207: 160(ptr) AccessChain 34(data) 203 47
|
||||
Store 207 206
|
||||
208: 6(int) Load 8(invocation)
|
||||
209: 153(ptr) AccessChain 34(data) 37 47 38
|
||||
210: 19(int8_t) Load 209
|
||||
211: 19(int8_t) GroupNonUniformQuadSwap 43 210 42
|
||||
212: 153(ptr) AccessChain 34(data) 208 47 38
|
||||
Store 212 211
|
||||
213: 6(int) Load 8(invocation)
|
||||
214: 160(ptr) AccessChain 34(data) 47 47
|
||||
215: 20(i8vec4) Load 214
|
||||
216: 159(i8vec2) VectorShuffle 215 215 0 1
|
||||
217: 159(i8vec2) GroupNonUniformQuadSwap 43 216 42
|
||||
218: 160(ptr) AccessChain 34(data) 213 47
|
||||
219: 20(i8vec4) Load 218
|
||||
220: 20(i8vec4) VectorShuffle 219 217 4 5 2 3
|
||||
Store 218 220
|
||||
221: 6(int) Load 8(invocation)
|
||||
222: 160(ptr) AccessChain 34(data) 58 47
|
||||
223: 20(i8vec4) Load 222
|
||||
224: 169(i8vec3) VectorShuffle 223 223 0 1 2
|
||||
225: 169(i8vec3) GroupNonUniformQuadSwap 43 224 42
|
||||
226: 160(ptr) AccessChain 34(data) 221 47
|
||||
227: 20(i8vec4) Load 226
|
||||
228: 20(i8vec4) VectorShuffle 227 225 4 5 6 3
|
||||
Store 226 228
|
||||
229: 6(int) Load 8(invocation)
|
||||
230: 160(ptr) AccessChain 34(data) 68 47
|
||||
231: 20(i8vec4) Load 230
|
||||
232: 20(i8vec4) GroupNonUniformQuadSwap 43 231 42
|
||||
233: 160(ptr) AccessChain 34(data) 229 47
|
||||
Store 233 232
|
||||
234: 6(int) Load 8(invocation)
|
||||
235: 153(ptr) AccessChain 34(data) 37 47 38
|
||||
236: 19(int8_t) Load 235
|
||||
237: 19(int8_t) GroupNonUniformQuadSwap 43 236 128
|
||||
238: 153(ptr) AccessChain 34(data) 234 47 38
|
||||
Store 238 237
|
||||
239: 6(int) Load 8(invocation)
|
||||
240: 160(ptr) AccessChain 34(data) 47 47
|
||||
241: 20(i8vec4) Load 240
|
||||
242: 159(i8vec2) VectorShuffle 241 241 0 1
|
||||
243: 159(i8vec2) GroupNonUniformQuadSwap 43 242 128
|
||||
244: 160(ptr) AccessChain 34(data) 239 47
|
||||
245: 20(i8vec4) Load 244
|
||||
246: 20(i8vec4) VectorShuffle 245 243 4 5 2 3
|
||||
Store 244 246
|
||||
247: 6(int) Load 8(invocation)
|
||||
248: 160(ptr) AccessChain 34(data) 58 47
|
||||
249: 20(i8vec4) Load 248
|
||||
250: 169(i8vec3) VectorShuffle 249 249 0 1 2
|
||||
251: 169(i8vec3) GroupNonUniformQuadSwap 43 250 128
|
||||
252: 160(ptr) AccessChain 34(data) 247 47
|
||||
253: 20(i8vec4) Load 252
|
||||
254: 20(i8vec4) VectorShuffle 253 251 4 5 6 3
|
||||
Store 252 254
|
||||
255: 6(int) Load 8(invocation)
|
||||
256: 160(ptr) AccessChain 34(data) 68 47
|
||||
257: 20(i8vec4) Load 256
|
||||
258: 20(i8vec4) GroupNonUniformQuadSwap 43 257 128
|
||||
259: 160(ptr) AccessChain 34(data) 255 47
|
||||
Store 259 258
|
||||
260: 6(int) Load 8(invocation)
|
||||
262: 261(ptr) AccessChain 34(data) 37 58 38
|
||||
263: 21(int16_t) Load 262
|
||||
264: 21(int16_t) GroupNonUniformQuadBroadcast 43 263 42
|
||||
265: 261(ptr) AccessChain 34(data) 260 58 38
|
||||
Store 265 264
|
||||
266: 6(int) Load 8(invocation)
|
||||
269: 268(ptr) AccessChain 34(data) 47 58
|
||||
270: 22(i16vec4) Load 269
|
||||
271:267(i16vec2) VectorShuffle 270 270 0 1
|
||||
272:267(i16vec2) GroupNonUniformQuadBroadcast 43 271 42
|
||||
273: 268(ptr) AccessChain 34(data) 266 58
|
||||
274: 22(i16vec4) Load 273
|
||||
275: 22(i16vec4) VectorShuffle 274 272 4 5 2 3
|
||||
Store 273 275
|
||||
276: 6(int) Load 8(invocation)
|
||||
278: 268(ptr) AccessChain 34(data) 58 58
|
||||
279: 22(i16vec4) Load 278
|
||||
280:277(i16vec3) VectorShuffle 279 279 0 1 2
|
||||
281:277(i16vec3) GroupNonUniformQuadBroadcast 43 280 42
|
||||
282: 268(ptr) AccessChain 34(data) 276 58
|
||||
283: 22(i16vec4) Load 282
|
||||
284: 22(i16vec4) VectorShuffle 283 281 4 5 6 3
|
||||
Store 282 284
|
||||
285: 6(int) Load 8(invocation)
|
||||
286: 268(ptr) AccessChain 34(data) 68 58
|
||||
287: 22(i16vec4) Load 286
|
||||
288: 22(i16vec4) GroupNonUniformQuadBroadcast 43 287 42
|
||||
289: 268(ptr) AccessChain 34(data) 285 58
|
||||
Store 289 288
|
||||
290: 6(int) Load 8(invocation)
|
||||
291: 261(ptr) AccessChain 34(data) 37 58 38
|
||||
292: 21(int16_t) Load 291
|
||||
293: 21(int16_t) GroupNonUniformQuadSwap 43 292 38
|
||||
294: 261(ptr) AccessChain 34(data) 290 58 38
|
||||
Store 294 293
|
||||
295: 6(int) Load 8(invocation)
|
||||
296: 268(ptr) AccessChain 34(data) 47 58
|
||||
297: 22(i16vec4) Load 296
|
||||
298:267(i16vec2) VectorShuffle 297 297 0 1
|
||||
299:267(i16vec2) GroupNonUniformQuadSwap 43 298 38
|
||||
300: 268(ptr) AccessChain 34(data) 295 58
|
||||
301: 22(i16vec4) Load 300
|
||||
302: 22(i16vec4) VectorShuffle 301 299 4 5 2 3
|
||||
Store 300 302
|
||||
303: 6(int) Load 8(invocation)
|
||||
304: 268(ptr) AccessChain 34(data) 58 58
|
||||
305: 22(i16vec4) Load 304
|
||||
306:277(i16vec3) VectorShuffle 305 305 0 1 2
|
||||
307:277(i16vec3) GroupNonUniformQuadSwap 43 306 38
|
||||
308: 268(ptr) AccessChain 34(data) 303 58
|
||||
309: 22(i16vec4) Load 308
|
||||
310: 22(i16vec4) VectorShuffle 309 307 4 5 6 3
|
||||
Store 308 310
|
||||
311: 6(int) Load 8(invocation)
|
||||
312: 268(ptr) AccessChain 34(data) 68 58
|
||||
313: 22(i16vec4) Load 312
|
||||
314: 22(i16vec4) GroupNonUniformQuadSwap 43 313 38
|
||||
315: 268(ptr) AccessChain 34(data) 311 58
|
||||
Store 315 314
|
||||
316: 6(int) Load 8(invocation)
|
||||
317: 261(ptr) AccessChain 34(data) 37 58 38
|
||||
318: 21(int16_t) Load 317
|
||||
319: 21(int16_t) GroupNonUniformQuadSwap 43 318 42
|
||||
320: 261(ptr) AccessChain 34(data) 316 58 38
|
||||
Store 320 319
|
||||
321: 6(int) Load 8(invocation)
|
||||
322: 268(ptr) AccessChain 34(data) 47 58
|
||||
323: 22(i16vec4) Load 322
|
||||
324:267(i16vec2) VectorShuffle 323 323 0 1
|
||||
325:267(i16vec2) GroupNonUniformQuadSwap 43 324 42
|
||||
326: 268(ptr) AccessChain 34(data) 321 58
|
||||
327: 22(i16vec4) Load 326
|
||||
328: 22(i16vec4) VectorShuffle 327 325 4 5 2 3
|
||||
Store 326 328
|
||||
329: 6(int) Load 8(invocation)
|
||||
330: 268(ptr) AccessChain 34(data) 58 58
|
||||
331: 22(i16vec4) Load 330
|
||||
332:277(i16vec3) VectorShuffle 331 331 0 1 2
|
||||
333:277(i16vec3) GroupNonUniformQuadSwap 43 332 42
|
||||
334: 268(ptr) AccessChain 34(data) 329 58
|
||||
335: 22(i16vec4) Load 334
|
||||
336: 22(i16vec4) VectorShuffle 335 333 4 5 6 3
|
||||
Store 334 336
|
||||
337: 6(int) Load 8(invocation)
|
||||
338: 268(ptr) AccessChain 34(data) 68 58
|
||||
339: 22(i16vec4) Load 338
|
||||
340: 22(i16vec4) GroupNonUniformQuadSwap 43 339 42
|
||||
341: 268(ptr) AccessChain 34(data) 337 58
|
||||
Store 341 340
|
||||
342: 6(int) Load 8(invocation)
|
||||
343: 261(ptr) AccessChain 34(data) 37 58 38
|
||||
344: 21(int16_t) Load 343
|
||||
345: 21(int16_t) GroupNonUniformQuadSwap 43 344 128
|
||||
346: 261(ptr) AccessChain 34(data) 342 58 38
|
||||
Store 346 345
|
||||
347: 6(int) Load 8(invocation)
|
||||
348: 268(ptr) AccessChain 34(data) 47 58
|
||||
349: 22(i16vec4) Load 348
|
||||
350:267(i16vec2) VectorShuffle 349 349 0 1
|
||||
351:267(i16vec2) GroupNonUniformQuadSwap 43 350 128
|
||||
352: 268(ptr) AccessChain 34(data) 347 58
|
||||
353: 22(i16vec4) Load 352
|
||||
354: 22(i16vec4) VectorShuffle 353 351 4 5 2 3
|
||||
Store 352 354
|
||||
355: 6(int) Load 8(invocation)
|
||||
356: 268(ptr) AccessChain 34(data) 58 58
|
||||
357: 22(i16vec4) Load 356
|
||||
358:277(i16vec3) VectorShuffle 357 357 0 1 2
|
||||
359:277(i16vec3) GroupNonUniformQuadSwap 43 358 128
|
||||
360: 268(ptr) AccessChain 34(data) 355 58
|
||||
361: 22(i16vec4) Load 360
|
||||
362: 22(i16vec4) VectorShuffle 361 359 4 5 6 3
|
||||
Store 360 362
|
||||
363: 6(int) Load 8(invocation)
|
||||
364: 268(ptr) AccessChain 34(data) 68 58
|
||||
365: 22(i16vec4) Load 364
|
||||
366: 22(i16vec4) GroupNonUniformQuadSwap 43 365 128
|
||||
367: 268(ptr) AccessChain 34(data) 363 58
|
||||
Store 367 366
|
||||
368: 6(int) Load 8(invocation)
|
||||
370: 369(ptr) AccessChain 34(data) 37 68 38
|
||||
371: 23(int16_t) Load 370
|
||||
372: 23(int16_t) GroupNonUniformQuadBroadcast 43 371 42
|
||||
373: 369(ptr) AccessChain 34(data) 368 68 38
|
||||
Store 373 372
|
||||
374: 6(int) Load 8(invocation)
|
||||
377: 376(ptr) AccessChain 34(data) 47 68
|
||||
378: 24(i16vec4) Load 377
|
||||
379:375(i16vec2) VectorShuffle 378 378 0 1
|
||||
380:375(i16vec2) GroupNonUniformQuadBroadcast 43 379 42
|
||||
381: 376(ptr) AccessChain 34(data) 374 68
|
||||
382: 24(i16vec4) Load 381
|
||||
383: 24(i16vec4) VectorShuffle 382 380 4 5 2 3
|
||||
Store 381 383
|
||||
384: 6(int) Load 8(invocation)
|
||||
386: 376(ptr) AccessChain 34(data) 58 68
|
||||
387: 24(i16vec4) Load 386
|
||||
388:385(i16vec3) VectorShuffle 387 387 0 1 2
|
||||
389:385(i16vec3) GroupNonUniformQuadBroadcast 43 388 42
|
||||
390: 376(ptr) AccessChain 34(data) 384 68
|
||||
391: 24(i16vec4) Load 390
|
||||
392: 24(i16vec4) VectorShuffle 391 389 4 5 6 3
|
||||
Store 390 392
|
||||
393: 6(int) Load 8(invocation)
|
||||
394: 376(ptr) AccessChain 34(data) 68 68
|
||||
395: 24(i16vec4) Load 394
|
||||
396: 24(i16vec4) GroupNonUniformQuadBroadcast 43 395 42
|
||||
397: 376(ptr) AccessChain 34(data) 393 68
|
||||
Store 397 396
|
||||
398: 6(int) Load 8(invocation)
|
||||
399: 369(ptr) AccessChain 34(data) 37 68 38
|
||||
400: 23(int16_t) Load 399
|
||||
401: 23(int16_t) GroupNonUniformQuadSwap 43 400 38
|
||||
402: 369(ptr) AccessChain 34(data) 398 68 38
|
||||
Store 402 401
|
||||
403: 6(int) Load 8(invocation)
|
||||
404: 376(ptr) AccessChain 34(data) 47 68
|
||||
405: 24(i16vec4) Load 404
|
||||
406:375(i16vec2) VectorShuffle 405 405 0 1
|
||||
407:375(i16vec2) GroupNonUniformQuadSwap 43 406 38
|
||||
408: 376(ptr) AccessChain 34(data) 403 68
|
||||
409: 24(i16vec4) Load 408
|
||||
410: 24(i16vec4) VectorShuffle 409 407 4 5 2 3
|
||||
Store 408 410
|
||||
411: 6(int) Load 8(invocation)
|
||||
412: 376(ptr) AccessChain 34(data) 58 68
|
||||
413: 24(i16vec4) Load 412
|
||||
414:385(i16vec3) VectorShuffle 413 413 0 1 2
|
||||
415:385(i16vec3) GroupNonUniformQuadSwap 43 414 38
|
||||
416: 376(ptr) AccessChain 34(data) 411 68
|
||||
417: 24(i16vec4) Load 416
|
||||
418: 24(i16vec4) VectorShuffle 417 415 4 5 6 3
|
||||
Store 416 418
|
||||
419: 6(int) Load 8(invocation)
|
||||
420: 376(ptr) AccessChain 34(data) 68 68
|
||||
421: 24(i16vec4) Load 420
|
||||
422: 24(i16vec4) GroupNonUniformQuadSwap 43 421 38
|
||||
423: 376(ptr) AccessChain 34(data) 419 68
|
||||
Store 423 422
|
||||
424: 6(int) Load 8(invocation)
|
||||
425: 369(ptr) AccessChain 34(data) 37 68 38
|
||||
426: 23(int16_t) Load 425
|
||||
427: 23(int16_t) GroupNonUniformQuadSwap 43 426 42
|
||||
428: 369(ptr) AccessChain 34(data) 424 68 38
|
||||
Store 428 427
|
||||
429: 6(int) Load 8(invocation)
|
||||
430: 376(ptr) AccessChain 34(data) 47 68
|
||||
431: 24(i16vec4) Load 430
|
||||
432:375(i16vec2) VectorShuffle 431 431 0 1
|
||||
433:375(i16vec2) GroupNonUniformQuadSwap 43 432 42
|
||||
434: 376(ptr) AccessChain 34(data) 429 68
|
||||
435: 24(i16vec4) Load 434
|
||||
436: 24(i16vec4) VectorShuffle 435 433 4 5 2 3
|
||||
Store 434 436
|
||||
437: 6(int) Load 8(invocation)
|
||||
438: 376(ptr) AccessChain 34(data) 58 68
|
||||
439: 24(i16vec4) Load 438
|
||||
440:385(i16vec3) VectorShuffle 439 439 0 1 2
|
||||
441:385(i16vec3) GroupNonUniformQuadSwap 43 440 42
|
||||
442: 376(ptr) AccessChain 34(data) 437 68
|
||||
443: 24(i16vec4) Load 442
|
||||
444: 24(i16vec4) VectorShuffle 443 441 4 5 6 3
|
||||
Store 442 444
|
||||
445: 6(int) Load 8(invocation)
|
||||
446: 376(ptr) AccessChain 34(data) 68 68
|
||||
447: 24(i16vec4) Load 446
|
||||
448: 24(i16vec4) GroupNonUniformQuadSwap 43 447 42
|
||||
449: 376(ptr) AccessChain 34(data) 445 68
|
||||
Store 449 448
|
||||
450: 6(int) Load 8(invocation)
|
||||
451: 369(ptr) AccessChain 34(data) 37 68 38
|
||||
452: 23(int16_t) Load 451
|
||||
453: 23(int16_t) GroupNonUniformQuadSwap 43 452 128
|
||||
454: 369(ptr) AccessChain 34(data) 450 68 38
|
||||
Store 454 453
|
||||
455: 6(int) Load 8(invocation)
|
||||
456: 376(ptr) AccessChain 34(data) 47 68
|
||||
457: 24(i16vec4) Load 456
|
||||
458:375(i16vec2) VectorShuffle 457 457 0 1
|
||||
459:375(i16vec2) GroupNonUniformQuadSwap 43 458 128
|
||||
460: 376(ptr) AccessChain 34(data) 455 68
|
||||
461: 24(i16vec4) Load 460
|
||||
462: 24(i16vec4) VectorShuffle 461 459 4 5 2 3
|
||||
Store 460 462
|
||||
463: 6(int) Load 8(invocation)
|
||||
464: 376(ptr) AccessChain 34(data) 58 68
|
||||
465: 24(i16vec4) Load 464
|
||||
466:385(i16vec3) VectorShuffle 465 465 0 1 2
|
||||
467:385(i16vec3) GroupNonUniformQuadSwap 43 466 128
|
||||
468: 376(ptr) AccessChain 34(data) 463 68
|
||||
469: 24(i16vec4) Load 468
|
||||
470: 24(i16vec4) VectorShuffle 469 467 4 5 6 3
|
||||
Store 468 470
|
||||
471: 6(int) Load 8(invocation)
|
||||
472: 376(ptr) AccessChain 34(data) 68 68
|
||||
473: 24(i16vec4) Load 472
|
||||
474: 24(i16vec4) GroupNonUniformQuadSwap 43 473 128
|
||||
475: 376(ptr) AccessChain 34(data) 471 68
|
||||
Store 475 474
|
||||
476: 6(int) Load 8(invocation)
|
||||
479: 478(ptr) AccessChain 34(data) 37 477 38
|
||||
480: 25(int64_t) Load 479
|
||||
481: 25(int64_t) GroupNonUniformQuadBroadcast 43 480 42
|
||||
482: 478(ptr) AccessChain 34(data) 476 477 38
|
||||
Store 482 481
|
||||
483: 6(int) Load 8(invocation)
|
||||
486: 485(ptr) AccessChain 34(data) 47 477
|
||||
487: 26(i64vec4) Load 486
|
||||
488:484(i64vec2) VectorShuffle 487 487 0 1
|
||||
489:484(i64vec2) GroupNonUniformQuadBroadcast 43 488 42
|
||||
490: 485(ptr) AccessChain 34(data) 483 477
|
||||
491: 26(i64vec4) Load 490
|
||||
492: 26(i64vec4) VectorShuffle 491 489 4 5 2 3
|
||||
Store 490 492
|
||||
493: 6(int) Load 8(invocation)
|
||||
495: 485(ptr) AccessChain 34(data) 58 477
|
||||
496: 26(i64vec4) Load 495
|
||||
497:494(i64vec3) VectorShuffle 496 496 0 1 2
|
||||
498:494(i64vec3) GroupNonUniformQuadBroadcast 43 497 42
|
||||
499: 485(ptr) AccessChain 34(data) 493 477
|
||||
500: 26(i64vec4) Load 499
|
||||
501: 26(i64vec4) VectorShuffle 500 498 4 5 6 3
|
||||
Store 499 501
|
||||
502: 6(int) Load 8(invocation)
|
||||
503: 485(ptr) AccessChain 34(data) 68 477
|
||||
504: 26(i64vec4) Load 503
|
||||
505: 26(i64vec4) GroupNonUniformQuadBroadcast 43 504 42
|
||||
506: 485(ptr) AccessChain 34(data) 502 477
|
||||
Store 506 505
|
||||
507: 6(int) Load 8(invocation)
|
||||
508: 478(ptr) AccessChain 34(data) 37 477 38
|
||||
509: 25(int64_t) Load 508
|
||||
510: 25(int64_t) GroupNonUniformQuadSwap 43 509 38
|
||||
511: 478(ptr) AccessChain 34(data) 507 477 38
|
||||
Store 511 510
|
||||
512: 6(int) Load 8(invocation)
|
||||
513: 485(ptr) AccessChain 34(data) 47 477
|
||||
514: 26(i64vec4) Load 513
|
||||
515:484(i64vec2) VectorShuffle 514 514 0 1
|
||||
516:484(i64vec2) GroupNonUniformQuadSwap 43 515 38
|
||||
517: 485(ptr) AccessChain 34(data) 512 477
|
||||
518: 26(i64vec4) Load 517
|
||||
519: 26(i64vec4) VectorShuffle 518 516 4 5 2 3
|
||||
Store 517 519
|
||||
520: 6(int) Load 8(invocation)
|
||||
521: 485(ptr) AccessChain 34(data) 58 477
|
||||
522: 26(i64vec4) Load 521
|
||||
523:494(i64vec3) VectorShuffle 522 522 0 1 2
|
||||
524:494(i64vec3) GroupNonUniformQuadSwap 43 523 38
|
||||
525: 485(ptr) AccessChain 34(data) 520 477
|
||||
526: 26(i64vec4) Load 525
|
||||
527: 26(i64vec4) VectorShuffle 526 524 4 5 6 3
|
||||
Store 525 527
|
||||
528: 6(int) Load 8(invocation)
|
||||
529: 485(ptr) AccessChain 34(data) 68 477
|
||||
530: 26(i64vec4) Load 529
|
||||
531: 26(i64vec4) GroupNonUniformQuadSwap 43 530 38
|
||||
532: 485(ptr) AccessChain 34(data) 528 477
|
||||
Store 532 531
|
||||
533: 6(int) Load 8(invocation)
|
||||
534: 478(ptr) AccessChain 34(data) 37 477 38
|
||||
535: 25(int64_t) Load 534
|
||||
536: 25(int64_t) GroupNonUniformQuadSwap 43 535 42
|
||||
537: 478(ptr) AccessChain 34(data) 533 477 38
|
||||
Store 537 536
|
||||
538: 6(int) Load 8(invocation)
|
||||
539: 485(ptr) AccessChain 34(data) 47 477
|
||||
540: 26(i64vec4) Load 539
|
||||
541:484(i64vec2) VectorShuffle 540 540 0 1
|
||||
542:484(i64vec2) GroupNonUniformQuadSwap 43 541 42
|
||||
543: 485(ptr) AccessChain 34(data) 538 477
|
||||
544: 26(i64vec4) Load 543
|
||||
545: 26(i64vec4) VectorShuffle 544 542 4 5 2 3
|
||||
Store 543 545
|
||||
546: 6(int) Load 8(invocation)
|
||||
547: 485(ptr) AccessChain 34(data) 58 477
|
||||
548: 26(i64vec4) Load 547
|
||||
549:494(i64vec3) VectorShuffle 548 548 0 1 2
|
||||
550:494(i64vec3) GroupNonUniformQuadSwap 43 549 42
|
||||
551: 485(ptr) AccessChain 34(data) 546 477
|
||||
552: 26(i64vec4) Load 551
|
||||
553: 26(i64vec4) VectorShuffle 552 550 4 5 6 3
|
||||
Store 551 553
|
||||
554: 6(int) Load 8(invocation)
|
||||
555: 485(ptr) AccessChain 34(data) 68 477
|
||||
556: 26(i64vec4) Load 555
|
||||
557: 26(i64vec4) GroupNonUniformQuadSwap 43 556 42
|
||||
558: 485(ptr) AccessChain 34(data) 554 477
|
||||
Store 558 557
|
||||
559: 6(int) Load 8(invocation)
|
||||
560: 478(ptr) AccessChain 34(data) 37 477 38
|
||||
561: 25(int64_t) Load 560
|
||||
562: 25(int64_t) GroupNonUniformQuadSwap 43 561 128
|
||||
563: 478(ptr) AccessChain 34(data) 559 477 38
|
||||
Store 563 562
|
||||
564: 6(int) Load 8(invocation)
|
||||
565: 485(ptr) AccessChain 34(data) 47 477
|
||||
566: 26(i64vec4) Load 565
|
||||
567:484(i64vec2) VectorShuffle 566 566 0 1
|
||||
568:484(i64vec2) GroupNonUniformQuadSwap 43 567 128
|
||||
569: 485(ptr) AccessChain 34(data) 564 477
|
||||
570: 26(i64vec4) Load 569
|
||||
571: 26(i64vec4) VectorShuffle 570 568 4 5 2 3
|
||||
Store 569 571
|
||||
572: 6(int) Load 8(invocation)
|
||||
573: 485(ptr) AccessChain 34(data) 58 477
|
||||
574: 26(i64vec4) Load 573
|
||||
575:494(i64vec3) VectorShuffle 574 574 0 1 2
|
||||
576:494(i64vec3) GroupNonUniformQuadSwap 43 575 128
|
||||
577: 485(ptr) AccessChain 34(data) 572 477
|
||||
578: 26(i64vec4) Load 577
|
||||
579: 26(i64vec4) VectorShuffle 578 576 4 5 6 3
|
||||
Store 577 579
|
||||
580: 6(int) Load 8(invocation)
|
||||
581: 485(ptr) AccessChain 34(data) 68 477
|
||||
582: 26(i64vec4) Load 581
|
||||
583: 26(i64vec4) GroupNonUniformQuadSwap 43 582 128
|
||||
584: 485(ptr) AccessChain 34(data) 580 477
|
||||
Store 584 583
|
||||
585: 6(int) Load 8(invocation)
|
||||
588: 587(ptr) AccessChain 34(data) 37 586 38
|
||||
589: 27(int64_t) Load 588
|
||||
590: 27(int64_t) GroupNonUniformQuadBroadcast 43 589 42
|
||||
591: 587(ptr) AccessChain 34(data) 585 586 38
|
||||
Store 591 590
|
||||
592: 6(int) Load 8(invocation)
|
||||
595: 594(ptr) AccessChain 34(data) 47 586
|
||||
596: 28(i64vec4) Load 595
|
||||
597:593(i64vec2) VectorShuffle 596 596 0 1
|
||||
598:593(i64vec2) GroupNonUniformQuadBroadcast 43 597 42
|
||||
599: 594(ptr) AccessChain 34(data) 592 586
|
||||
600: 28(i64vec4) Load 599
|
||||
601: 28(i64vec4) VectorShuffle 600 598 4 5 2 3
|
||||
Store 599 601
|
||||
602: 6(int) Load 8(invocation)
|
||||
604: 594(ptr) AccessChain 34(data) 58 586
|
||||
605: 28(i64vec4) Load 604
|
||||
606:603(i64vec3) VectorShuffle 605 605 0 1 2
|
||||
607:603(i64vec3) GroupNonUniformQuadBroadcast 43 606 42
|
||||
608: 594(ptr) AccessChain 34(data) 602 586
|
||||
609: 28(i64vec4) Load 608
|
||||
610: 28(i64vec4) VectorShuffle 609 607 4 5 6 3
|
||||
Store 608 610
|
||||
611: 6(int) Load 8(invocation)
|
||||
612: 594(ptr) AccessChain 34(data) 68 586
|
||||
613: 28(i64vec4) Load 612
|
||||
614: 28(i64vec4) GroupNonUniformQuadBroadcast 43 613 42
|
||||
615: 594(ptr) AccessChain 34(data) 611 586
|
||||
Store 615 614
|
||||
616: 6(int) Load 8(invocation)
|
||||
617: 587(ptr) AccessChain 34(data) 37 586 38
|
||||
618: 27(int64_t) Load 617
|
||||
619: 27(int64_t) GroupNonUniformQuadSwap 43 618 38
|
||||
620: 587(ptr) AccessChain 34(data) 616 586 38
|
||||
Store 620 619
|
||||
621: 6(int) Load 8(invocation)
|
||||
622: 594(ptr) AccessChain 34(data) 47 586
|
||||
623: 28(i64vec4) Load 622
|
||||
624:593(i64vec2) VectorShuffle 623 623 0 1
|
||||
625:593(i64vec2) GroupNonUniformQuadSwap 43 624 38
|
||||
626: 594(ptr) AccessChain 34(data) 621 586
|
||||
627: 28(i64vec4) Load 626
|
||||
628: 28(i64vec4) VectorShuffle 627 625 4 5 2 3
|
||||
Store 626 628
|
||||
629: 6(int) Load 8(invocation)
|
||||
630: 594(ptr) AccessChain 34(data) 58 586
|
||||
631: 28(i64vec4) Load 630
|
||||
632:603(i64vec3) VectorShuffle 631 631 0 1 2
|
||||
633:603(i64vec3) GroupNonUniformQuadSwap 43 632 38
|
||||
634: 594(ptr) AccessChain 34(data) 629 586
|
||||
635: 28(i64vec4) Load 634
|
||||
636: 28(i64vec4) VectorShuffle 635 633 4 5 6 3
|
||||
Store 634 636
|
||||
637: 6(int) Load 8(invocation)
|
||||
638: 594(ptr) AccessChain 34(data) 68 586
|
||||
639: 28(i64vec4) Load 638
|
||||
640: 28(i64vec4) GroupNonUniformQuadSwap 43 639 38
|
||||
641: 594(ptr) AccessChain 34(data) 637 586
|
||||
Store 641 640
|
||||
642: 6(int) Load 8(invocation)
|
||||
643: 587(ptr) AccessChain 34(data) 37 586 38
|
||||
644: 27(int64_t) Load 643
|
||||
645: 27(int64_t) GroupNonUniformQuadSwap 43 644 42
|
||||
646: 587(ptr) AccessChain 34(data) 642 586 38
|
||||
Store 646 645
|
||||
647: 6(int) Load 8(invocation)
|
||||
648: 594(ptr) AccessChain 34(data) 47 586
|
||||
649: 28(i64vec4) Load 648
|
||||
650:593(i64vec2) VectorShuffle 649 649 0 1
|
||||
651:593(i64vec2) GroupNonUniformQuadSwap 43 650 42
|
||||
652: 594(ptr) AccessChain 34(data) 647 586
|
||||
653: 28(i64vec4) Load 652
|
||||
654: 28(i64vec4) VectorShuffle 653 651 4 5 2 3
|
||||
Store 652 654
|
||||
655: 6(int) Load 8(invocation)
|
||||
656: 594(ptr) AccessChain 34(data) 58 586
|
||||
657: 28(i64vec4) Load 656
|
||||
658:603(i64vec3) VectorShuffle 657 657 0 1 2
|
||||
659:603(i64vec3) GroupNonUniformQuadSwap 43 658 42
|
||||
660: 594(ptr) AccessChain 34(data) 655 586
|
||||
661: 28(i64vec4) Load 660
|
||||
662: 28(i64vec4) VectorShuffle 661 659 4 5 6 3
|
||||
Store 660 662
|
||||
663: 6(int) Load 8(invocation)
|
||||
664: 594(ptr) AccessChain 34(data) 68 586
|
||||
665: 28(i64vec4) Load 664
|
||||
666: 28(i64vec4) GroupNonUniformQuadSwap 43 665 42
|
||||
667: 594(ptr) AccessChain 34(data) 663 586
|
||||
Store 667 666
|
||||
668: 6(int) Load 8(invocation)
|
||||
669: 587(ptr) AccessChain 34(data) 37 586 38
|
||||
670: 27(int64_t) Load 669
|
||||
671: 27(int64_t) GroupNonUniformQuadSwap 43 670 128
|
||||
672: 587(ptr) AccessChain 34(data) 668 586 38
|
||||
Store 672 671
|
||||
673: 6(int) Load 8(invocation)
|
||||
674: 594(ptr) AccessChain 34(data) 47 586
|
||||
675: 28(i64vec4) Load 674
|
||||
676:593(i64vec2) VectorShuffle 675 675 0 1
|
||||
677:593(i64vec2) GroupNonUniformQuadSwap 43 676 128
|
||||
678: 594(ptr) AccessChain 34(data) 673 586
|
||||
679: 28(i64vec4) Load 678
|
||||
680: 28(i64vec4) VectorShuffle 679 677 4 5 2 3
|
||||
Store 678 680
|
||||
681: 6(int) Load 8(invocation)
|
||||
682: 594(ptr) AccessChain 34(data) 58 586
|
||||
683: 28(i64vec4) Load 682
|
||||
684:603(i64vec3) VectorShuffle 683 683 0 1 2
|
||||
685:603(i64vec3) GroupNonUniformQuadSwap 43 684 128
|
||||
686: 594(ptr) AccessChain 34(data) 681 586
|
||||
687: 28(i64vec4) Load 686
|
||||
688: 28(i64vec4) VectorShuffle 687 685 4 5 6 3
|
||||
Store 686 688
|
||||
689: 6(int) Load 8(invocation)
|
||||
690: 594(ptr) AccessChain 34(data) 68 586
|
||||
691: 28(i64vec4) Load 690
|
||||
692: 28(i64vec4) GroupNonUniformQuadSwap 43 691 128
|
||||
693: 594(ptr) AccessChain 34(data) 689 586
|
||||
Store 693 692
|
||||
694: 6(int) Load 8(invocation)
|
||||
697: 696(ptr) AccessChain 34(data) 37 695 38
|
||||
698:29(float16_t) Load 697
|
||||
699:29(float16_t) GroupNonUniformQuadBroadcast 43 698 42
|
||||
700: 696(ptr) AccessChain 34(data) 694 695 38
|
||||
Store 700 699
|
||||
701: 6(int) Load 8(invocation)
|
||||
704: 703(ptr) AccessChain 34(data) 47 695
|
||||
705: 30(f16vec4) Load 704
|
||||
706:702(f16vec2) VectorShuffle 705 705 0 1
|
||||
707:702(f16vec2) GroupNonUniformQuadBroadcast 43 706 42
|
||||
708: 703(ptr) AccessChain 34(data) 701 695
|
||||
709: 30(f16vec4) Load 708
|
||||
710: 30(f16vec4) VectorShuffle 709 707 4 5 2 3
|
||||
Store 708 710
|
||||
711: 6(int) Load 8(invocation)
|
||||
713: 703(ptr) AccessChain 34(data) 58 695
|
||||
714: 30(f16vec4) Load 713
|
||||
715:712(f16vec3) VectorShuffle 714 714 0 1 2
|
||||
716:712(f16vec3) GroupNonUniformQuadBroadcast 43 715 42
|
||||
717: 703(ptr) AccessChain 34(data) 711 695
|
||||
718: 30(f16vec4) Load 717
|
||||
719: 30(f16vec4) VectorShuffle 718 716 4 5 6 3
|
||||
Store 717 719
|
||||
720: 6(int) Load 8(invocation)
|
||||
721: 703(ptr) AccessChain 34(data) 68 695
|
||||
722: 30(f16vec4) Load 721
|
||||
723: 30(f16vec4) GroupNonUniformQuadBroadcast 43 722 42
|
||||
724: 703(ptr) AccessChain 34(data) 720 695
|
||||
Store 724 723
|
||||
725: 6(int) Load 8(invocation)
|
||||
726: 696(ptr) AccessChain 34(data) 37 695 38
|
||||
727:29(float16_t) Load 726
|
||||
728:29(float16_t) GroupNonUniformQuadSwap 43 727 38
|
||||
729: 696(ptr) AccessChain 34(data) 725 695 38
|
||||
Store 729 728
|
||||
730: 6(int) Load 8(invocation)
|
||||
731: 703(ptr) AccessChain 34(data) 47 695
|
||||
732: 30(f16vec4) Load 731
|
||||
733:702(f16vec2) VectorShuffle 732 732 0 1
|
||||
734:702(f16vec2) GroupNonUniformQuadSwap 43 733 38
|
||||
735: 703(ptr) AccessChain 34(data) 730 695
|
||||
736: 30(f16vec4) Load 735
|
||||
737: 30(f16vec4) VectorShuffle 736 734 4 5 2 3
|
||||
Store 735 737
|
||||
738: 6(int) Load 8(invocation)
|
||||
739: 703(ptr) AccessChain 34(data) 58 695
|
||||
740: 30(f16vec4) Load 739
|
||||
741:712(f16vec3) VectorShuffle 740 740 0 1 2
|
||||
742:712(f16vec3) GroupNonUniformQuadSwap 43 741 38
|
||||
743: 703(ptr) AccessChain 34(data) 738 695
|
||||
744: 30(f16vec4) Load 743
|
||||
745: 30(f16vec4) VectorShuffle 744 742 4 5 6 3
|
||||
Store 743 745
|
||||
746: 6(int) Load 8(invocation)
|
||||
747: 703(ptr) AccessChain 34(data) 68 695
|
||||
748: 30(f16vec4) Load 747
|
||||
749: 30(f16vec4) GroupNonUniformQuadSwap 43 748 38
|
||||
750: 703(ptr) AccessChain 34(data) 746 695
|
||||
Store 750 749
|
||||
751: 6(int) Load 8(invocation)
|
||||
752: 696(ptr) AccessChain 34(data) 37 695 38
|
||||
753:29(float16_t) Load 752
|
||||
754:29(float16_t) GroupNonUniformQuadSwap 43 753 42
|
||||
755: 696(ptr) AccessChain 34(data) 751 695 38
|
||||
Store 755 754
|
||||
756: 6(int) Load 8(invocation)
|
||||
757: 703(ptr) AccessChain 34(data) 47 695
|
||||
758: 30(f16vec4) Load 757
|
||||
759:702(f16vec2) VectorShuffle 758 758 0 1
|
||||
760:702(f16vec2) GroupNonUniformQuadSwap 43 759 42
|
||||
761: 703(ptr) AccessChain 34(data) 756 695
|
||||
762: 30(f16vec4) Load 761
|
||||
763: 30(f16vec4) VectorShuffle 762 760 4 5 2 3
|
||||
Store 761 763
|
||||
764: 6(int) Load 8(invocation)
|
||||
765: 703(ptr) AccessChain 34(data) 58 695
|
||||
766: 30(f16vec4) Load 765
|
||||
767:712(f16vec3) VectorShuffle 766 766 0 1 2
|
||||
768:712(f16vec3) GroupNonUniformQuadSwap 43 767 42
|
||||
769: 703(ptr) AccessChain 34(data) 764 695
|
||||
770: 30(f16vec4) Load 769
|
||||
771: 30(f16vec4) VectorShuffle 770 768 4 5 6 3
|
||||
Store 769 771
|
||||
772: 6(int) Load 8(invocation)
|
||||
773: 703(ptr) AccessChain 34(data) 68 695
|
||||
774: 30(f16vec4) Load 773
|
||||
775: 30(f16vec4) GroupNonUniformQuadSwap 43 774 42
|
||||
776: 703(ptr) AccessChain 34(data) 772 695
|
||||
Store 776 775
|
||||
777: 6(int) Load 8(invocation)
|
||||
778: 696(ptr) AccessChain 34(data) 37 695 38
|
||||
779:29(float16_t) Load 778
|
||||
780:29(float16_t) GroupNonUniformQuadSwap 43 779 128
|
||||
781: 696(ptr) AccessChain 34(data) 777 695 38
|
||||
Store 781 780
|
||||
782: 6(int) Load 8(invocation)
|
||||
783: 703(ptr) AccessChain 34(data) 47 695
|
||||
784: 30(f16vec4) Load 783
|
||||
785:702(f16vec2) VectorShuffle 784 784 0 1
|
||||
786:702(f16vec2) GroupNonUniformQuadSwap 43 785 128
|
||||
787: 703(ptr) AccessChain 34(data) 782 695
|
||||
788: 30(f16vec4) Load 787
|
||||
789: 30(f16vec4) VectorShuffle 788 786 4 5 2 3
|
||||
Store 787 789
|
||||
790: 6(int) Load 8(invocation)
|
||||
791: 703(ptr) AccessChain 34(data) 58 695
|
||||
792: 30(f16vec4) Load 791
|
||||
793:712(f16vec3) VectorShuffle 792 792 0 1 2
|
||||
794:712(f16vec3) GroupNonUniformQuadSwap 43 793 128
|
||||
795: 703(ptr) AccessChain 34(data) 790 695
|
||||
796: 30(f16vec4) Load 795
|
||||
797: 30(f16vec4) VectorShuffle 796 794 4 5 6 3
|
||||
Store 795 797
|
||||
798: 6(int) Load 8(invocation)
|
||||
799: 703(ptr) AccessChain 34(data) 68 695
|
||||
800: 30(f16vec4) Load 799
|
||||
801: 30(f16vec4) GroupNonUniformQuadSwap 43 800 128
|
||||
802: 703(ptr) AccessChain 34(data) 798 695
|
||||
Store 802 801
|
||||
Return
|
||||
FunctionEnd
|
117
Test/baseResults/spv.subgroupExtendedTypesQuadNeg.comp.out
Normal file
117
Test/baseResults/spv.subgroupExtendedTypesQuadNeg.comp.out
Normal file
@ -0,0 +1,117 @@
|
||||
spv.subgroupExtendedTypesQuadNeg.comp
|
||||
ERROR: 0:26: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:27: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:28: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:29: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:31: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:33: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:34: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:36: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:38: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:39: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:41: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:42: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:43: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:44: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:46: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:47: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:48: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:49: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:51: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:52: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:53: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:54: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:56: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:57: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:58: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:59: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:61: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:62: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:63: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:64: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:66: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:67: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:68: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:69: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:71: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:72: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:73: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:74: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:76: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:77: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:78: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:79: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:81: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:82: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:83: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:84: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:86: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:87: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:88: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:89: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:91: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:92: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:93: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:94: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:96: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:97: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:98: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:99: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:101: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:102: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:103: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:104: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:106: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:107: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:108: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:109: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:111: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:112: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:113: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:114: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:116: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:117: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:118: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:119: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:121: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:122: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:123: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:124: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:126: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:127: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:128: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:129: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:131: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:132: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:133: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:134: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:136: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:137: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:138: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:139: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:141: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:142: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:143: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:144: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:146: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:147: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:148: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:149: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:151: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:152: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:153: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:154: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:156: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:157: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:158: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:159: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:161: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:162: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:163: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:164: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 112 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
616
Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
Normal file
616
Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
Normal file
@ -0,0 +1,616 @@
|
||||
spv.subgroupExtendedTypesShuffle.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 497
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
Capability GroupNonUniform
|
||||
Capability GroupNonUniformShuffle
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 12
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_float16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int64"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int8"
|
||||
SourceExtension "GL_KHR_shader_subgroup_basic"
|
||||
SourceExtension "GL_KHR_shader_subgroup_shuffle"
|
||||
Name 4 "main"
|
||||
Name 8 "invocation"
|
||||
Name 10 "gl_SubgroupInvocationID"
|
||||
Name 12 "gl_SubgroupSize"
|
||||
Name 31 "Buffers"
|
||||
MemberName 31(Buffers) 0 "i8"
|
||||
MemberName 31(Buffers) 1 "u8"
|
||||
MemberName 31(Buffers) 2 "i16"
|
||||
MemberName 31(Buffers) 3 "u16"
|
||||
MemberName 31(Buffers) 4 "i64"
|
||||
MemberName 31(Buffers) 5 "u64"
|
||||
MemberName 31(Buffers) 6 "f16"
|
||||
Name 34 "data"
|
||||
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 11 RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
||||
Decorate 13 RelaxedPrecision
|
||||
Decorate 14 RelaxedPrecision
|
||||
Decorate 16 RelaxedPrecision
|
||||
MemberDecorate 31(Buffers) 0 Offset 0
|
||||
MemberDecorate 31(Buffers) 1 Offset 4
|
||||
MemberDecorate 31(Buffers) 2 Offset 8
|
||||
MemberDecorate 31(Buffers) 3 Offset 16
|
||||
MemberDecorate 31(Buffers) 4 Offset 32
|
||||
MemberDecorate 31(Buffers) 5 Offset 64
|
||||
MemberDecorate 31(Buffers) 6 Offset 96
|
||||
Decorate 31(Buffers) Block
|
||||
Decorate 34(data) DescriptorSet 0
|
||||
Decorate 34(data) Binding 0
|
||||
Decorate 496 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypePointer Input 6(int)
|
||||
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
||||
12(gl_SubgroupSize): 9(ptr) Variable Input
|
||||
15: 6(int) Constant 4
|
||||
17: TypeInt 8 1
|
||||
18: TypeVector 17(int8_t) 4
|
||||
19: TypeInt 8 0
|
||||
20: TypeVector 19(int8_t) 4
|
||||
21: TypeInt 16 1
|
||||
22: TypeVector 21(int16_t) 4
|
||||
23: TypeInt 16 0
|
||||
24: TypeVector 23(int16_t) 4
|
||||
25: TypeInt 64 1
|
||||
26: TypeVector 25(int64_t) 4
|
||||
27: TypeInt 64 0
|
||||
28: TypeVector 27(int64_t) 4
|
||||
29: TypeFloat 16
|
||||
30: TypeVector 29(float16_t) 4
|
||||
31(Buffers): TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4)
|
||||
32: TypeArray 31(Buffers) 15
|
||||
33: TypePointer StorageBuffer 32
|
||||
34(data): 33(ptr) Variable StorageBuffer
|
||||
36: TypeInt 32 1
|
||||
37: 36(int) Constant 0
|
||||
38: 6(int) Constant 0
|
||||
39: TypePointer StorageBuffer 17(int8_t)
|
||||
43: 6(int) Constant 3
|
||||
47: 36(int) Constant 1
|
||||
48: TypeVector 17(int8_t) 2
|
||||
49: TypePointer StorageBuffer 18(i8vec4)
|
||||
59: 36(int) Constant 2
|
||||
60: TypeVector 17(int8_t) 3
|
||||
70: 36(int) Constant 3
|
||||
107: TypePointer StorageBuffer 19(int8_t)
|
||||
114: TypeVector 19(int8_t) 2
|
||||
115: TypePointer StorageBuffer 20(i8vec4)
|
||||
125: TypeVector 19(int8_t) 3
|
||||
171: TypePointer StorageBuffer 21(int16_t)
|
||||
178: TypeVector 21(int16_t) 2
|
||||
179: TypePointer StorageBuffer 22(i16vec4)
|
||||
189: TypeVector 21(int16_t) 3
|
||||
235: TypePointer StorageBuffer 23(int16_t)
|
||||
242: TypeVector 23(int16_t) 2
|
||||
243: TypePointer StorageBuffer 24(i16vec4)
|
||||
253: TypeVector 23(int16_t) 3
|
||||
299: 36(int) Constant 4
|
||||
300: TypePointer StorageBuffer 25(int64_t)
|
||||
307: TypeVector 25(int64_t) 2
|
||||
308: TypePointer StorageBuffer 26(i64vec4)
|
||||
318: TypeVector 25(int64_t) 3
|
||||
364: 36(int) Constant 5
|
||||
365: TypePointer StorageBuffer 27(int64_t)
|
||||
372: TypeVector 27(int64_t) 2
|
||||
373: TypePointer StorageBuffer 28(i64vec4)
|
||||
383: TypeVector 27(int64_t) 3
|
||||
429: 36(int) Constant 6
|
||||
430: TypePointer StorageBuffer 29(float16_t)
|
||||
437: TypeVector 29(float16_t) 2
|
||||
438: TypePointer StorageBuffer 30(f16vec4)
|
||||
448: TypeVector 29(float16_t) 3
|
||||
493: TypeVector 6(int) 3
|
||||
494: 6(int) Constant 8
|
||||
495: 6(int) Constant 1
|
||||
496: 493(ivec3) ConstantComposite 494 495 495
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
||||
13: 6(int) Load 12(gl_SubgroupSize)
|
||||
14: 6(int) IAdd 11 13
|
||||
16: 6(int) UMod 14 15
|
||||
Store 8(invocation) 16
|
||||
35: 6(int) Load 8(invocation)
|
||||
40: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
41: 17(int8_t) Load 40
|
||||
42: 6(int) Load 8(invocation)
|
||||
44: 17(int8_t) GroupNonUniformShuffle 43 41 42
|
||||
45: 39(ptr) AccessChain 34(data) 35 37 38
|
||||
Store 45 44
|
||||
46: 6(int) Load 8(invocation)
|
||||
50: 49(ptr) AccessChain 34(data) 47 37
|
||||
51: 18(i8vec4) Load 50
|
||||
52: 48(i8vec2) VectorShuffle 51 51 0 1
|
||||
53: 6(int) Load 8(invocation)
|
||||
54: 48(i8vec2) GroupNonUniformShuffle 43 52 53
|
||||
55: 49(ptr) AccessChain 34(data) 46 37
|
||||
56: 18(i8vec4) Load 55
|
||||
57: 18(i8vec4) VectorShuffle 56 54 4 5 2 3
|
||||
Store 55 57
|
||||
58: 6(int) Load 8(invocation)
|
||||
61: 49(ptr) AccessChain 34(data) 59 37
|
||||
62: 18(i8vec4) Load 61
|
||||
63: 60(i8vec3) VectorShuffle 62 62 0 1 2
|
||||
64: 6(int) Load 8(invocation)
|
||||
65: 60(i8vec3) GroupNonUniformShuffle 43 63 64
|
||||
66: 49(ptr) AccessChain 34(data) 58 37
|
||||
67: 18(i8vec4) Load 66
|
||||
68: 18(i8vec4) VectorShuffle 67 65 4 5 6 3
|
||||
Store 66 68
|
||||
69: 6(int) Load 8(invocation)
|
||||
71: 49(ptr) AccessChain 34(data) 70 37
|
||||
72: 18(i8vec4) Load 71
|
||||
73: 6(int) Load 8(invocation)
|
||||
74: 18(i8vec4) GroupNonUniformShuffle 43 72 73
|
||||
75: 49(ptr) AccessChain 34(data) 69 37
|
||||
Store 75 74
|
||||
76: 6(int) Load 8(invocation)
|
||||
77: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
78: 17(int8_t) Load 77
|
||||
79: 6(int) Load 8(invocation)
|
||||
80: 17(int8_t) GroupNonUniformShuffleXor 43 78 79
|
||||
81: 39(ptr) AccessChain 34(data) 76 37 38
|
||||
Store 81 80
|
||||
82: 6(int) Load 8(invocation)
|
||||
83: 49(ptr) AccessChain 34(data) 47 37
|
||||
84: 18(i8vec4) Load 83
|
||||
85: 48(i8vec2) VectorShuffle 84 84 0 1
|
||||
86: 6(int) Load 8(invocation)
|
||||
87: 48(i8vec2) GroupNonUniformShuffleXor 43 85 86
|
||||
88: 49(ptr) AccessChain 34(data) 82 37
|
||||
89: 18(i8vec4) Load 88
|
||||
90: 18(i8vec4) VectorShuffle 89 87 4 5 2 3
|
||||
Store 88 90
|
||||
91: 6(int) Load 8(invocation)
|
||||
92: 49(ptr) AccessChain 34(data) 59 37
|
||||
93: 18(i8vec4) Load 92
|
||||
94: 60(i8vec3) VectorShuffle 93 93 0 1 2
|
||||
95: 6(int) Load 8(invocation)
|
||||
96: 60(i8vec3) GroupNonUniformShuffleXor 43 94 95
|
||||
97: 49(ptr) AccessChain 34(data) 91 37
|
||||
98: 18(i8vec4) Load 97
|
||||
99: 18(i8vec4) VectorShuffle 98 96 4 5 6 3
|
||||
Store 97 99
|
||||
100: 6(int) Load 8(invocation)
|
||||
101: 49(ptr) AccessChain 34(data) 70 37
|
||||
102: 18(i8vec4) Load 101
|
||||
103: 6(int) Load 8(invocation)
|
||||
104: 18(i8vec4) GroupNonUniformShuffleXor 43 102 103
|
||||
105: 49(ptr) AccessChain 34(data) 100 37
|
||||
Store 105 104
|
||||
106: 6(int) Load 8(invocation)
|
||||
108: 107(ptr) AccessChain 34(data) 37 47 38
|
||||
109: 19(int8_t) Load 108
|
||||
110: 6(int) Load 8(invocation)
|
||||
111: 19(int8_t) GroupNonUniformShuffle 43 109 110
|
||||
112: 107(ptr) AccessChain 34(data) 106 47 38
|
||||
Store 112 111
|
||||
113: 6(int) Load 8(invocation)
|
||||
116: 115(ptr) AccessChain 34(data) 47 47
|
||||
117: 20(i8vec4) Load 116
|
||||
118: 114(i8vec2) VectorShuffle 117 117 0 1
|
||||
119: 6(int) Load 8(invocation)
|
||||
120: 114(i8vec2) GroupNonUniformShuffle 43 118 119
|
||||
121: 115(ptr) AccessChain 34(data) 113 47
|
||||
122: 20(i8vec4) Load 121
|
||||
123: 20(i8vec4) VectorShuffle 122 120 4 5 2 3
|
||||
Store 121 123
|
||||
124: 6(int) Load 8(invocation)
|
||||
126: 115(ptr) AccessChain 34(data) 59 47
|
||||
127: 20(i8vec4) Load 126
|
||||
128: 125(i8vec3) VectorShuffle 127 127 0 1 2
|
||||
129: 6(int) Load 8(invocation)
|
||||
130: 125(i8vec3) GroupNonUniformShuffle 43 128 129
|
||||
131: 115(ptr) AccessChain 34(data) 124 47
|
||||
132: 20(i8vec4) Load 131
|
||||
133: 20(i8vec4) VectorShuffle 132 130 4 5 6 3
|
||||
Store 131 133
|
||||
134: 6(int) Load 8(invocation)
|
||||
135: 115(ptr) AccessChain 34(data) 70 47
|
||||
136: 20(i8vec4) Load 135
|
||||
137: 6(int) Load 8(invocation)
|
||||
138: 20(i8vec4) GroupNonUniformShuffle 43 136 137
|
||||
139: 115(ptr) AccessChain 34(data) 134 47
|
||||
Store 139 138
|
||||
140: 6(int) Load 8(invocation)
|
||||
141: 107(ptr) AccessChain 34(data) 37 47 38
|
||||
142: 19(int8_t) Load 141
|
||||
143: 6(int) Load 8(invocation)
|
||||
144: 19(int8_t) GroupNonUniformShuffleXor 43 142 143
|
||||
145: 107(ptr) AccessChain 34(data) 140 47 38
|
||||
Store 145 144
|
||||
146: 6(int) Load 8(invocation)
|
||||
147: 115(ptr) AccessChain 34(data) 47 47
|
||||
148: 20(i8vec4) Load 147
|
||||
149: 114(i8vec2) VectorShuffle 148 148 0 1
|
||||
150: 6(int) Load 8(invocation)
|
||||
151: 114(i8vec2) GroupNonUniformShuffleXor 43 149 150
|
||||
152: 115(ptr) AccessChain 34(data) 146 47
|
||||
153: 20(i8vec4) Load 152
|
||||
154: 20(i8vec4) VectorShuffle 153 151 4 5 2 3
|
||||
Store 152 154
|
||||
155: 6(int) Load 8(invocation)
|
||||
156: 115(ptr) AccessChain 34(data) 59 47
|
||||
157: 20(i8vec4) Load 156
|
||||
158: 125(i8vec3) VectorShuffle 157 157 0 1 2
|
||||
159: 6(int) Load 8(invocation)
|
||||
160: 125(i8vec3) GroupNonUniformShuffleXor 43 158 159
|
||||
161: 115(ptr) AccessChain 34(data) 155 47
|
||||
162: 20(i8vec4) Load 161
|
||||
163: 20(i8vec4) VectorShuffle 162 160 4 5 6 3
|
||||
Store 161 163
|
||||
164: 6(int) Load 8(invocation)
|
||||
165: 115(ptr) AccessChain 34(data) 70 47
|
||||
166: 20(i8vec4) Load 165
|
||||
167: 6(int) Load 8(invocation)
|
||||
168: 20(i8vec4) GroupNonUniformShuffleXor 43 166 167
|
||||
169: 115(ptr) AccessChain 34(data) 164 47
|
||||
Store 169 168
|
||||
170: 6(int) Load 8(invocation)
|
||||
172: 171(ptr) AccessChain 34(data) 37 59 38
|
||||
173: 21(int16_t) Load 172
|
||||
174: 6(int) Load 8(invocation)
|
||||
175: 21(int16_t) GroupNonUniformShuffle 43 173 174
|
||||
176: 171(ptr) AccessChain 34(data) 170 59 38
|
||||
Store 176 175
|
||||
177: 6(int) Load 8(invocation)
|
||||
180: 179(ptr) AccessChain 34(data) 47 59
|
||||
181: 22(i16vec4) Load 180
|
||||
182:178(i16vec2) VectorShuffle 181 181 0 1
|
||||
183: 6(int) Load 8(invocation)
|
||||
184:178(i16vec2) GroupNonUniformShuffle 43 182 183
|
||||
185: 179(ptr) AccessChain 34(data) 177 59
|
||||
186: 22(i16vec4) Load 185
|
||||
187: 22(i16vec4) VectorShuffle 186 184 4 5 2 3
|
||||
Store 185 187
|
||||
188: 6(int) Load 8(invocation)
|
||||
190: 179(ptr) AccessChain 34(data) 59 59
|
||||
191: 22(i16vec4) Load 190
|
||||
192:189(i16vec3) VectorShuffle 191 191 0 1 2
|
||||
193: 6(int) Load 8(invocation)
|
||||
194:189(i16vec3) GroupNonUniformShuffle 43 192 193
|
||||
195: 179(ptr) AccessChain 34(data) 188 59
|
||||
196: 22(i16vec4) Load 195
|
||||
197: 22(i16vec4) VectorShuffle 196 194 4 5 6 3
|
||||
Store 195 197
|
||||
198: 6(int) Load 8(invocation)
|
||||
199: 179(ptr) AccessChain 34(data) 70 59
|
||||
200: 22(i16vec4) Load 199
|
||||
201: 6(int) Load 8(invocation)
|
||||
202: 22(i16vec4) GroupNonUniformShuffle 43 200 201
|
||||
203: 179(ptr) AccessChain 34(data) 198 59
|
||||
Store 203 202
|
||||
204: 6(int) Load 8(invocation)
|
||||
205: 171(ptr) AccessChain 34(data) 37 59 38
|
||||
206: 21(int16_t) Load 205
|
||||
207: 6(int) Load 8(invocation)
|
||||
208: 21(int16_t) GroupNonUniformShuffleXor 43 206 207
|
||||
209: 171(ptr) AccessChain 34(data) 204 59 38
|
||||
Store 209 208
|
||||
210: 6(int) Load 8(invocation)
|
||||
211: 179(ptr) AccessChain 34(data) 47 59
|
||||
212: 22(i16vec4) Load 211
|
||||
213:178(i16vec2) VectorShuffle 212 212 0 1
|
||||
214: 6(int) Load 8(invocation)
|
||||
215:178(i16vec2) GroupNonUniformShuffleXor 43 213 214
|
||||
216: 179(ptr) AccessChain 34(data) 210 59
|
||||
217: 22(i16vec4) Load 216
|
||||
218: 22(i16vec4) VectorShuffle 217 215 4 5 2 3
|
||||
Store 216 218
|
||||
219: 6(int) Load 8(invocation)
|
||||
220: 179(ptr) AccessChain 34(data) 59 59
|
||||
221: 22(i16vec4) Load 220
|
||||
222:189(i16vec3) VectorShuffle 221 221 0 1 2
|
||||
223: 6(int) Load 8(invocation)
|
||||
224:189(i16vec3) GroupNonUniformShuffleXor 43 222 223
|
||||
225: 179(ptr) AccessChain 34(data) 219 59
|
||||
226: 22(i16vec4) Load 225
|
||||
227: 22(i16vec4) VectorShuffle 226 224 4 5 6 3
|
||||
Store 225 227
|
||||
228: 6(int) Load 8(invocation)
|
||||
229: 179(ptr) AccessChain 34(data) 70 59
|
||||
230: 22(i16vec4) Load 229
|
||||
231: 6(int) Load 8(invocation)
|
||||
232: 22(i16vec4) GroupNonUniformShuffleXor 43 230 231
|
||||
233: 179(ptr) AccessChain 34(data) 228 59
|
||||
Store 233 232
|
||||
234: 6(int) Load 8(invocation)
|
||||
236: 235(ptr) AccessChain 34(data) 37 70 38
|
||||
237: 23(int16_t) Load 236
|
||||
238: 6(int) Load 8(invocation)
|
||||
239: 23(int16_t) GroupNonUniformShuffle 43 237 238
|
||||
240: 235(ptr) AccessChain 34(data) 234 70 38
|
||||
Store 240 239
|
||||
241: 6(int) Load 8(invocation)
|
||||
244: 243(ptr) AccessChain 34(data) 47 70
|
||||
245: 24(i16vec4) Load 244
|
||||
246:242(i16vec2) VectorShuffle 245 245 0 1
|
||||
247: 6(int) Load 8(invocation)
|
||||
248:242(i16vec2) GroupNonUniformShuffle 43 246 247
|
||||
249: 243(ptr) AccessChain 34(data) 241 70
|
||||
250: 24(i16vec4) Load 249
|
||||
251: 24(i16vec4) VectorShuffle 250 248 4 5 2 3
|
||||
Store 249 251
|
||||
252: 6(int) Load 8(invocation)
|
||||
254: 243(ptr) AccessChain 34(data) 59 70
|
||||
255: 24(i16vec4) Load 254
|
||||
256:253(i16vec3) VectorShuffle 255 255 0 1 2
|
||||
257: 6(int) Load 8(invocation)
|
||||
258:253(i16vec3) GroupNonUniformShuffle 43 256 257
|
||||
259: 243(ptr) AccessChain 34(data) 252 70
|
||||
260: 24(i16vec4) Load 259
|
||||
261: 24(i16vec4) VectorShuffle 260 258 4 5 6 3
|
||||
Store 259 261
|
||||
262: 6(int) Load 8(invocation)
|
||||
263: 243(ptr) AccessChain 34(data) 70 70
|
||||
264: 24(i16vec4) Load 263
|
||||
265: 6(int) Load 8(invocation)
|
||||
266: 24(i16vec4) GroupNonUniformShuffle 43 264 265
|
||||
267: 243(ptr) AccessChain 34(data) 262 70
|
||||
Store 267 266
|
||||
268: 6(int) Load 8(invocation)
|
||||
269: 235(ptr) AccessChain 34(data) 37 70 38
|
||||
270: 23(int16_t) Load 269
|
||||
271: 6(int) Load 8(invocation)
|
||||
272: 23(int16_t) GroupNonUniformShuffleXor 43 270 271
|
||||
273: 235(ptr) AccessChain 34(data) 268 70 38
|
||||
Store 273 272
|
||||
274: 6(int) Load 8(invocation)
|
||||
275: 243(ptr) AccessChain 34(data) 47 70
|
||||
276: 24(i16vec4) Load 275
|
||||
277:242(i16vec2) VectorShuffle 276 276 0 1
|
||||
278: 6(int) Load 8(invocation)
|
||||
279:242(i16vec2) GroupNonUniformShuffleXor 43 277 278
|
||||
280: 243(ptr) AccessChain 34(data) 274 70
|
||||
281: 24(i16vec4) Load 280
|
||||
282: 24(i16vec4) VectorShuffle 281 279 4 5 2 3
|
||||
Store 280 282
|
||||
283: 6(int) Load 8(invocation)
|
||||
284: 243(ptr) AccessChain 34(data) 59 70
|
||||
285: 24(i16vec4) Load 284
|
||||
286:253(i16vec3) VectorShuffle 285 285 0 1 2
|
||||
287: 6(int) Load 8(invocation)
|
||||
288:253(i16vec3) GroupNonUniformShuffleXor 43 286 287
|
||||
289: 243(ptr) AccessChain 34(data) 283 70
|
||||
290: 24(i16vec4) Load 289
|
||||
291: 24(i16vec4) VectorShuffle 290 288 4 5 6 3
|
||||
Store 289 291
|
||||
292: 6(int) Load 8(invocation)
|
||||
293: 243(ptr) AccessChain 34(data) 70 70
|
||||
294: 24(i16vec4) Load 293
|
||||
295: 6(int) Load 8(invocation)
|
||||
296: 24(i16vec4) GroupNonUniformShuffleXor 43 294 295
|
||||
297: 243(ptr) AccessChain 34(data) 292 70
|
||||
Store 297 296
|
||||
298: 6(int) Load 8(invocation)
|
||||
301: 300(ptr) AccessChain 34(data) 37 299 38
|
||||
302: 25(int64_t) Load 301
|
||||
303: 6(int) Load 8(invocation)
|
||||
304: 25(int64_t) GroupNonUniformShuffle 43 302 303
|
||||
305: 300(ptr) AccessChain 34(data) 298 299 38
|
||||
Store 305 304
|
||||
306: 6(int) Load 8(invocation)
|
||||
309: 308(ptr) AccessChain 34(data) 47 299
|
||||
310: 26(i64vec4) Load 309
|
||||
311:307(i64vec2) VectorShuffle 310 310 0 1
|
||||
312: 6(int) Load 8(invocation)
|
||||
313:307(i64vec2) GroupNonUniformShuffle 43 311 312
|
||||
314: 308(ptr) AccessChain 34(data) 306 299
|
||||
315: 26(i64vec4) Load 314
|
||||
316: 26(i64vec4) VectorShuffle 315 313 4 5 2 3
|
||||
Store 314 316
|
||||
317: 6(int) Load 8(invocation)
|
||||
319: 308(ptr) AccessChain 34(data) 59 299
|
||||
320: 26(i64vec4) Load 319
|
||||
321:318(i64vec3) VectorShuffle 320 320 0 1 2
|
||||
322: 6(int) Load 8(invocation)
|
||||
323:318(i64vec3) GroupNonUniformShuffle 43 321 322
|
||||
324: 308(ptr) AccessChain 34(data) 317 299
|
||||
325: 26(i64vec4) Load 324
|
||||
326: 26(i64vec4) VectorShuffle 325 323 4 5 6 3
|
||||
Store 324 326
|
||||
327: 6(int) Load 8(invocation)
|
||||
328: 308(ptr) AccessChain 34(data) 70 299
|
||||
329: 26(i64vec4) Load 328
|
||||
330: 6(int) Load 8(invocation)
|
||||
331: 26(i64vec4) GroupNonUniformShuffle 43 329 330
|
||||
332: 308(ptr) AccessChain 34(data) 327 299
|
||||
Store 332 331
|
||||
333: 6(int) Load 8(invocation)
|
||||
334: 300(ptr) AccessChain 34(data) 37 299 38
|
||||
335: 25(int64_t) Load 334
|
||||
336: 6(int) Load 8(invocation)
|
||||
337: 25(int64_t) GroupNonUniformShuffleXor 43 335 336
|
||||
338: 300(ptr) AccessChain 34(data) 333 299 38
|
||||
Store 338 337
|
||||
339: 6(int) Load 8(invocation)
|
||||
340: 308(ptr) AccessChain 34(data) 47 299
|
||||
341: 26(i64vec4) Load 340
|
||||
342:307(i64vec2) VectorShuffle 341 341 0 1
|
||||
343: 6(int) Load 8(invocation)
|
||||
344:307(i64vec2) GroupNonUniformShuffleXor 43 342 343
|
||||
345: 308(ptr) AccessChain 34(data) 339 299
|
||||
346: 26(i64vec4) Load 345
|
||||
347: 26(i64vec4) VectorShuffle 346 344 4 5 2 3
|
||||
Store 345 347
|
||||
348: 6(int) Load 8(invocation)
|
||||
349: 308(ptr) AccessChain 34(data) 59 299
|
||||
350: 26(i64vec4) Load 349
|
||||
351:318(i64vec3) VectorShuffle 350 350 0 1 2
|
||||
352: 6(int) Load 8(invocation)
|
||||
353:318(i64vec3) GroupNonUniformShuffleXor 43 351 352
|
||||
354: 308(ptr) AccessChain 34(data) 348 299
|
||||
355: 26(i64vec4) Load 354
|
||||
356: 26(i64vec4) VectorShuffle 355 353 4 5 6 3
|
||||
Store 354 356
|
||||
357: 6(int) Load 8(invocation)
|
||||
358: 308(ptr) AccessChain 34(data) 70 299
|
||||
359: 26(i64vec4) Load 358
|
||||
360: 6(int) Load 8(invocation)
|
||||
361: 26(i64vec4) GroupNonUniformShuffleXor 43 359 360
|
||||
362: 308(ptr) AccessChain 34(data) 357 299
|
||||
Store 362 361
|
||||
363: 6(int) Load 8(invocation)
|
||||
366: 365(ptr) AccessChain 34(data) 37 364 38
|
||||
367: 27(int64_t) Load 366
|
||||
368: 6(int) Load 8(invocation)
|
||||
369: 27(int64_t) GroupNonUniformShuffle 43 367 368
|
||||
370: 365(ptr) AccessChain 34(data) 363 364 38
|
||||
Store 370 369
|
||||
371: 6(int) Load 8(invocation)
|
||||
374: 373(ptr) AccessChain 34(data) 47 364
|
||||
375: 28(i64vec4) Load 374
|
||||
376:372(i64vec2) VectorShuffle 375 375 0 1
|
||||
377: 6(int) Load 8(invocation)
|
||||
378:372(i64vec2) GroupNonUniformShuffle 43 376 377
|
||||
379: 373(ptr) AccessChain 34(data) 371 364
|
||||
380: 28(i64vec4) Load 379
|
||||
381: 28(i64vec4) VectorShuffle 380 378 4 5 2 3
|
||||
Store 379 381
|
||||
382: 6(int) Load 8(invocation)
|
||||
384: 373(ptr) AccessChain 34(data) 59 364
|
||||
385: 28(i64vec4) Load 384
|
||||
386:383(i64vec3) VectorShuffle 385 385 0 1 2
|
||||
387: 6(int) Load 8(invocation)
|
||||
388:383(i64vec3) GroupNonUniformShuffle 43 386 387
|
||||
389: 373(ptr) AccessChain 34(data) 382 364
|
||||
390: 28(i64vec4) Load 389
|
||||
391: 28(i64vec4) VectorShuffle 390 388 4 5 6 3
|
||||
Store 389 391
|
||||
392: 6(int) Load 8(invocation)
|
||||
393: 373(ptr) AccessChain 34(data) 70 364
|
||||
394: 28(i64vec4) Load 393
|
||||
395: 6(int) Load 8(invocation)
|
||||
396: 28(i64vec4) GroupNonUniformShuffle 43 394 395
|
||||
397: 373(ptr) AccessChain 34(data) 392 364
|
||||
Store 397 396
|
||||
398: 6(int) Load 8(invocation)
|
||||
399: 365(ptr) AccessChain 34(data) 37 364 38
|
||||
400: 27(int64_t) Load 399
|
||||
401: 6(int) Load 8(invocation)
|
||||
402: 27(int64_t) GroupNonUniformShuffleXor 43 400 401
|
||||
403: 365(ptr) AccessChain 34(data) 398 364 38
|
||||
Store 403 402
|
||||
404: 6(int) Load 8(invocation)
|
||||
405: 373(ptr) AccessChain 34(data) 47 364
|
||||
406: 28(i64vec4) Load 405
|
||||
407:372(i64vec2) VectorShuffle 406 406 0 1
|
||||
408: 6(int) Load 8(invocation)
|
||||
409:372(i64vec2) GroupNonUniformShuffleXor 43 407 408
|
||||
410: 373(ptr) AccessChain 34(data) 404 364
|
||||
411: 28(i64vec4) Load 410
|
||||
412: 28(i64vec4) VectorShuffle 411 409 4 5 2 3
|
||||
Store 410 412
|
||||
413: 6(int) Load 8(invocation)
|
||||
414: 373(ptr) AccessChain 34(data) 59 364
|
||||
415: 28(i64vec4) Load 414
|
||||
416:383(i64vec3) VectorShuffle 415 415 0 1 2
|
||||
417: 6(int) Load 8(invocation)
|
||||
418:383(i64vec3) GroupNonUniformShuffleXor 43 416 417
|
||||
419: 373(ptr) AccessChain 34(data) 413 364
|
||||
420: 28(i64vec4) Load 419
|
||||
421: 28(i64vec4) VectorShuffle 420 418 4 5 6 3
|
||||
Store 419 421
|
||||
422: 6(int) Load 8(invocation)
|
||||
423: 373(ptr) AccessChain 34(data) 70 364
|
||||
424: 28(i64vec4) Load 423
|
||||
425: 6(int) Load 8(invocation)
|
||||
426: 28(i64vec4) GroupNonUniformShuffleXor 43 424 425
|
||||
427: 373(ptr) AccessChain 34(data) 422 364
|
||||
Store 427 426
|
||||
428: 6(int) Load 8(invocation)
|
||||
431: 430(ptr) AccessChain 34(data) 37 429 38
|
||||
432:29(float16_t) Load 431
|
||||
433: 6(int) Load 8(invocation)
|
||||
434:29(float16_t) GroupNonUniformShuffle 43 432 433
|
||||
435: 430(ptr) AccessChain 34(data) 428 429 38
|
||||
Store 435 434
|
||||
436: 6(int) Load 8(invocation)
|
||||
439: 438(ptr) AccessChain 34(data) 47 429
|
||||
440: 30(f16vec4) Load 439
|
||||
441:437(f16vec2) VectorShuffle 440 440 0 1
|
||||
442: 6(int) Load 8(invocation)
|
||||
443:437(f16vec2) GroupNonUniformShuffle 43 441 442
|
||||
444: 438(ptr) AccessChain 34(data) 436 429
|
||||
445: 30(f16vec4) Load 444
|
||||
446: 30(f16vec4) VectorShuffle 445 443 4 5 2 3
|
||||
Store 444 446
|
||||
447: 6(int) Load 8(invocation)
|
||||
449: 438(ptr) AccessChain 34(data) 59 429
|
||||
450: 30(f16vec4) Load 449
|
||||
451:448(f16vec3) VectorShuffle 450 450 0 1 2
|
||||
452: 6(int) Load 8(invocation)
|
||||
453:448(f16vec3) GroupNonUniformShuffle 43 451 452
|
||||
454: 438(ptr) AccessChain 34(data) 447 429
|
||||
455: 30(f16vec4) Load 454
|
||||
456: 30(f16vec4) VectorShuffle 455 453 4 5 6 3
|
||||
Store 454 456
|
||||
457: 6(int) Load 8(invocation)
|
||||
458: 438(ptr) AccessChain 34(data) 70 429
|
||||
459: 30(f16vec4) Load 458
|
||||
460: 6(int) Load 8(invocation)
|
||||
461: 30(f16vec4) GroupNonUniformShuffle 43 459 460
|
||||
462: 438(ptr) AccessChain 34(data) 457 429
|
||||
Store 462 461
|
||||
463: 6(int) Load 8(invocation)
|
||||
464: 430(ptr) AccessChain 34(data) 37 429 38
|
||||
465:29(float16_t) Load 464
|
||||
466: 6(int) Load 8(invocation)
|
||||
467:29(float16_t) GroupNonUniformShuffleXor 43 465 466
|
||||
468: 430(ptr) AccessChain 34(data) 463 429 38
|
||||
Store 468 467
|
||||
469: 6(int) Load 8(invocation)
|
||||
470: 438(ptr) AccessChain 34(data) 47 429
|
||||
471: 30(f16vec4) Load 470
|
||||
472:437(f16vec2) VectorShuffle 471 471 0 1
|
||||
473: 6(int) Load 8(invocation)
|
||||
474:437(f16vec2) GroupNonUniformShuffleXor 43 472 473
|
||||
475: 438(ptr) AccessChain 34(data) 469 429
|
||||
476: 30(f16vec4) Load 475
|
||||
477: 30(f16vec4) VectorShuffle 476 474 4 5 2 3
|
||||
Store 475 477
|
||||
478: 6(int) Load 8(invocation)
|
||||
479: 438(ptr) AccessChain 34(data) 59 429
|
||||
480: 30(f16vec4) Load 479
|
||||
481:448(f16vec3) VectorShuffle 480 480 0 1 2
|
||||
482: 6(int) Load 8(invocation)
|
||||
483:448(f16vec3) GroupNonUniformShuffleXor 43 481 482
|
||||
484: 438(ptr) AccessChain 34(data) 478 429
|
||||
485: 30(f16vec4) Load 484
|
||||
486: 30(f16vec4) VectorShuffle 485 483 4 5 6 3
|
||||
Store 484 486
|
||||
487: 6(int) Load 8(invocation)
|
||||
488: 438(ptr) AccessChain 34(data) 70 429
|
||||
489: 30(f16vec4) Load 488
|
||||
490: 6(int) Load 8(invocation)
|
||||
491: 30(f16vec4) GroupNonUniformShuffleXor 43 489 490
|
||||
492: 438(ptr) AccessChain 34(data) 487 429
|
||||
Store 492 491
|
||||
Return
|
||||
FunctionEnd
|
@ -0,0 +1,61 @@
|
||||
spv.subgroupExtendedTypesShuffleNeg.comp
|
||||
ERROR: 0:26: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:27: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:28: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:29: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:31: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:33: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:34: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:36: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:38: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:39: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:41: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:42: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:43: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:44: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:46: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:47: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:48: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:49: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:51: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:52: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:53: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:54: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:56: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:57: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:58: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:59: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:61: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:62: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:63: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:64: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:66: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:67: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:68: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:69: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:71: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:72: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:73: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:74: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:76: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:77: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:78: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:79: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:81: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:82: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:83: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:84: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:86: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:87: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:88: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:89: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:91: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:92: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:93: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:94: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 56 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
@ -0,0 +1,616 @@
|
||||
spv.subgroupExtendedTypesShuffleRelative.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 497
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
Capability GroupNonUniform
|
||||
Capability GroupNonUniformShuffleRelative
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 12
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_float16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int64"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int8"
|
||||
SourceExtension "GL_KHR_shader_subgroup_basic"
|
||||
SourceExtension "GL_KHR_shader_subgroup_shuffle_relative"
|
||||
Name 4 "main"
|
||||
Name 8 "invocation"
|
||||
Name 10 "gl_SubgroupInvocationID"
|
||||
Name 12 "gl_SubgroupSize"
|
||||
Name 31 "Buffers"
|
||||
MemberName 31(Buffers) 0 "i8"
|
||||
MemberName 31(Buffers) 1 "u8"
|
||||
MemberName 31(Buffers) 2 "i16"
|
||||
MemberName 31(Buffers) 3 "u16"
|
||||
MemberName 31(Buffers) 4 "i64"
|
||||
MemberName 31(Buffers) 5 "u64"
|
||||
MemberName 31(Buffers) 6 "f16"
|
||||
Name 34 "data"
|
||||
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 11 RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
||||
Decorate 13 RelaxedPrecision
|
||||
Decorate 14 RelaxedPrecision
|
||||
Decorate 16 RelaxedPrecision
|
||||
MemberDecorate 31(Buffers) 0 Offset 0
|
||||
MemberDecorate 31(Buffers) 1 Offset 4
|
||||
MemberDecorate 31(Buffers) 2 Offset 8
|
||||
MemberDecorate 31(Buffers) 3 Offset 16
|
||||
MemberDecorate 31(Buffers) 4 Offset 32
|
||||
MemberDecorate 31(Buffers) 5 Offset 64
|
||||
MemberDecorate 31(Buffers) 6 Offset 96
|
||||
Decorate 31(Buffers) Block
|
||||
Decorate 34(data) DescriptorSet 0
|
||||
Decorate 34(data) Binding 0
|
||||
Decorate 496 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypePointer Input 6(int)
|
||||
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
||||
12(gl_SubgroupSize): 9(ptr) Variable Input
|
||||
15: 6(int) Constant 4
|
||||
17: TypeInt 8 1
|
||||
18: TypeVector 17(int8_t) 4
|
||||
19: TypeInt 8 0
|
||||
20: TypeVector 19(int8_t) 4
|
||||
21: TypeInt 16 1
|
||||
22: TypeVector 21(int16_t) 4
|
||||
23: TypeInt 16 0
|
||||
24: TypeVector 23(int16_t) 4
|
||||
25: TypeInt 64 1
|
||||
26: TypeVector 25(int64_t) 4
|
||||
27: TypeInt 64 0
|
||||
28: TypeVector 27(int64_t) 4
|
||||
29: TypeFloat 16
|
||||
30: TypeVector 29(float16_t) 4
|
||||
31(Buffers): TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4)
|
||||
32: TypeArray 31(Buffers) 15
|
||||
33: TypePointer StorageBuffer 32
|
||||
34(data): 33(ptr) Variable StorageBuffer
|
||||
36: TypeInt 32 1
|
||||
37: 36(int) Constant 0
|
||||
38: 6(int) Constant 0
|
||||
39: TypePointer StorageBuffer 17(int8_t)
|
||||
43: 6(int) Constant 3
|
||||
47: 36(int) Constant 1
|
||||
48: TypeVector 17(int8_t) 2
|
||||
49: TypePointer StorageBuffer 18(i8vec4)
|
||||
59: 36(int) Constant 2
|
||||
60: TypeVector 17(int8_t) 3
|
||||
70: 36(int) Constant 3
|
||||
107: TypePointer StorageBuffer 19(int8_t)
|
||||
114: TypeVector 19(int8_t) 2
|
||||
115: TypePointer StorageBuffer 20(i8vec4)
|
||||
125: TypeVector 19(int8_t) 3
|
||||
171: TypePointer StorageBuffer 21(int16_t)
|
||||
178: TypeVector 21(int16_t) 2
|
||||
179: TypePointer StorageBuffer 22(i16vec4)
|
||||
189: TypeVector 21(int16_t) 3
|
||||
235: TypePointer StorageBuffer 23(int16_t)
|
||||
242: TypeVector 23(int16_t) 2
|
||||
243: TypePointer StorageBuffer 24(i16vec4)
|
||||
253: TypeVector 23(int16_t) 3
|
||||
299: 36(int) Constant 4
|
||||
300: TypePointer StorageBuffer 25(int64_t)
|
||||
307: TypeVector 25(int64_t) 2
|
||||
308: TypePointer StorageBuffer 26(i64vec4)
|
||||
318: TypeVector 25(int64_t) 3
|
||||
364: 36(int) Constant 5
|
||||
365: TypePointer StorageBuffer 27(int64_t)
|
||||
372: TypeVector 27(int64_t) 2
|
||||
373: TypePointer StorageBuffer 28(i64vec4)
|
||||
383: TypeVector 27(int64_t) 3
|
||||
429: 36(int) Constant 6
|
||||
430: TypePointer StorageBuffer 29(float16_t)
|
||||
437: TypeVector 29(float16_t) 2
|
||||
438: TypePointer StorageBuffer 30(f16vec4)
|
||||
448: TypeVector 29(float16_t) 3
|
||||
493: TypeVector 6(int) 3
|
||||
494: 6(int) Constant 8
|
||||
495: 6(int) Constant 1
|
||||
496: 493(ivec3) ConstantComposite 494 495 495
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
||||
13: 6(int) Load 12(gl_SubgroupSize)
|
||||
14: 6(int) IAdd 11 13
|
||||
16: 6(int) UMod 14 15
|
||||
Store 8(invocation) 16
|
||||
35: 6(int) Load 8(invocation)
|
||||
40: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
41: 17(int8_t) Load 40
|
||||
42: 6(int) Load 8(invocation)
|
||||
44: 17(int8_t) GroupNonUniformShuffleUp 43 41 42
|
||||
45: 39(ptr) AccessChain 34(data) 35 37 38
|
||||
Store 45 44
|
||||
46: 6(int) Load 8(invocation)
|
||||
50: 49(ptr) AccessChain 34(data) 47 37
|
||||
51: 18(i8vec4) Load 50
|
||||
52: 48(i8vec2) VectorShuffle 51 51 0 1
|
||||
53: 6(int) Load 8(invocation)
|
||||
54: 48(i8vec2) GroupNonUniformShuffleUp 43 52 53
|
||||
55: 49(ptr) AccessChain 34(data) 46 37
|
||||
56: 18(i8vec4) Load 55
|
||||
57: 18(i8vec4) VectorShuffle 56 54 4 5 2 3
|
||||
Store 55 57
|
||||
58: 6(int) Load 8(invocation)
|
||||
61: 49(ptr) AccessChain 34(data) 59 37
|
||||
62: 18(i8vec4) Load 61
|
||||
63: 60(i8vec3) VectorShuffle 62 62 0 1 2
|
||||
64: 6(int) Load 8(invocation)
|
||||
65: 60(i8vec3) GroupNonUniformShuffleUp 43 63 64
|
||||
66: 49(ptr) AccessChain 34(data) 58 37
|
||||
67: 18(i8vec4) Load 66
|
||||
68: 18(i8vec4) VectorShuffle 67 65 4 5 6 3
|
||||
Store 66 68
|
||||
69: 6(int) Load 8(invocation)
|
||||
71: 49(ptr) AccessChain 34(data) 70 37
|
||||
72: 18(i8vec4) Load 71
|
||||
73: 6(int) Load 8(invocation)
|
||||
74: 18(i8vec4) GroupNonUniformShuffleUp 43 72 73
|
||||
75: 49(ptr) AccessChain 34(data) 69 37
|
||||
Store 75 74
|
||||
76: 6(int) Load 8(invocation)
|
||||
77: 39(ptr) AccessChain 34(data) 37 37 38
|
||||
78: 17(int8_t) Load 77
|
||||
79: 6(int) Load 8(invocation)
|
||||
80: 17(int8_t) GroupNonUniformShuffleDown 43 78 79
|
||||
81: 39(ptr) AccessChain 34(data) 76 37 38
|
||||
Store 81 80
|
||||
82: 6(int) Load 8(invocation)
|
||||
83: 49(ptr) AccessChain 34(data) 47 37
|
||||
84: 18(i8vec4) Load 83
|
||||
85: 48(i8vec2) VectorShuffle 84 84 0 1
|
||||
86: 6(int) Load 8(invocation)
|
||||
87: 48(i8vec2) GroupNonUniformShuffleDown 43 85 86
|
||||
88: 49(ptr) AccessChain 34(data) 82 37
|
||||
89: 18(i8vec4) Load 88
|
||||
90: 18(i8vec4) VectorShuffle 89 87 4 5 2 3
|
||||
Store 88 90
|
||||
91: 6(int) Load 8(invocation)
|
||||
92: 49(ptr) AccessChain 34(data) 59 37
|
||||
93: 18(i8vec4) Load 92
|
||||
94: 60(i8vec3) VectorShuffle 93 93 0 1 2
|
||||
95: 6(int) Load 8(invocation)
|
||||
96: 60(i8vec3) GroupNonUniformShuffleDown 43 94 95
|
||||
97: 49(ptr) AccessChain 34(data) 91 37
|
||||
98: 18(i8vec4) Load 97
|
||||
99: 18(i8vec4) VectorShuffle 98 96 4 5 6 3
|
||||
Store 97 99
|
||||
100: 6(int) Load 8(invocation)
|
||||
101: 49(ptr) AccessChain 34(data) 70 37
|
||||
102: 18(i8vec4) Load 101
|
||||
103: 6(int) Load 8(invocation)
|
||||
104: 18(i8vec4) GroupNonUniformShuffleDown 43 102 103
|
||||
105: 49(ptr) AccessChain 34(data) 100 37
|
||||
Store 105 104
|
||||
106: 6(int) Load 8(invocation)
|
||||
108: 107(ptr) AccessChain 34(data) 37 47 38
|
||||
109: 19(int8_t) Load 108
|
||||
110: 6(int) Load 8(invocation)
|
||||
111: 19(int8_t) GroupNonUniformShuffleUp 43 109 110
|
||||
112: 107(ptr) AccessChain 34(data) 106 47 38
|
||||
Store 112 111
|
||||
113: 6(int) Load 8(invocation)
|
||||
116: 115(ptr) AccessChain 34(data) 47 47
|
||||
117: 20(i8vec4) Load 116
|
||||
118: 114(i8vec2) VectorShuffle 117 117 0 1
|
||||
119: 6(int) Load 8(invocation)
|
||||
120: 114(i8vec2) GroupNonUniformShuffleUp 43 118 119
|
||||
121: 115(ptr) AccessChain 34(data) 113 47
|
||||
122: 20(i8vec4) Load 121
|
||||
123: 20(i8vec4) VectorShuffle 122 120 4 5 2 3
|
||||
Store 121 123
|
||||
124: 6(int) Load 8(invocation)
|
||||
126: 115(ptr) AccessChain 34(data) 59 47
|
||||
127: 20(i8vec4) Load 126
|
||||
128: 125(i8vec3) VectorShuffle 127 127 0 1 2
|
||||
129: 6(int) Load 8(invocation)
|
||||
130: 125(i8vec3) GroupNonUniformShuffleUp 43 128 129
|
||||
131: 115(ptr) AccessChain 34(data) 124 47
|
||||
132: 20(i8vec4) Load 131
|
||||
133: 20(i8vec4) VectorShuffle 132 130 4 5 6 3
|
||||
Store 131 133
|
||||
134: 6(int) Load 8(invocation)
|
||||
135: 115(ptr) AccessChain 34(data) 70 47
|
||||
136: 20(i8vec4) Load 135
|
||||
137: 6(int) Load 8(invocation)
|
||||
138: 20(i8vec4) GroupNonUniformShuffleUp 43 136 137
|
||||
139: 115(ptr) AccessChain 34(data) 134 47
|
||||
Store 139 138
|
||||
140: 6(int) Load 8(invocation)
|
||||
141: 107(ptr) AccessChain 34(data) 37 47 38
|
||||
142: 19(int8_t) Load 141
|
||||
143: 6(int) Load 8(invocation)
|
||||
144: 19(int8_t) GroupNonUniformShuffleDown 43 142 143
|
||||
145: 107(ptr) AccessChain 34(data) 140 47 38
|
||||
Store 145 144
|
||||
146: 6(int) Load 8(invocation)
|
||||
147: 115(ptr) AccessChain 34(data) 47 47
|
||||
148: 20(i8vec4) Load 147
|
||||
149: 114(i8vec2) VectorShuffle 148 148 0 1
|
||||
150: 6(int) Load 8(invocation)
|
||||
151: 114(i8vec2) GroupNonUniformShuffleDown 43 149 150
|
||||
152: 115(ptr) AccessChain 34(data) 146 47
|
||||
153: 20(i8vec4) Load 152
|
||||
154: 20(i8vec4) VectorShuffle 153 151 4 5 2 3
|
||||
Store 152 154
|
||||
155: 6(int) Load 8(invocation)
|
||||
156: 115(ptr) AccessChain 34(data) 59 47
|
||||
157: 20(i8vec4) Load 156
|
||||
158: 125(i8vec3) VectorShuffle 157 157 0 1 2
|
||||
159: 6(int) Load 8(invocation)
|
||||
160: 125(i8vec3) GroupNonUniformShuffleDown 43 158 159
|
||||
161: 115(ptr) AccessChain 34(data) 155 47
|
||||
162: 20(i8vec4) Load 161
|
||||
163: 20(i8vec4) VectorShuffle 162 160 4 5 6 3
|
||||
Store 161 163
|
||||
164: 6(int) Load 8(invocation)
|
||||
165: 115(ptr) AccessChain 34(data) 70 47
|
||||
166: 20(i8vec4) Load 165
|
||||
167: 6(int) Load 8(invocation)
|
||||
168: 20(i8vec4) GroupNonUniformShuffleDown 43 166 167
|
||||
169: 115(ptr) AccessChain 34(data) 164 47
|
||||
Store 169 168
|
||||
170: 6(int) Load 8(invocation)
|
||||
172: 171(ptr) AccessChain 34(data) 37 59 38
|
||||
173: 21(int16_t) Load 172
|
||||
174: 6(int) Load 8(invocation)
|
||||
175: 21(int16_t) GroupNonUniformShuffleUp 43 173 174
|
||||
176: 171(ptr) AccessChain 34(data) 170 59 38
|
||||
Store 176 175
|
||||
177: 6(int) Load 8(invocation)
|
||||
180: 179(ptr) AccessChain 34(data) 47 59
|
||||
181: 22(i16vec4) Load 180
|
||||
182:178(i16vec2) VectorShuffle 181 181 0 1
|
||||
183: 6(int) Load 8(invocation)
|
||||
184:178(i16vec2) GroupNonUniformShuffleUp 43 182 183
|
||||
185: 179(ptr) AccessChain 34(data) 177 59
|
||||
186: 22(i16vec4) Load 185
|
||||
187: 22(i16vec4) VectorShuffle 186 184 4 5 2 3
|
||||
Store 185 187
|
||||
188: 6(int) Load 8(invocation)
|
||||
190: 179(ptr) AccessChain 34(data) 59 59
|
||||
191: 22(i16vec4) Load 190
|
||||
192:189(i16vec3) VectorShuffle 191 191 0 1 2
|
||||
193: 6(int) Load 8(invocation)
|
||||
194:189(i16vec3) GroupNonUniformShuffleUp 43 192 193
|
||||
195: 179(ptr) AccessChain 34(data) 188 59
|
||||
196: 22(i16vec4) Load 195
|
||||
197: 22(i16vec4) VectorShuffle 196 194 4 5 6 3
|
||||
Store 195 197
|
||||
198: 6(int) Load 8(invocation)
|
||||
199: 179(ptr) AccessChain 34(data) 70 59
|
||||
200: 22(i16vec4) Load 199
|
||||
201: 6(int) Load 8(invocation)
|
||||
202: 22(i16vec4) GroupNonUniformShuffleUp 43 200 201
|
||||
203: 179(ptr) AccessChain 34(data) 198 59
|
||||
Store 203 202
|
||||
204: 6(int) Load 8(invocation)
|
||||
205: 171(ptr) AccessChain 34(data) 37 59 38
|
||||
206: 21(int16_t) Load 205
|
||||
207: 6(int) Load 8(invocation)
|
||||
208: 21(int16_t) GroupNonUniformShuffleDown 43 206 207
|
||||
209: 171(ptr) AccessChain 34(data) 204 59 38
|
||||
Store 209 208
|
||||
210: 6(int) Load 8(invocation)
|
||||
211: 179(ptr) AccessChain 34(data) 47 59
|
||||
212: 22(i16vec4) Load 211
|
||||
213:178(i16vec2) VectorShuffle 212 212 0 1
|
||||
214: 6(int) Load 8(invocation)
|
||||
215:178(i16vec2) GroupNonUniformShuffleDown 43 213 214
|
||||
216: 179(ptr) AccessChain 34(data) 210 59
|
||||
217: 22(i16vec4) Load 216
|
||||
218: 22(i16vec4) VectorShuffle 217 215 4 5 2 3
|
||||
Store 216 218
|
||||
219: 6(int) Load 8(invocation)
|
||||
220: 179(ptr) AccessChain 34(data) 59 59
|
||||
221: 22(i16vec4) Load 220
|
||||
222:189(i16vec3) VectorShuffle 221 221 0 1 2
|
||||
223: 6(int) Load 8(invocation)
|
||||
224:189(i16vec3) GroupNonUniformShuffleDown 43 222 223
|
||||
225: 179(ptr) AccessChain 34(data) 219 59
|
||||
226: 22(i16vec4) Load 225
|
||||
227: 22(i16vec4) VectorShuffle 226 224 4 5 6 3
|
||||
Store 225 227
|
||||
228: 6(int) Load 8(invocation)
|
||||
229: 179(ptr) AccessChain 34(data) 70 59
|
||||
230: 22(i16vec4) Load 229
|
||||
231: 6(int) Load 8(invocation)
|
||||
232: 22(i16vec4) GroupNonUniformShuffleDown 43 230 231
|
||||
233: 179(ptr) AccessChain 34(data) 228 59
|
||||
Store 233 232
|
||||
234: 6(int) Load 8(invocation)
|
||||
236: 235(ptr) AccessChain 34(data) 37 70 38
|
||||
237: 23(int16_t) Load 236
|
||||
238: 6(int) Load 8(invocation)
|
||||
239: 23(int16_t) GroupNonUniformShuffleUp 43 237 238
|
||||
240: 235(ptr) AccessChain 34(data) 234 70 38
|
||||
Store 240 239
|
||||
241: 6(int) Load 8(invocation)
|
||||
244: 243(ptr) AccessChain 34(data) 47 70
|
||||
245: 24(i16vec4) Load 244
|
||||
246:242(i16vec2) VectorShuffle 245 245 0 1
|
||||
247: 6(int) Load 8(invocation)
|
||||
248:242(i16vec2) GroupNonUniformShuffleUp 43 246 247
|
||||
249: 243(ptr) AccessChain 34(data) 241 70
|
||||
250: 24(i16vec4) Load 249
|
||||
251: 24(i16vec4) VectorShuffle 250 248 4 5 2 3
|
||||
Store 249 251
|
||||
252: 6(int) Load 8(invocation)
|
||||
254: 243(ptr) AccessChain 34(data) 59 70
|
||||
255: 24(i16vec4) Load 254
|
||||
256:253(i16vec3) VectorShuffle 255 255 0 1 2
|
||||
257: 6(int) Load 8(invocation)
|
||||
258:253(i16vec3) GroupNonUniformShuffleUp 43 256 257
|
||||
259: 243(ptr) AccessChain 34(data) 252 70
|
||||
260: 24(i16vec4) Load 259
|
||||
261: 24(i16vec4) VectorShuffle 260 258 4 5 6 3
|
||||
Store 259 261
|
||||
262: 6(int) Load 8(invocation)
|
||||
263: 243(ptr) AccessChain 34(data) 70 70
|
||||
264: 24(i16vec4) Load 263
|
||||
265: 6(int) Load 8(invocation)
|
||||
266: 24(i16vec4) GroupNonUniformShuffleUp 43 264 265
|
||||
267: 243(ptr) AccessChain 34(data) 262 70
|
||||
Store 267 266
|
||||
268: 6(int) Load 8(invocation)
|
||||
269: 235(ptr) AccessChain 34(data) 37 70 38
|
||||
270: 23(int16_t) Load 269
|
||||
271: 6(int) Load 8(invocation)
|
||||
272: 23(int16_t) GroupNonUniformShuffleDown 43 270 271
|
||||
273: 235(ptr) AccessChain 34(data) 268 70 38
|
||||
Store 273 272
|
||||
274: 6(int) Load 8(invocation)
|
||||
275: 243(ptr) AccessChain 34(data) 47 70
|
||||
276: 24(i16vec4) Load 275
|
||||
277:242(i16vec2) VectorShuffle 276 276 0 1
|
||||
278: 6(int) Load 8(invocation)
|
||||
279:242(i16vec2) GroupNonUniformShuffleDown 43 277 278
|
||||
280: 243(ptr) AccessChain 34(data) 274 70
|
||||
281: 24(i16vec4) Load 280
|
||||
282: 24(i16vec4) VectorShuffle 281 279 4 5 2 3
|
||||
Store 280 282
|
||||
283: 6(int) Load 8(invocation)
|
||||
284: 243(ptr) AccessChain 34(data) 59 70
|
||||
285: 24(i16vec4) Load 284
|
||||
286:253(i16vec3) VectorShuffle 285 285 0 1 2
|
||||
287: 6(int) Load 8(invocation)
|
||||
288:253(i16vec3) GroupNonUniformShuffleDown 43 286 287
|
||||
289: 243(ptr) AccessChain 34(data) 283 70
|
||||
290: 24(i16vec4) Load 289
|
||||
291: 24(i16vec4) VectorShuffle 290 288 4 5 6 3
|
||||
Store 289 291
|
||||
292: 6(int) Load 8(invocation)
|
||||
293: 243(ptr) AccessChain 34(data) 70 70
|
||||
294: 24(i16vec4) Load 293
|
||||
295: 6(int) Load 8(invocation)
|
||||
296: 24(i16vec4) GroupNonUniformShuffleDown 43 294 295
|
||||
297: 243(ptr) AccessChain 34(data) 292 70
|
||||
Store 297 296
|
||||
298: 6(int) Load 8(invocation)
|
||||
301: 300(ptr) AccessChain 34(data) 37 299 38
|
||||
302: 25(int64_t) Load 301
|
||||
303: 6(int) Load 8(invocation)
|
||||
304: 25(int64_t) GroupNonUniformShuffleUp 43 302 303
|
||||
305: 300(ptr) AccessChain 34(data) 298 299 38
|
||||
Store 305 304
|
||||
306: 6(int) Load 8(invocation)
|
||||
309: 308(ptr) AccessChain 34(data) 47 299
|
||||
310: 26(i64vec4) Load 309
|
||||
311:307(i64vec2) VectorShuffle 310 310 0 1
|
||||
312: 6(int) Load 8(invocation)
|
||||
313:307(i64vec2) GroupNonUniformShuffleUp 43 311 312
|
||||
314: 308(ptr) AccessChain 34(data) 306 299
|
||||
315: 26(i64vec4) Load 314
|
||||
316: 26(i64vec4) VectorShuffle 315 313 4 5 2 3
|
||||
Store 314 316
|
||||
317: 6(int) Load 8(invocation)
|
||||
319: 308(ptr) AccessChain 34(data) 59 299
|
||||
320: 26(i64vec4) Load 319
|
||||
321:318(i64vec3) VectorShuffle 320 320 0 1 2
|
||||
322: 6(int) Load 8(invocation)
|
||||
323:318(i64vec3) GroupNonUniformShuffleUp 43 321 322
|
||||
324: 308(ptr) AccessChain 34(data) 317 299
|
||||
325: 26(i64vec4) Load 324
|
||||
326: 26(i64vec4) VectorShuffle 325 323 4 5 6 3
|
||||
Store 324 326
|
||||
327: 6(int) Load 8(invocation)
|
||||
328: 308(ptr) AccessChain 34(data) 70 299
|
||||
329: 26(i64vec4) Load 328
|
||||
330: 6(int) Load 8(invocation)
|
||||
331: 26(i64vec4) GroupNonUniformShuffleUp 43 329 330
|
||||
332: 308(ptr) AccessChain 34(data) 327 299
|
||||
Store 332 331
|
||||
333: 6(int) Load 8(invocation)
|
||||
334: 300(ptr) AccessChain 34(data) 37 299 38
|
||||
335: 25(int64_t) Load 334
|
||||
336: 6(int) Load 8(invocation)
|
||||
337: 25(int64_t) GroupNonUniformShuffleDown 43 335 336
|
||||
338: 300(ptr) AccessChain 34(data) 333 299 38
|
||||
Store 338 337
|
||||
339: 6(int) Load 8(invocation)
|
||||
340: 308(ptr) AccessChain 34(data) 47 299
|
||||
341: 26(i64vec4) Load 340
|
||||
342:307(i64vec2) VectorShuffle 341 341 0 1
|
||||
343: 6(int) Load 8(invocation)
|
||||
344:307(i64vec2) GroupNonUniformShuffleDown 43 342 343
|
||||
345: 308(ptr) AccessChain 34(data) 339 299
|
||||
346: 26(i64vec4) Load 345
|
||||
347: 26(i64vec4) VectorShuffle 346 344 4 5 2 3
|
||||
Store 345 347
|
||||
348: 6(int) Load 8(invocation)
|
||||
349: 308(ptr) AccessChain 34(data) 59 299
|
||||
350: 26(i64vec4) Load 349
|
||||
351:318(i64vec3) VectorShuffle 350 350 0 1 2
|
||||
352: 6(int) Load 8(invocation)
|
||||
353:318(i64vec3) GroupNonUniformShuffleDown 43 351 352
|
||||
354: 308(ptr) AccessChain 34(data) 348 299
|
||||
355: 26(i64vec4) Load 354
|
||||
356: 26(i64vec4) VectorShuffle 355 353 4 5 6 3
|
||||
Store 354 356
|
||||
357: 6(int) Load 8(invocation)
|
||||
358: 308(ptr) AccessChain 34(data) 70 299
|
||||
359: 26(i64vec4) Load 358
|
||||
360: 6(int) Load 8(invocation)
|
||||
361: 26(i64vec4) GroupNonUniformShuffleDown 43 359 360
|
||||
362: 308(ptr) AccessChain 34(data) 357 299
|
||||
Store 362 361
|
||||
363: 6(int) Load 8(invocation)
|
||||
366: 365(ptr) AccessChain 34(data) 37 364 38
|
||||
367: 27(int64_t) Load 366
|
||||
368: 6(int) Load 8(invocation)
|
||||
369: 27(int64_t) GroupNonUniformShuffleUp 43 367 368
|
||||
370: 365(ptr) AccessChain 34(data) 363 364 38
|
||||
Store 370 369
|
||||
371: 6(int) Load 8(invocation)
|
||||
374: 373(ptr) AccessChain 34(data) 47 364
|
||||
375: 28(i64vec4) Load 374
|
||||
376:372(i64vec2) VectorShuffle 375 375 0 1
|
||||
377: 6(int) Load 8(invocation)
|
||||
378:372(i64vec2) GroupNonUniformShuffleUp 43 376 377
|
||||
379: 373(ptr) AccessChain 34(data) 371 364
|
||||
380: 28(i64vec4) Load 379
|
||||
381: 28(i64vec4) VectorShuffle 380 378 4 5 2 3
|
||||
Store 379 381
|
||||
382: 6(int) Load 8(invocation)
|
||||
384: 373(ptr) AccessChain 34(data) 59 364
|
||||
385: 28(i64vec4) Load 384
|
||||
386:383(i64vec3) VectorShuffle 385 385 0 1 2
|
||||
387: 6(int) Load 8(invocation)
|
||||
388:383(i64vec3) GroupNonUniformShuffleUp 43 386 387
|
||||
389: 373(ptr) AccessChain 34(data) 382 364
|
||||
390: 28(i64vec4) Load 389
|
||||
391: 28(i64vec4) VectorShuffle 390 388 4 5 6 3
|
||||
Store 389 391
|
||||
392: 6(int) Load 8(invocation)
|
||||
393: 373(ptr) AccessChain 34(data) 70 364
|
||||
394: 28(i64vec4) Load 393
|
||||
395: 6(int) Load 8(invocation)
|
||||
396: 28(i64vec4) GroupNonUniformShuffleUp 43 394 395
|
||||
397: 373(ptr) AccessChain 34(data) 392 364
|
||||
Store 397 396
|
||||
398: 6(int) Load 8(invocation)
|
||||
399: 365(ptr) AccessChain 34(data) 37 364 38
|
||||
400: 27(int64_t) Load 399
|
||||
401: 6(int) Load 8(invocation)
|
||||
402: 27(int64_t) GroupNonUniformShuffleDown 43 400 401
|
||||
403: 365(ptr) AccessChain 34(data) 398 364 38
|
||||
Store 403 402
|
||||
404: 6(int) Load 8(invocation)
|
||||
405: 373(ptr) AccessChain 34(data) 47 364
|
||||
406: 28(i64vec4) Load 405
|
||||
407:372(i64vec2) VectorShuffle 406 406 0 1
|
||||
408: 6(int) Load 8(invocation)
|
||||
409:372(i64vec2) GroupNonUniformShuffleDown 43 407 408
|
||||
410: 373(ptr) AccessChain 34(data) 404 364
|
||||
411: 28(i64vec4) Load 410
|
||||
412: 28(i64vec4) VectorShuffle 411 409 4 5 2 3
|
||||
Store 410 412
|
||||
413: 6(int) Load 8(invocation)
|
||||
414: 373(ptr) AccessChain 34(data) 59 364
|
||||
415: 28(i64vec4) Load 414
|
||||
416:383(i64vec3) VectorShuffle 415 415 0 1 2
|
||||
417: 6(int) Load 8(invocation)
|
||||
418:383(i64vec3) GroupNonUniformShuffleDown 43 416 417
|
||||
419: 373(ptr) AccessChain 34(data) 413 364
|
||||
420: 28(i64vec4) Load 419
|
||||
421: 28(i64vec4) VectorShuffle 420 418 4 5 6 3
|
||||
Store 419 421
|
||||
422: 6(int) Load 8(invocation)
|
||||
423: 373(ptr) AccessChain 34(data) 70 364
|
||||
424: 28(i64vec4) Load 423
|
||||
425: 6(int) Load 8(invocation)
|
||||
426: 28(i64vec4) GroupNonUniformShuffleDown 43 424 425
|
||||
427: 373(ptr) AccessChain 34(data) 422 364
|
||||
Store 427 426
|
||||
428: 6(int) Load 8(invocation)
|
||||
431: 430(ptr) AccessChain 34(data) 37 429 38
|
||||
432:29(float16_t) Load 431
|
||||
433: 6(int) Load 8(invocation)
|
||||
434:29(float16_t) GroupNonUniformShuffleUp 43 432 433
|
||||
435: 430(ptr) AccessChain 34(data) 428 429 38
|
||||
Store 435 434
|
||||
436: 6(int) Load 8(invocation)
|
||||
439: 438(ptr) AccessChain 34(data) 47 429
|
||||
440: 30(f16vec4) Load 439
|
||||
441:437(f16vec2) VectorShuffle 440 440 0 1
|
||||
442: 6(int) Load 8(invocation)
|
||||
443:437(f16vec2) GroupNonUniformShuffleUp 43 441 442
|
||||
444: 438(ptr) AccessChain 34(data) 436 429
|
||||
445: 30(f16vec4) Load 444
|
||||
446: 30(f16vec4) VectorShuffle 445 443 4 5 2 3
|
||||
Store 444 446
|
||||
447: 6(int) Load 8(invocation)
|
||||
449: 438(ptr) AccessChain 34(data) 59 429
|
||||
450: 30(f16vec4) Load 449
|
||||
451:448(f16vec3) VectorShuffle 450 450 0 1 2
|
||||
452: 6(int) Load 8(invocation)
|
||||
453:448(f16vec3) GroupNonUniformShuffleUp 43 451 452
|
||||
454: 438(ptr) AccessChain 34(data) 447 429
|
||||
455: 30(f16vec4) Load 454
|
||||
456: 30(f16vec4) VectorShuffle 455 453 4 5 6 3
|
||||
Store 454 456
|
||||
457: 6(int) Load 8(invocation)
|
||||
458: 438(ptr) AccessChain 34(data) 70 429
|
||||
459: 30(f16vec4) Load 458
|
||||
460: 6(int) Load 8(invocation)
|
||||
461: 30(f16vec4) GroupNonUniformShuffleUp 43 459 460
|
||||
462: 438(ptr) AccessChain 34(data) 457 429
|
||||
Store 462 461
|
||||
463: 6(int) Load 8(invocation)
|
||||
464: 430(ptr) AccessChain 34(data) 37 429 38
|
||||
465:29(float16_t) Load 464
|
||||
466: 6(int) Load 8(invocation)
|
||||
467:29(float16_t) GroupNonUniformShuffleDown 43 465 466
|
||||
468: 430(ptr) AccessChain 34(data) 463 429 38
|
||||
Store 468 467
|
||||
469: 6(int) Load 8(invocation)
|
||||
470: 438(ptr) AccessChain 34(data) 47 429
|
||||
471: 30(f16vec4) Load 470
|
||||
472:437(f16vec2) VectorShuffle 471 471 0 1
|
||||
473: 6(int) Load 8(invocation)
|
||||
474:437(f16vec2) GroupNonUniformShuffleDown 43 472 473
|
||||
475: 438(ptr) AccessChain 34(data) 469 429
|
||||
476: 30(f16vec4) Load 475
|
||||
477: 30(f16vec4) VectorShuffle 476 474 4 5 2 3
|
||||
Store 475 477
|
||||
478: 6(int) Load 8(invocation)
|
||||
479: 438(ptr) AccessChain 34(data) 59 429
|
||||
480: 30(f16vec4) Load 479
|
||||
481:448(f16vec3) VectorShuffle 480 480 0 1 2
|
||||
482: 6(int) Load 8(invocation)
|
||||
483:448(f16vec3) GroupNonUniformShuffleDown 43 481 482
|
||||
484: 438(ptr) AccessChain 34(data) 478 429
|
||||
485: 30(f16vec4) Load 484
|
||||
486: 30(f16vec4) VectorShuffle 485 483 4 5 6 3
|
||||
Store 484 486
|
||||
487: 6(int) Load 8(invocation)
|
||||
488: 438(ptr) AccessChain 34(data) 70 429
|
||||
489: 30(f16vec4) Load 488
|
||||
490: 6(int) Load 8(invocation)
|
||||
491: 30(f16vec4) GroupNonUniformShuffleDown 43 489 490
|
||||
492: 438(ptr) AccessChain 34(data) 487 429
|
||||
Store 492 491
|
||||
Return
|
||||
FunctionEnd
|
@ -0,0 +1,61 @@
|
||||
spv.subgroupExtendedTypesShuffleRelativeNeg.comp
|
||||
ERROR: 0:26: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:27: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:28: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:29: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:31: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:33: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:34: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:36: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:38: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:39: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:41: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:42: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:43: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:44: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:46: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:47: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:48: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:49: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:51: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:52: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:53: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:54: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:56: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:57: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:58: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:59: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:61: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:62: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:63: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:64: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:66: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:67: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:68: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:69: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:71: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:72: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:73: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:74: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:76: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:77: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:78: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:79: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:81: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:82: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:83: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:84: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:86: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:87: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:88: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:89: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:91: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:92: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:93: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:94: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 56 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
377
Test/baseResults/spv.subgroupExtendedTypesVote.comp.out
Normal file
377
Test/baseResults/spv.subgroupExtendedTypesVote.comp.out
Normal file
@ -0,0 +1,377 @@
|
||||
spv.subgroupExtendedTypesVote.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 277
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
Capability GroupNonUniform
|
||||
Capability GroupNonUniformVote
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 12
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_float16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int64"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int8"
|
||||
SourceExtension "GL_KHR_shader_subgroup_basic"
|
||||
SourceExtension "GL_KHR_shader_subgroup_vote"
|
||||
Name 4 "main"
|
||||
Name 8 "invocation"
|
||||
Name 10 "gl_SubgroupInvocationID"
|
||||
Name 12 "gl_SubgroupSize"
|
||||
Name 32 "Buffers"
|
||||
MemberName 32(Buffers) 0 "i8"
|
||||
MemberName 32(Buffers) 1 "u8"
|
||||
MemberName 32(Buffers) 2 "i16"
|
||||
MemberName 32(Buffers) 3 "u16"
|
||||
MemberName 32(Buffers) 4 "i64"
|
||||
MemberName 32(Buffers) 5 "u64"
|
||||
MemberName 32(Buffers) 6 "f16"
|
||||
MemberName 32(Buffers) 7 "r"
|
||||
Name 35 "data"
|
||||
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 11 RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
||||
Decorate 13 RelaxedPrecision
|
||||
Decorate 14 RelaxedPrecision
|
||||
Decorate 16 RelaxedPrecision
|
||||
MemberDecorate 32(Buffers) 0 Offset 0
|
||||
MemberDecorate 32(Buffers) 1 Offset 4
|
||||
MemberDecorate 32(Buffers) 2 Offset 8
|
||||
MemberDecorate 32(Buffers) 3 Offset 16
|
||||
MemberDecorate 32(Buffers) 4 Offset 32
|
||||
MemberDecorate 32(Buffers) 5 Offset 64
|
||||
MemberDecorate 32(Buffers) 6 Offset 96
|
||||
MemberDecorate 32(Buffers) 7 Offset 104
|
||||
Decorate 32(Buffers) Block
|
||||
Decorate 35(data) DescriptorSet 0
|
||||
Decorate 35(data) Binding 0
|
||||
Decorate 276 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypePointer Input 6(int)
|
||||
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
||||
12(gl_SubgroupSize): 9(ptr) Variable Input
|
||||
15: 6(int) Constant 4
|
||||
17: TypeInt 8 1
|
||||
18: TypeVector 17(int8_t) 4
|
||||
19: TypeInt 8 0
|
||||
20: TypeVector 19(int8_t) 4
|
||||
21: TypeInt 16 1
|
||||
22: TypeVector 21(int16_t) 4
|
||||
23: TypeInt 16 0
|
||||
24: TypeVector 23(int16_t) 4
|
||||
25: TypeInt 64 1
|
||||
26: TypeVector 25(int64_t) 4
|
||||
27: TypeInt 64 0
|
||||
28: TypeVector 27(int64_t) 4
|
||||
29: TypeFloat 16
|
||||
30: TypeVector 29(float16_t) 4
|
||||
31: TypeInt 32 1
|
||||
32(Buffers): TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4) 31(int)
|
||||
33: TypeArray 32(Buffers) 15
|
||||
34: TypePointer StorageBuffer 33
|
||||
35(data): 34(ptr) Variable StorageBuffer
|
||||
37: 31(int) Constant 7
|
||||
38: TypePointer StorageBuffer 31(int)
|
||||
41: 31(int) Constant 0
|
||||
42: TypeBool
|
||||
44: 6(int) Constant 3
|
||||
49: 6(int) Constant 0
|
||||
50: TypePointer StorageBuffer 17(int8_t)
|
||||
54: 31(int) Constant 1
|
||||
58: TypeVector 17(int8_t) 2
|
||||
59: TypePointer StorageBuffer 18(i8vec4)
|
||||
67: 31(int) Constant 2
|
||||
68: TypeVector 17(int8_t) 3
|
||||
76: 31(int) Constant 3
|
||||
83: TypePointer StorageBuffer 19(int8_t)
|
||||
90: TypeVector 19(int8_t) 2
|
||||
91: TypePointer StorageBuffer 20(i8vec4)
|
||||
99: TypeVector 19(int8_t) 3
|
||||
113: TypePointer StorageBuffer 21(int16_t)
|
||||
120: TypeVector 21(int16_t) 2
|
||||
121: TypePointer StorageBuffer 22(i16vec4)
|
||||
129: TypeVector 21(int16_t) 3
|
||||
143: TypePointer StorageBuffer 23(int16_t)
|
||||
150: TypeVector 23(int16_t) 2
|
||||
151: TypePointer StorageBuffer 24(i16vec4)
|
||||
159: TypeVector 23(int16_t) 3
|
||||
181: 31(int) Constant 4
|
||||
182: TypePointer StorageBuffer 25(int64_t)
|
||||
189: TypeVector 25(int64_t) 2
|
||||
190: TypePointer StorageBuffer 26(i64vec4)
|
||||
198: TypeVector 25(int64_t) 3
|
||||
212: 31(int) Constant 5
|
||||
213: TypePointer StorageBuffer 27(int64_t)
|
||||
220: TypeVector 27(int64_t) 2
|
||||
221: TypePointer StorageBuffer 28(i64vec4)
|
||||
229: TypeVector 27(int64_t) 3
|
||||
243: 31(int) Constant 6
|
||||
244: TypePointer StorageBuffer 29(float16_t)
|
||||
251: TypeVector 29(float16_t) 2
|
||||
252: TypePointer StorageBuffer 30(f16vec4)
|
||||
260: TypeVector 29(float16_t) 3
|
||||
273: TypeVector 6(int) 3
|
||||
274: 6(int) Constant 8
|
||||
275: 6(int) Constant 1
|
||||
276: 273(ivec3) ConstantComposite 274 275 275
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
||||
13: 6(int) Load 12(gl_SubgroupSize)
|
||||
14: 6(int) IAdd 11 13
|
||||
16: 6(int) UMod 14 15
|
||||
Store 8(invocation) 16
|
||||
36: 6(int) Load 8(invocation)
|
||||
39: 38(ptr) AccessChain 35(data) 36 37
|
||||
40: 31(int) Load 39
|
||||
43: 42(bool) SLessThan 40 41
|
||||
45: 42(bool) GroupNonUniformAll 44 43
|
||||
SelectionMerge 47 None
|
||||
BranchConditional 45 46 172
|
||||
46: Label
|
||||
48: 6(int) Load 8(invocation)
|
||||
51: 50(ptr) AccessChain 35(data) 41 41 49
|
||||
52: 17(int8_t) Load 51
|
||||
53: 42(bool) GroupNonUniformAllEqual 44 52
|
||||
55: 31(int) Select 53 54 41
|
||||
56: 38(ptr) AccessChain 35(data) 48 37
|
||||
Store 56 55
|
||||
57: 6(int) Load 8(invocation)
|
||||
60: 59(ptr) AccessChain 35(data) 54 41
|
||||
61: 18(i8vec4) Load 60
|
||||
62: 58(i8vec2) VectorShuffle 61 61 0 1
|
||||
63: 42(bool) GroupNonUniformAllEqual 44 62
|
||||
64: 31(int) Select 63 54 41
|
||||
65: 38(ptr) AccessChain 35(data) 57 37
|
||||
Store 65 64
|
||||
66: 6(int) Load 8(invocation)
|
||||
69: 59(ptr) AccessChain 35(data) 67 41
|
||||
70: 18(i8vec4) Load 69
|
||||
71: 68(i8vec3) VectorShuffle 70 70 0 1 2
|
||||
72: 42(bool) GroupNonUniformAllEqual 44 71
|
||||
73: 31(int) Select 72 54 41
|
||||
74: 38(ptr) AccessChain 35(data) 66 37
|
||||
Store 74 73
|
||||
75: 6(int) Load 8(invocation)
|
||||
77: 59(ptr) AccessChain 35(data) 76 41
|
||||
78: 18(i8vec4) Load 77
|
||||
79: 42(bool) GroupNonUniformAllEqual 44 78
|
||||
80: 31(int) Select 79 54 41
|
||||
81: 38(ptr) AccessChain 35(data) 75 37
|
||||
Store 81 80
|
||||
82: 6(int) Load 8(invocation)
|
||||
84: 83(ptr) AccessChain 35(data) 41 54 49
|
||||
85: 19(int8_t) Load 84
|
||||
86: 42(bool) GroupNonUniformAllEqual 44 85
|
||||
87: 31(int) Select 86 54 41
|
||||
88: 38(ptr) AccessChain 35(data) 82 37
|
||||
Store 88 87
|
||||
89: 6(int) Load 8(invocation)
|
||||
92: 91(ptr) AccessChain 35(data) 54 54
|
||||
93: 20(i8vec4) Load 92
|
||||
94: 90(i8vec2) VectorShuffle 93 93 0 1
|
||||
95: 42(bool) GroupNonUniformAllEqual 44 94
|
||||
96: 31(int) Select 95 54 41
|
||||
97: 38(ptr) AccessChain 35(data) 89 37
|
||||
Store 97 96
|
||||
98: 6(int) Load 8(invocation)
|
||||
100: 91(ptr) AccessChain 35(data) 67 54
|
||||
101: 20(i8vec4) Load 100
|
||||
102: 99(i8vec3) VectorShuffle 101 101 0 1 2
|
||||
103: 42(bool) GroupNonUniformAllEqual 44 102
|
||||
104: 31(int) Select 103 54 41
|
||||
105: 38(ptr) AccessChain 35(data) 98 37
|
||||
Store 105 104
|
||||
106: 6(int) Load 8(invocation)
|
||||
107: 91(ptr) AccessChain 35(data) 76 54
|
||||
108: 20(i8vec4) Load 107
|
||||
109: 42(bool) GroupNonUniformAllEqual 44 108
|
||||
110: 31(int) Select 109 54 41
|
||||
111: 38(ptr) AccessChain 35(data) 106 37
|
||||
Store 111 110
|
||||
112: 6(int) Load 8(invocation)
|
||||
114: 113(ptr) AccessChain 35(data) 41 67 49
|
||||
115: 21(int16_t) Load 114
|
||||
116: 42(bool) GroupNonUniformAllEqual 44 115
|
||||
117: 31(int) Select 116 54 41
|
||||
118: 38(ptr) AccessChain 35(data) 112 37
|
||||
Store 118 117
|
||||
119: 6(int) Load 8(invocation)
|
||||
122: 121(ptr) AccessChain 35(data) 54 67
|
||||
123: 22(i16vec4) Load 122
|
||||
124:120(i16vec2) VectorShuffle 123 123 0 1
|
||||
125: 42(bool) GroupNonUniformAllEqual 44 124
|
||||
126: 31(int) Select 125 54 41
|
||||
127: 38(ptr) AccessChain 35(data) 119 37
|
||||
Store 127 126
|
||||
128: 6(int) Load 8(invocation)
|
||||
130: 121(ptr) AccessChain 35(data) 67 67
|
||||
131: 22(i16vec4) Load 130
|
||||
132:129(i16vec3) VectorShuffle 131 131 0 1 2
|
||||
133: 42(bool) GroupNonUniformAllEqual 44 132
|
||||
134: 31(int) Select 133 54 41
|
||||
135: 38(ptr) AccessChain 35(data) 128 37
|
||||
Store 135 134
|
||||
136: 6(int) Load 8(invocation)
|
||||
137: 121(ptr) AccessChain 35(data) 76 67
|
||||
138: 22(i16vec4) Load 137
|
||||
139: 42(bool) GroupNonUniformAllEqual 44 138
|
||||
140: 31(int) Select 139 54 41
|
||||
141: 38(ptr) AccessChain 35(data) 136 37
|
||||
Store 141 140
|
||||
142: 6(int) Load 8(invocation)
|
||||
144: 143(ptr) AccessChain 35(data) 41 76 49
|
||||
145: 23(int16_t) Load 144
|
||||
146: 42(bool) GroupNonUniformAllEqual 44 145
|
||||
147: 31(int) Select 146 54 41
|
||||
148: 38(ptr) AccessChain 35(data) 142 37
|
||||
Store 148 147
|
||||
149: 6(int) Load 8(invocation)
|
||||
152: 151(ptr) AccessChain 35(data) 54 76
|
||||
153: 24(i16vec4) Load 152
|
||||
154:150(i16vec2) VectorShuffle 153 153 0 1
|
||||
155: 42(bool) GroupNonUniformAllEqual 44 154
|
||||
156: 31(int) Select 155 54 41
|
||||
157: 38(ptr) AccessChain 35(data) 149 37
|
||||
Store 157 156
|
||||
158: 6(int) Load 8(invocation)
|
||||
160: 151(ptr) AccessChain 35(data) 67 76
|
||||
161: 24(i16vec4) Load 160
|
||||
162:159(i16vec3) VectorShuffle 161 161 0 1 2
|
||||
163: 42(bool) GroupNonUniformAllEqual 44 162
|
||||
164: 31(int) Select 163 54 41
|
||||
165: 38(ptr) AccessChain 35(data) 158 37
|
||||
Store 165 164
|
||||
166: 6(int) Load 8(invocation)
|
||||
167: 151(ptr) AccessChain 35(data) 76 76
|
||||
168: 24(i16vec4) Load 167
|
||||
169: 42(bool) GroupNonUniformAllEqual 44 168
|
||||
170: 31(int) Select 169 54 41
|
||||
171: 38(ptr) AccessChain 35(data) 166 37
|
||||
Store 171 170
|
||||
Branch 47
|
||||
172: Label
|
||||
173: 6(int) Load 8(invocation)
|
||||
174: 38(ptr) AccessChain 35(data) 173 37
|
||||
175: 31(int) Load 174
|
||||
176: 42(bool) SLessThan 175 41
|
||||
177: 42(bool) GroupNonUniformAny 44 176
|
||||
SelectionMerge 179 None
|
||||
BranchConditional 177 178 179
|
||||
178: Label
|
||||
180: 6(int) Load 8(invocation)
|
||||
183: 182(ptr) AccessChain 35(data) 41 181 49
|
||||
184: 25(int64_t) Load 183
|
||||
185: 42(bool) GroupNonUniformAllEqual 44 184
|
||||
186: 31(int) Select 185 54 41
|
||||
187: 38(ptr) AccessChain 35(data) 180 37
|
||||
Store 187 186
|
||||
188: 6(int) Load 8(invocation)
|
||||
191: 190(ptr) AccessChain 35(data) 54 181
|
||||
192: 26(i64vec4) Load 191
|
||||
193:189(i64vec2) VectorShuffle 192 192 0 1
|
||||
194: 42(bool) GroupNonUniformAllEqual 44 193
|
||||
195: 31(int) Select 194 54 41
|
||||
196: 38(ptr) AccessChain 35(data) 188 37
|
||||
Store 196 195
|
||||
197: 6(int) Load 8(invocation)
|
||||
199: 190(ptr) AccessChain 35(data) 67 181
|
||||
200: 26(i64vec4) Load 199
|
||||
201:198(i64vec3) VectorShuffle 200 200 0 1 2
|
||||
202: 42(bool) GroupNonUniformAllEqual 44 201
|
||||
203: 31(int) Select 202 54 41
|
||||
204: 38(ptr) AccessChain 35(data) 197 37
|
||||
Store 204 203
|
||||
205: 6(int) Load 8(invocation)
|
||||
206: 190(ptr) AccessChain 35(data) 76 181
|
||||
207: 26(i64vec4) Load 206
|
||||
208: 42(bool) GroupNonUniformAllEqual 44 207
|
||||
209: 31(int) Select 208 54 41
|
||||
210: 38(ptr) AccessChain 35(data) 205 37
|
||||
Store 210 209
|
||||
211: 6(int) Load 8(invocation)
|
||||
214: 213(ptr) AccessChain 35(data) 41 212 49
|
||||
215: 27(int64_t) Load 214
|
||||
216: 42(bool) GroupNonUniformAllEqual 44 215
|
||||
217: 31(int) Select 216 54 41
|
||||
218: 38(ptr) AccessChain 35(data) 211 37
|
||||
Store 218 217
|
||||
219: 6(int) Load 8(invocation)
|
||||
222: 221(ptr) AccessChain 35(data) 54 212
|
||||
223: 28(i64vec4) Load 222
|
||||
224:220(i64vec2) VectorShuffle 223 223 0 1
|
||||
225: 42(bool) GroupNonUniformAllEqual 44 224
|
||||
226: 31(int) Select 225 54 41
|
||||
227: 38(ptr) AccessChain 35(data) 219 37
|
||||
Store 227 226
|
||||
228: 6(int) Load 8(invocation)
|
||||
230: 221(ptr) AccessChain 35(data) 67 212
|
||||
231: 28(i64vec4) Load 230
|
||||
232:229(i64vec3) VectorShuffle 231 231 0 1 2
|
||||
233: 42(bool) GroupNonUniformAllEqual 44 232
|
||||
234: 31(int) Select 233 54 41
|
||||
235: 38(ptr) AccessChain 35(data) 228 37
|
||||
Store 235 234
|
||||
236: 6(int) Load 8(invocation)
|
||||
237: 221(ptr) AccessChain 35(data) 76 212
|
||||
238: 28(i64vec4) Load 237
|
||||
239: 42(bool) GroupNonUniformAllEqual 44 238
|
||||
240: 31(int) Select 239 54 41
|
||||
241: 38(ptr) AccessChain 35(data) 236 37
|
||||
Store 241 240
|
||||
242: 6(int) Load 8(invocation)
|
||||
245: 244(ptr) AccessChain 35(data) 41 243 49
|
||||
246:29(float16_t) Load 245
|
||||
247: 42(bool) GroupNonUniformAllEqual 44 246
|
||||
248: 31(int) Select 247 54 41
|
||||
249: 38(ptr) AccessChain 35(data) 242 37
|
||||
Store 249 248
|
||||
250: 6(int) Load 8(invocation)
|
||||
253: 252(ptr) AccessChain 35(data) 54 243
|
||||
254: 30(f16vec4) Load 253
|
||||
255:251(f16vec2) VectorShuffle 254 254 0 1
|
||||
256: 42(bool) GroupNonUniformAllEqual 44 255
|
||||
257: 31(int) Select 256 54 41
|
||||
258: 38(ptr) AccessChain 35(data) 250 37
|
||||
Store 258 257
|
||||
259: 6(int) Load 8(invocation)
|
||||
261: 252(ptr) AccessChain 35(data) 67 243
|
||||
262: 30(f16vec4) Load 261
|
||||
263:260(f16vec3) VectorShuffle 262 262 0 1 2
|
||||
264: 42(bool) GroupNonUniformAllEqual 44 263
|
||||
265: 31(int) Select 264 54 41
|
||||
266: 38(ptr) AccessChain 35(data) 259 37
|
||||
Store 266 265
|
||||
267: 6(int) Load 8(invocation)
|
||||
268: 252(ptr) AccessChain 35(data) 76 243
|
||||
269: 30(f16vec4) Load 268
|
||||
270: 42(bool) GroupNonUniformAllEqual 44 269
|
||||
271: 31(int) Select 270 54 41
|
||||
272: 38(ptr) AccessChain 35(data) 267 37
|
||||
Store 272 271
|
||||
Branch 179
|
||||
179: Label
|
||||
Branch 47
|
||||
47: Label
|
||||
Return
|
||||
FunctionEnd
|
33
Test/baseResults/spv.subgroupExtendedTypesVoteNeg.comp.out
Normal file
33
Test/baseResults/spv.subgroupExtendedTypesVoteNeg.comp.out
Normal file
@ -0,0 +1,33 @@
|
||||
spv.subgroupExtendedTypesVoteNeg.comp
|
||||
ERROR: 0:29: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:30: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:31: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:32: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:34: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:35: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:36: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:37: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
|
||||
ERROR: 0:39: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:40: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:41: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:42: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:44: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:45: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:46: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:47: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
|
||||
ERROR: 0:51: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:52: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:53: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:54: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:56: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:57: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:58: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:59: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
|
||||
ERROR: 0:61: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:62: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:63: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 0:64: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
|
||||
ERROR: 28 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
715
Test/spv.subgroupExtendedTypesArithmetic.comp
Normal file
715
Test/spv.subgroupExtendedTypesArithmetic.comp
Normal file
@ -0,0 +1,715 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_arithmetic: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupAdd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupAdd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupAdd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupAdd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupMul(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupMul(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupMul(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupMul(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupMin(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupMin(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupMin(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupMin(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupMax(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupMax(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupMax(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupMax(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupAnd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupAnd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupAnd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupAnd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupOr(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupOr(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupOr(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupOr(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupXor(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupXor(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupXor(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupXor(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveAdd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveAdd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveAdd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveAdd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveMul(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveMul(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveMul(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveMul(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveMin(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveMin(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveMin(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveMin(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveMax(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveMax(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveMax(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveMax(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveAnd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveAnd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveAnd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveAnd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveOr(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveOr(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveOr(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveOr(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveXor(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveXor(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveXor(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveXor(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveAdd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveAdd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveAdd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveAdd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveMul(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveMul(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveMul(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveMul(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveMin(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveMin(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveMin(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveMin(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveMax(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveMax(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveMax(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveMax(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveAnd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveAnd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveAnd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveAnd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveOr(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveOr(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveOr(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveOr(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveXor(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveXor(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveXor(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveXor(data[3].i8);
|
||||
|
||||
data[invocation].u8.x = subgroupAdd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupAdd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupAdd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupAdd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupMul(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupMul(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupMul(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupMul(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupMin(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupMin(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupMin(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupMin(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupMax(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupMax(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupMax(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupMax(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupAnd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupAnd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupAnd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupAnd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupOr(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupOr(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupOr(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupOr(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupXor(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupXor(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupXor(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupXor(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveAdd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveAdd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveAdd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveAdd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveMul(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveMul(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveMul(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveMul(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveMin(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveMin(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveMin(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveMin(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveMax(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveMax(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveMax(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveMax(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveAnd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveAnd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveAnd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveAnd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveOr(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveOr(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveOr(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveOr(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveXor(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveXor(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveXor(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveXor(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveAdd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveAdd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveAdd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveAdd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveMul(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveMul(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveMul(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveMul(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveMin(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveMin(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveMin(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveMin(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveMax(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveMax(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveMax(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveMax(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveAnd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveAnd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveAnd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveAnd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveOr(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveOr(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveOr(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveOr(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveXor(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveXor(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveXor(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveXor(data[3].u8);
|
||||
|
||||
data[invocation].i16.x = subgroupAdd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupAdd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupAdd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupAdd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupMul(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupMul(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupMul(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupMul(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupMin(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupMin(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupMin(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupMin(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupMax(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupMax(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupMax(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupMax(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupAnd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupAnd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupAnd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupAnd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupOr(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupOr(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupOr(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupOr(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupXor(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupXor(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupXor(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupXor(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveAdd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveAdd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveAdd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveAdd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveMul(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveMul(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveMul(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveMul(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveMin(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveMin(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveMin(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveMin(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveMax(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveMax(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveMax(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveMax(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveAnd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveAnd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveAnd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveAnd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveOr(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveOr(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveOr(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveOr(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveXor(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveXor(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveXor(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveXor(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveAdd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveAdd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveAdd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveAdd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveMul(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveMul(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveMul(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveMul(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveMin(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveMin(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveMin(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveMin(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveMax(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveMax(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveMax(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveMax(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveAnd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveAnd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveAnd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveAnd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveOr(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveOr(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveOr(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveOr(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveXor(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveXor(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveXor(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveXor(data[3].i16);
|
||||
|
||||
data[invocation].u16.x = subgroupAdd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupAdd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupAdd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupAdd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupMul(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupMul(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupMul(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupMul(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupMin(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupMin(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupMin(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupMin(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupMax(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupMax(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupMax(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupMax(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupAnd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupAnd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupAnd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupAnd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupOr(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupOr(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupOr(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupOr(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupXor(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupXor(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupXor(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupXor(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveAdd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveAdd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveAdd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveAdd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveMul(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveMul(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveMul(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveMul(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveMin(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveMin(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveMin(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveMin(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveMax(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveMax(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveMax(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveMax(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveAnd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveAnd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveAnd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveAnd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveOr(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveOr(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveOr(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveOr(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveXor(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveXor(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveXor(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveXor(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveAdd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveAdd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveAdd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveAdd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveMul(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveMul(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveMul(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveMul(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveMin(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveMin(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveMin(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveMin(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveMax(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveMax(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveMax(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveMax(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveAnd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveAnd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveAnd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveAnd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveOr(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveOr(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveOr(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveOr(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveXor(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveXor(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveXor(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveXor(data[3].u16);
|
||||
|
||||
data[invocation].i64.x = subgroupAdd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupAdd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupAdd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupAdd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupMul(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupMul(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupMul(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupMul(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupMin(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupMin(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupMin(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupMin(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupMax(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupMax(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupMax(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupMax(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupAnd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupAnd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupAnd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupAnd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupOr(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupOr(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupOr(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupOr(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupXor(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupXor(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupXor(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupXor(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveAdd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveAdd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveAdd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveAdd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveMul(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveMul(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveMul(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveMul(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveMin(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveMin(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveMin(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveMin(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveMax(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveMax(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveMax(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveMax(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveAnd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveAnd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveAnd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveAnd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveOr(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveOr(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveOr(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveOr(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveXor(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveXor(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveXor(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveXor(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveAdd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveAdd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveAdd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveAdd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveMul(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveMul(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveMul(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveMul(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveMin(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveMin(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveMin(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveMin(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveMax(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveMax(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveMax(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveMax(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveAnd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveAnd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveAnd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveAnd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveOr(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveOr(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveOr(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveOr(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveXor(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveXor(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveXor(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveXor(data[3].i64);
|
||||
|
||||
data[invocation].u64.x = subgroupAdd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupAdd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupAdd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupAdd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupMul(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupMul(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupMul(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupMul(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupMin(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupMin(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupMin(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupMin(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupMax(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupMax(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupMax(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupMax(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupAnd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupAnd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupAnd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupAnd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupOr(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupOr(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupOr(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupOr(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupXor(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupXor(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupXor(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupXor(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveAdd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveAdd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveAdd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveAdd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveMul(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveMul(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveMul(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveMul(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveMin(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveMin(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveMin(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveMin(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveMax(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveMax(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveMax(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveMax(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveAnd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveAnd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveAnd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveAnd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveOr(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveOr(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveOr(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveOr(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveXor(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveXor(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveXor(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveXor(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveAdd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveAdd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveAdd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveAdd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveMul(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveMul(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveMul(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveMul(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveMin(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveMin(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveMin(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveMin(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveMax(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveMax(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveMax(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveMax(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveAnd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveAnd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveAnd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveAnd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveOr(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveOr(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveOr(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveOr(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveXor(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveXor(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveXor(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveXor(data[3].u64);
|
||||
|
||||
data[invocation].f16.x = subgroupAdd(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupAdd(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupAdd(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupAdd(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupMul(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupMul(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupMul(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupMul(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupMin(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupMin(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupMin(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupMin(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupMax(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupMax(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupMax(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupMax(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveAdd(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveAdd(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveAdd(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveAdd(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveMul(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveMul(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveMul(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveMul(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveMin(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveMin(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveMin(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveMin(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveMax(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveMax(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveMax(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveMax(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveAdd(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveAdd(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveAdd(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveAdd(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveMul(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveMul(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveMul(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveMul(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveMin(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveMin(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveMin(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveMin(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveMax(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveMax(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveMax(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveMax(data[3].f16);
|
||||
}
|
715
Test/spv.subgroupExtendedTypesArithmeticNeg.comp
Normal file
715
Test/spv.subgroupExtendedTypesArithmeticNeg.comp
Normal file
@ -0,0 +1,715 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_arithmetic: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupAdd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupAdd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupAdd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupAdd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupMul(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupMul(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupMul(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupMul(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupMin(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupMin(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupMin(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupMin(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupMax(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupMax(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupMax(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupMax(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupAnd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupAnd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupAnd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupAnd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupOr(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupOr(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupOr(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupOr(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupXor(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupXor(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupXor(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupXor(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveAdd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveAdd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveAdd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveAdd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveMul(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveMul(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveMul(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveMul(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveMin(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveMin(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveMin(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveMin(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveMax(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveMax(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveMax(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveMax(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveAnd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveAnd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveAnd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveAnd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveOr(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveOr(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveOr(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveOr(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupInclusiveXor(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupInclusiveXor(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupInclusiveXor(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupInclusiveXor(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveAdd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveAdd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveAdd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveAdd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveMul(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveMul(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveMul(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveMul(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveMin(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveMin(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveMin(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveMin(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveMax(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveMax(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveMax(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveMax(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveAnd(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveAnd(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveAnd(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveAnd(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveOr(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveOr(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveOr(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveOr(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupExclusiveXor(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupExclusiveXor(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupExclusiveXor(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupExclusiveXor(data[3].i8);
|
||||
|
||||
data[invocation].u8.x = subgroupAdd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupAdd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupAdd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupAdd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupMul(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupMul(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupMul(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupMul(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupMin(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupMin(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupMin(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupMin(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupMax(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupMax(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupMax(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupMax(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupAnd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupAnd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupAnd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupAnd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupOr(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupOr(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupOr(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupOr(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupXor(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupXor(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupXor(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupXor(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveAdd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveAdd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveAdd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveAdd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveMul(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveMul(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveMul(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveMul(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveMin(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveMin(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveMin(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveMin(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveMax(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveMax(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveMax(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveMax(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveAnd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveAnd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveAnd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveAnd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveOr(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveOr(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveOr(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveOr(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupInclusiveXor(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupInclusiveXor(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupInclusiveXor(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupInclusiveXor(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveAdd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveAdd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveAdd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveAdd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveMul(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveMul(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveMul(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveMul(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveMin(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveMin(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveMin(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveMin(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveMax(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveMax(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveMax(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveMax(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveAnd(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveAnd(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveAnd(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveAnd(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveOr(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveOr(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveOr(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveOr(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupExclusiveXor(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupExclusiveXor(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupExclusiveXor(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupExclusiveXor(data[3].u8);
|
||||
|
||||
data[invocation].i16.x = subgroupAdd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupAdd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupAdd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupAdd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupMul(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupMul(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupMul(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupMul(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupMin(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupMin(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupMin(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupMin(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupMax(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupMax(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupMax(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupMax(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupAnd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupAnd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupAnd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupAnd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupOr(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupOr(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupOr(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupOr(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupXor(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupXor(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupXor(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupXor(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveAdd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveAdd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveAdd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveAdd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveMul(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveMul(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveMul(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveMul(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveMin(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveMin(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveMin(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveMin(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveMax(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveMax(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveMax(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveMax(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveAnd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveAnd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveAnd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveAnd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveOr(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveOr(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveOr(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveOr(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupInclusiveXor(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupInclusiveXor(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupInclusiveXor(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupInclusiveXor(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveAdd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveAdd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveAdd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveAdd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveMul(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveMul(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveMul(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveMul(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveMin(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveMin(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveMin(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveMin(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveMax(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveMax(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveMax(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveMax(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveAnd(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveAnd(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveAnd(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveAnd(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveOr(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveOr(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveOr(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveOr(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupExclusiveXor(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupExclusiveXor(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupExclusiveXor(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupExclusiveXor(data[3].i16);
|
||||
|
||||
data[invocation].u16.x = subgroupAdd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupAdd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupAdd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupAdd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupMul(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupMul(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupMul(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupMul(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupMin(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupMin(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupMin(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupMin(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupMax(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupMax(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupMax(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupMax(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupAnd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupAnd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupAnd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupAnd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupOr(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupOr(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupOr(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupOr(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupXor(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupXor(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupXor(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupXor(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveAdd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveAdd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveAdd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveAdd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveMul(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveMul(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveMul(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveMul(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveMin(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveMin(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveMin(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveMin(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveMax(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveMax(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveMax(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveMax(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveAnd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveAnd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveAnd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveAnd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveOr(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveOr(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveOr(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveOr(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupInclusiveXor(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupInclusiveXor(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupInclusiveXor(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupInclusiveXor(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveAdd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveAdd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveAdd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveAdd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveMul(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveMul(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveMul(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveMul(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveMin(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveMin(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveMin(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveMin(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveMax(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveMax(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveMax(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveMax(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveAnd(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveAnd(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveAnd(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveAnd(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveOr(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveOr(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveOr(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveOr(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupExclusiveXor(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupExclusiveXor(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupExclusiveXor(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupExclusiveXor(data[3].u16);
|
||||
|
||||
data[invocation].i64.x = subgroupAdd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupAdd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupAdd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupAdd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupMul(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupMul(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupMul(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupMul(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupMin(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupMin(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupMin(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupMin(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupMax(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupMax(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupMax(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupMax(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupAnd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupAnd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupAnd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupAnd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupOr(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupOr(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupOr(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupOr(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupXor(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupXor(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupXor(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupXor(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveAdd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveAdd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveAdd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveAdd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveMul(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveMul(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveMul(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveMul(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveMin(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveMin(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveMin(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveMin(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveMax(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveMax(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveMax(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveMax(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveAnd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveAnd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveAnd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveAnd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveOr(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveOr(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveOr(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveOr(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupInclusiveXor(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupInclusiveXor(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupInclusiveXor(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupInclusiveXor(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveAdd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveAdd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveAdd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveAdd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveMul(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveMul(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveMul(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveMul(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveMin(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveMin(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveMin(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveMin(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveMax(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveMax(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveMax(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveMax(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveAnd(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveAnd(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveAnd(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveAnd(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveOr(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveOr(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveOr(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveOr(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupExclusiveXor(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupExclusiveXor(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupExclusiveXor(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupExclusiveXor(data[3].i64);
|
||||
|
||||
data[invocation].u64.x = subgroupAdd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupAdd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupAdd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupAdd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupMul(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupMul(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupMul(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupMul(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupMin(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupMin(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupMin(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupMin(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupMax(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupMax(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupMax(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupMax(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupAnd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupAnd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupAnd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupAnd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupOr(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupOr(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupOr(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupOr(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupXor(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupXor(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupXor(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupXor(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveAdd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveAdd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveAdd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveAdd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveMul(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveMul(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveMul(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveMul(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveMin(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveMin(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveMin(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveMin(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveMax(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveMax(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveMax(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveMax(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveAnd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveAnd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveAnd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveAnd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveOr(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveOr(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveOr(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveOr(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupInclusiveXor(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupInclusiveXor(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupInclusiveXor(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupInclusiveXor(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveAdd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveAdd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveAdd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveAdd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveMul(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveMul(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveMul(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveMul(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveMin(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveMin(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveMin(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveMin(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveMax(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveMax(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveMax(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveMax(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveAnd(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveAnd(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveAnd(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveAnd(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveOr(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveOr(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveOr(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveOr(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupExclusiveXor(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupExclusiveXor(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupExclusiveXor(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupExclusiveXor(data[3].u64);
|
||||
|
||||
data[invocation].f16.x = subgroupAdd(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupAdd(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupAdd(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupAdd(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupMul(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupMul(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupMul(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupMul(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupMin(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupMin(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupMin(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupMin(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupMax(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupMax(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupMax(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupMax(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveAdd(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveAdd(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveAdd(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveAdd(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveMul(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveMul(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveMul(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveMul(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveMin(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveMin(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveMin(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveMin(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupInclusiveMax(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupInclusiveMax(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupInclusiveMax(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupInclusiveMax(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveAdd(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveAdd(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveAdd(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveAdd(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveMul(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveMul(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveMul(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveMul(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveMin(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveMin(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveMin(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveMin(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupExclusiveMax(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupExclusiveMax(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupExclusiveMax(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupExclusiveMax(data[3].f16);
|
||||
}
|
88
Test/spv.subgroupExtendedTypesBallot.comp
Normal file
88
Test/spv.subgroupExtendedTypesBallot.comp
Normal file
@ -0,0 +1,88 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_ballot: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupBroadcast(data[0].i8.x, 3);
|
||||
data[invocation].i8.xy = subgroupBroadcast(data[1].i8.xy, 3);
|
||||
data[invocation].i8.xyz = subgroupBroadcast(data[2].i8.xyz, 3);
|
||||
data[invocation].i8 = subgroupBroadcast(data[3].i8, 3);
|
||||
data[invocation].i8.x = subgroupBroadcastFirst(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupBroadcastFirst(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupBroadcastFirst(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupBroadcastFirst(data[3].i8);
|
||||
|
||||
data[invocation].u8.x = subgroupBroadcast(data[0].u8.x, 3);
|
||||
data[invocation].u8.xy = subgroupBroadcast(data[1].u8.xy, 3);
|
||||
data[invocation].u8.xyz = subgroupBroadcast(data[2].u8.xyz, 3);
|
||||
data[invocation].u8 = subgroupBroadcast(data[3].u8, 3);
|
||||
data[invocation].u8.x = subgroupBroadcastFirst(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupBroadcastFirst(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupBroadcastFirst(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupBroadcastFirst(data[3].u8);
|
||||
|
||||
data[invocation].i16.x = subgroupBroadcast(data[0].i16.x, 3);
|
||||
data[invocation].i16.xy = subgroupBroadcast(data[1].i16.xy, 3);
|
||||
data[invocation].i16.xyz = subgroupBroadcast(data[2].i16.xyz, 3);
|
||||
data[invocation].i16 = subgroupBroadcast(data[3].i16, 3);
|
||||
data[invocation].i16.x = subgroupBroadcastFirst(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupBroadcastFirst(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupBroadcastFirst(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupBroadcastFirst(data[3].i16);
|
||||
|
||||
data[invocation].u16.x = subgroupBroadcast(data[0].u16.x, 3);
|
||||
data[invocation].u16.xy = subgroupBroadcast(data[1].u16.xy, 3);
|
||||
data[invocation].u16.xyz = subgroupBroadcast(data[2].u16.xyz, 3);
|
||||
data[invocation].u16 = subgroupBroadcast(data[3].u16, 3);
|
||||
data[invocation].u16.x = subgroupBroadcastFirst(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupBroadcastFirst(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupBroadcastFirst(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupBroadcastFirst(data[3].u16);
|
||||
|
||||
data[invocation].i64.x = subgroupBroadcast(data[0].i64.x, 3);
|
||||
data[invocation].i64.xy = subgroupBroadcast(data[1].i64.xy, 3);
|
||||
data[invocation].i64.xyz = subgroupBroadcast(data[2].i64.xyz, 3);
|
||||
data[invocation].i64 = subgroupBroadcast(data[3].i64, 3);
|
||||
data[invocation].i64.x = subgroupBroadcastFirst(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupBroadcastFirst(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupBroadcastFirst(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupBroadcastFirst(data[3].i64);
|
||||
|
||||
data[invocation].u64.x = subgroupBroadcast(data[0].u64.x, 3);
|
||||
data[invocation].u64.xy = subgroupBroadcast(data[1].u64.xy, 3);
|
||||
data[invocation].u64.xyz = subgroupBroadcast(data[2].u64.xyz, 3);
|
||||
data[invocation].u64 = subgroupBroadcast(data[3].u64, 3);
|
||||
data[invocation].u64.x = subgroupBroadcastFirst(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupBroadcastFirst(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupBroadcastFirst(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupBroadcastFirst(data[3].u64);
|
||||
|
||||
data[invocation].f16.x = subgroupBroadcast(data[0].f16.x, 3);
|
||||
data[invocation].f16.xy = subgroupBroadcast(data[1].f16.xy, 3);
|
||||
data[invocation].f16.xyz = subgroupBroadcast(data[2].f16.xyz, 3);
|
||||
data[invocation].f16 = subgroupBroadcast(data[3].f16, 3);
|
||||
data[invocation].f16.x = subgroupBroadcastFirst(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupBroadcastFirst(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupBroadcastFirst(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupBroadcastFirst(data[3].f16);
|
||||
}
|
88
Test/spv.subgroupExtendedTypesBallotNeg.comp
Normal file
88
Test/spv.subgroupExtendedTypesBallotNeg.comp
Normal file
@ -0,0 +1,88 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_ballot: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupBroadcast(data[0].i8.x, 3);
|
||||
data[invocation].i8.xy = subgroupBroadcast(data[1].i8.xy, 3);
|
||||
data[invocation].i8.xyz = subgroupBroadcast(data[2].i8.xyz, 3);
|
||||
data[invocation].i8 = subgroupBroadcast(data[3].i8, 3);
|
||||
data[invocation].i8.x = subgroupBroadcastFirst(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupBroadcastFirst(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupBroadcastFirst(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupBroadcastFirst(data[3].i8);
|
||||
|
||||
data[invocation].u8.x = subgroupBroadcast(data[0].u8.x, 3);
|
||||
data[invocation].u8.xy = subgroupBroadcast(data[1].u8.xy, 3);
|
||||
data[invocation].u8.xyz = subgroupBroadcast(data[2].u8.xyz, 3);
|
||||
data[invocation].u8 = subgroupBroadcast(data[3].u8, 3);
|
||||
data[invocation].u8.x = subgroupBroadcastFirst(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupBroadcastFirst(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupBroadcastFirst(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupBroadcastFirst(data[3].u8);
|
||||
|
||||
data[invocation].i16.x = subgroupBroadcast(data[0].i16.x, 3);
|
||||
data[invocation].i16.xy = subgroupBroadcast(data[1].i16.xy, 3);
|
||||
data[invocation].i16.xyz = subgroupBroadcast(data[2].i16.xyz, 3);
|
||||
data[invocation].i16 = subgroupBroadcast(data[3].i16, 3);
|
||||
data[invocation].i16.x = subgroupBroadcastFirst(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupBroadcastFirst(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupBroadcastFirst(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupBroadcastFirst(data[3].i16);
|
||||
|
||||
data[invocation].u16.x = subgroupBroadcast(data[0].u16.x, 3);
|
||||
data[invocation].u16.xy = subgroupBroadcast(data[1].u16.xy, 3);
|
||||
data[invocation].u16.xyz = subgroupBroadcast(data[2].u16.xyz, 3);
|
||||
data[invocation].u16 = subgroupBroadcast(data[3].u16, 3);
|
||||
data[invocation].u16.x = subgroupBroadcastFirst(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupBroadcastFirst(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupBroadcastFirst(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupBroadcastFirst(data[3].u16);
|
||||
|
||||
data[invocation].i64.x = subgroupBroadcast(data[0].i64.x, 3);
|
||||
data[invocation].i64.xy = subgroupBroadcast(data[1].i64.xy, 3);
|
||||
data[invocation].i64.xyz = subgroupBroadcast(data[2].i64.xyz, 3);
|
||||
data[invocation].i64 = subgroupBroadcast(data[3].i64, 3);
|
||||
data[invocation].i64.x = subgroupBroadcastFirst(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupBroadcastFirst(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupBroadcastFirst(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupBroadcastFirst(data[3].i64);
|
||||
|
||||
data[invocation].u64.x = subgroupBroadcast(data[0].u64.x, 3);
|
||||
data[invocation].u64.xy = subgroupBroadcast(data[1].u64.xy, 3);
|
||||
data[invocation].u64.xyz = subgroupBroadcast(data[2].u64.xyz, 3);
|
||||
data[invocation].u64 = subgroupBroadcast(data[3].u64, 3);
|
||||
data[invocation].u64.x = subgroupBroadcastFirst(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupBroadcastFirst(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupBroadcastFirst(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupBroadcastFirst(data[3].u64);
|
||||
|
||||
data[invocation].f16.x = subgroupBroadcast(data[0].f16.x, 3);
|
||||
data[invocation].f16.xy = subgroupBroadcast(data[1].f16.xy, 3);
|
||||
data[invocation].f16.xyz = subgroupBroadcast(data[2].f16.xyz, 3);
|
||||
data[invocation].f16 = subgroupBroadcast(data[3].f16, 3);
|
||||
data[invocation].f16.x = subgroupBroadcastFirst(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupBroadcastFirst(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupBroadcastFirst(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupBroadcastFirst(data[3].f16);
|
||||
}
|
255
Test/spv.subgroupExtendedTypesClustered.comp
Normal file
255
Test/spv.subgroupExtendedTypesClustered.comp
Normal file
@ -0,0 +1,255 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_clustered: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredAdd(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredAdd(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredAdd(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredAdd(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredMul(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredMul(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredMul(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredMul(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredMin(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredMin(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredMin(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredMin(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredMax(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredMax(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredMax(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredMax(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredAnd(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredAnd(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredAnd(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredAnd(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredOr(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredOr(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredOr(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredOr(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredXor(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredXor(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredXor(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredXor(data[3].i8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredAdd(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredAdd(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredAdd(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredAdd(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredMul(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredMul(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredMul(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredMul(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredMin(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredMin(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredMin(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredMin(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredMax(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredMax(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredMax(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredMax(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredAnd(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredAnd(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredAnd(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredAnd(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredOr(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredOr(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredOr(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredOr(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredXor(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredXor(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredXor(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredXor(data[3].u8, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredAdd(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredAdd(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredAdd(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredAdd(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredMul(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredMul(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredMul(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredMul(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredMin(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredMin(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredMin(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredMin(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredMax(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredMax(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredMax(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredMax(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredAnd(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredAnd(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredAnd(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredAnd(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredOr(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredOr(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredOr(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredOr(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredXor(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredXor(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredXor(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredXor(data[3].i16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredAdd(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredAdd(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredAdd(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredAdd(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredMul(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredMul(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredMul(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredMul(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredMin(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredMin(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredMin(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredMin(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredMax(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredMax(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredMax(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredMax(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredAnd(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredAnd(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredAnd(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredAnd(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredOr(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredOr(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredOr(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredOr(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredXor(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredXor(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredXor(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredXor(data[3].u16, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredAdd(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredAdd(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredAdd(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredAdd(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredMul(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredMul(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredMul(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredMul(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredMin(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredMin(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredMin(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredMin(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredMax(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredMax(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredMax(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredMax(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredAnd(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredAnd(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredAnd(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredAnd(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredOr(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredOr(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredOr(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredOr(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredXor(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredXor(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredXor(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredXor(data[3].i64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredAdd(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredAdd(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredAdd(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredAdd(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredMul(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredMul(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredMul(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredMul(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredMin(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredMin(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredMin(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredMin(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredMax(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredMax(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredMax(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredMax(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredAnd(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredAnd(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredAnd(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredAnd(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredOr(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredOr(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredOr(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredOr(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredXor(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredXor(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredXor(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredXor(data[3].u64, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredAdd(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredAdd(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredAdd(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredAdd(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredMul(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredMul(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredMul(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredMul(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredMin(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredMin(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredMin(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredMin(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredMax(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredMax(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredMax(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredMax(data[3].f16, 1);
|
||||
}
|
255
Test/spv.subgroupExtendedTypesClusteredNeg.comp
Normal file
255
Test/spv.subgroupExtendedTypesClusteredNeg.comp
Normal file
@ -0,0 +1,255 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_clustered: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredAdd(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredAdd(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredAdd(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredAdd(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredMul(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredMul(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredMul(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredMul(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredMin(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredMin(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredMin(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredMin(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredMax(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredMax(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredMax(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredMax(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredAnd(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredAnd(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredAnd(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredAnd(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredOr(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredOr(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredOr(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredOr(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupClusteredXor(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupClusteredXor(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupClusteredXor(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupClusteredXor(data[3].i8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredAdd(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredAdd(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredAdd(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredAdd(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredMul(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredMul(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredMul(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredMul(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredMin(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredMin(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredMin(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredMin(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredMax(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredMax(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredMax(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredMax(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredAnd(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredAnd(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredAnd(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredAnd(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredOr(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredOr(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredOr(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredOr(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupClusteredXor(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupClusteredXor(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupClusteredXor(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupClusteredXor(data[3].u8, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredAdd(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredAdd(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredAdd(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredAdd(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredMul(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredMul(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredMul(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredMul(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredMin(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredMin(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredMin(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredMin(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredMax(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredMax(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredMax(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredMax(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredAnd(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredAnd(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredAnd(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredAnd(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredOr(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredOr(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredOr(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredOr(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupClusteredXor(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupClusteredXor(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupClusteredXor(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupClusteredXor(data[3].i16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredAdd(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredAdd(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredAdd(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredAdd(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredMul(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredMul(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredMul(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredMul(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredMin(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredMin(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredMin(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredMin(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredMax(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredMax(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredMax(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredMax(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredAnd(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredAnd(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredAnd(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredAnd(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredOr(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredOr(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredOr(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredOr(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupClusteredXor(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupClusteredXor(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupClusteredXor(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupClusteredXor(data[3].u16, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredAdd(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredAdd(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredAdd(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredAdd(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredMul(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredMul(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredMul(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredMul(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredMin(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredMin(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredMin(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredMin(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredMax(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredMax(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredMax(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredMax(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredAnd(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredAnd(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredAnd(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredAnd(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredOr(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredOr(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredOr(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredOr(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupClusteredXor(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupClusteredXor(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupClusteredXor(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupClusteredXor(data[3].i64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredAdd(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredAdd(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredAdd(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredAdd(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredMul(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredMul(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredMul(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredMul(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredMin(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredMin(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredMin(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredMin(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredMax(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredMax(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredMax(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredMax(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredAnd(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredAnd(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredAnd(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredAnd(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredOr(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredOr(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredOr(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredOr(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupClusteredXor(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupClusteredXor(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupClusteredXor(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupClusteredXor(data[3].u64, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredAdd(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredAdd(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredAdd(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredAdd(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredMul(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredMul(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredMul(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredMul(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredMin(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredMin(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredMin(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredMin(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupClusteredMax(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupClusteredMax(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupClusteredMax(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupClusteredMax(data[3].f16, 1);
|
||||
}
|
291
Test/spv.subgroupExtendedTypesPartitioned.comp
Normal file
291
Test/spv.subgroupExtendedTypesPartitioned.comp
Normal file
@ -0,0 +1,291 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_NV_shader_subgroup_partitioned: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
uvec4 ballot;
|
||||
ballot = subgroupPartitionNV(data[0].i8.x);
|
||||
ballot = subgroupPartitionNV(data[1].i8.xy);
|
||||
ballot = subgroupPartitionNV(data[2].i8.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].i8);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].u8.x);
|
||||
ballot = subgroupPartitionNV(data[1].u8.xy);
|
||||
ballot = subgroupPartitionNV(data[2].u8.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].u8);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].i16.x);
|
||||
ballot = subgroupPartitionNV(data[1].i16.xy);
|
||||
ballot = subgroupPartitionNV(data[2].i16.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].i16);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].u16.x);
|
||||
ballot = subgroupPartitionNV(data[1].u16.xy);
|
||||
ballot = subgroupPartitionNV(data[2].u16.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].u16);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].i64.x);
|
||||
ballot = subgroupPartitionNV(data[1].i64.xy);
|
||||
ballot = subgroupPartitionNV(data[2].i64.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].i64);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].u64.x);
|
||||
ballot = subgroupPartitionNV(data[1].u64.xy);
|
||||
ballot = subgroupPartitionNV(data[2].u64.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].u64);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].f16.x);
|
||||
ballot = subgroupPartitionNV(data[1].f16.xy);
|
||||
ballot = subgroupPartitionNV(data[2].f16.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].f16);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedAddNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedAddNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedAddNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedAddNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedMulNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedMulNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedMulNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedMulNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedMinNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedMinNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedMinNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedMinNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedMaxNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedMaxNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedMaxNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedMaxNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedAndNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedAndNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedAndNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedAndNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedOrNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedOrNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedOrNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedOrNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedXorNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedXorNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedXorNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedXorNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedAddNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedAddNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedAddNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedAddNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedMulNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedMulNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedMulNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedMulNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedMinNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedMinNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedMinNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedMinNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedMaxNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedMaxNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedMaxNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedMaxNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedAndNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedAndNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedAndNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedAndNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedOrNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedOrNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedOrNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedOrNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedXorNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedXorNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedXorNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedXorNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedAddNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedAddNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedAddNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedAddNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedMulNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedMulNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedMulNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedMulNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedMinNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedMinNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedMinNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedMinNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedMaxNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedMaxNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedMaxNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedMaxNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedAndNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedAndNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedAndNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedAndNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedOrNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedOrNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedOrNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedOrNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedXorNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedXorNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedXorNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedXorNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedAddNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedAddNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedAddNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedAddNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedMulNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedMulNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedMulNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedMulNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedMinNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedMinNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedMinNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedMinNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedMaxNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedMaxNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedMaxNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedMaxNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedAndNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedAndNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedAndNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedAndNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedOrNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedOrNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedOrNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedOrNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedXorNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedXorNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedXorNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedXorNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedAddNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedAddNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedAddNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedAddNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedMulNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedMulNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedMulNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedMulNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedMinNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedMinNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedMinNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedMinNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedMaxNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedMaxNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedMaxNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedMaxNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedAndNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedAndNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedAndNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedAndNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedOrNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedOrNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedOrNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedOrNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedXorNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedXorNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedXorNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedXorNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedAddNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedAddNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedAddNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedAddNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedMulNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedMulNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedMulNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedMulNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedMinNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedMinNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedMinNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedMinNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedMaxNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedMaxNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedMaxNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedMaxNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedAndNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedAndNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedAndNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedAndNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedOrNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedOrNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedOrNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedOrNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedXorNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedXorNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedXorNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedXorNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedAddNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedAddNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedAddNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedAddNV(data[3].f16, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedMulNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedMulNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedMulNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedMulNV(data[3].f16, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedMinNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedMinNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedMinNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedMinNV(data[3].f16, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedMaxNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedMaxNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedMaxNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedMaxNV(data[3].f16, ballot);
|
||||
}
|
291
Test/spv.subgroupExtendedTypesPartitionedNeg.comp
Normal file
291
Test/spv.subgroupExtendedTypesPartitionedNeg.comp
Normal file
@ -0,0 +1,291 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_NV_shader_subgroup_partitioned: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
uvec4 ballot;
|
||||
ballot = subgroupPartitionNV(data[0].i8.x);
|
||||
ballot = subgroupPartitionNV(data[1].i8.xy);
|
||||
ballot = subgroupPartitionNV(data[2].i8.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].i8);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].u8.x);
|
||||
ballot = subgroupPartitionNV(data[1].u8.xy);
|
||||
ballot = subgroupPartitionNV(data[2].u8.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].u8);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].i16.x);
|
||||
ballot = subgroupPartitionNV(data[1].i16.xy);
|
||||
ballot = subgroupPartitionNV(data[2].i16.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].i16);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].u16.x);
|
||||
ballot = subgroupPartitionNV(data[1].u16.xy);
|
||||
ballot = subgroupPartitionNV(data[2].u16.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].u16);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].i64.x);
|
||||
ballot = subgroupPartitionNV(data[1].i64.xy);
|
||||
ballot = subgroupPartitionNV(data[2].i64.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].i64);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].u64.x);
|
||||
ballot = subgroupPartitionNV(data[1].u64.xy);
|
||||
ballot = subgroupPartitionNV(data[2].u64.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].u64);
|
||||
|
||||
ballot = subgroupPartitionNV(data[0].f16.x);
|
||||
ballot = subgroupPartitionNV(data[1].f16.xy);
|
||||
ballot = subgroupPartitionNV(data[2].f16.xyz);
|
||||
ballot = subgroupPartitionNV(data[3].f16);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedAddNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedAddNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedAddNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedAddNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedMulNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedMulNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedMulNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedMulNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedMinNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedMinNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedMinNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedMinNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedMaxNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedMaxNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedMaxNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedMaxNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedAndNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedAndNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedAndNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedAndNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedOrNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedOrNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedOrNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedOrNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].i8.x = subgroupPartitionedXorNV(data[0].i8.x, ballot);
|
||||
data[invocation].i8.xy = subgroupPartitionedXorNV(data[1].i8.xy, ballot);
|
||||
data[invocation].i8.xyz = subgroupPartitionedXorNV(data[2].i8.xyz, ballot);
|
||||
data[invocation].i8 = subgroupPartitionedXorNV(data[3].i8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedAddNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedAddNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedAddNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedAddNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedMulNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedMulNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedMulNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedMulNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedMinNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedMinNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedMinNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedMinNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedMaxNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedMaxNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedMaxNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedMaxNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedAndNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedAndNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedAndNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedAndNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedOrNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedOrNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedOrNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedOrNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].u8.x = subgroupPartitionedXorNV(data[0].u8.x, ballot);
|
||||
data[invocation].u8.xy = subgroupPartitionedXorNV(data[1].u8.xy, ballot);
|
||||
data[invocation].u8.xyz = subgroupPartitionedXorNV(data[2].u8.xyz, ballot);
|
||||
data[invocation].u8 = subgroupPartitionedXorNV(data[3].u8, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedAddNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedAddNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedAddNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedAddNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedMulNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedMulNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedMulNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedMulNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedMinNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedMinNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedMinNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedMinNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedMaxNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedMaxNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedMaxNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedMaxNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedAndNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedAndNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedAndNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedAndNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedOrNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedOrNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedOrNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedOrNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].i16.x = subgroupPartitionedXorNV(data[0].i16.x, ballot);
|
||||
data[invocation].i16.xy = subgroupPartitionedXorNV(data[1].i16.xy, ballot);
|
||||
data[invocation].i16.xyz = subgroupPartitionedXorNV(data[2].i16.xyz, ballot);
|
||||
data[invocation].i16 = subgroupPartitionedXorNV(data[3].i16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedAddNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedAddNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedAddNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedAddNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedMulNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedMulNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedMulNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedMulNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedMinNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedMinNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedMinNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedMinNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedMaxNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedMaxNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedMaxNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedMaxNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedAndNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedAndNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedAndNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedAndNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedOrNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedOrNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedOrNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedOrNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].u16.x = subgroupPartitionedXorNV(data[0].u16.x, ballot);
|
||||
data[invocation].u16.xy = subgroupPartitionedXorNV(data[1].u16.xy, ballot);
|
||||
data[invocation].u16.xyz = subgroupPartitionedXorNV(data[2].u16.xyz, ballot);
|
||||
data[invocation].u16 = subgroupPartitionedXorNV(data[3].u16, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedAddNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedAddNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedAddNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedAddNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedMulNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedMulNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedMulNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedMulNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedMinNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedMinNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedMinNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedMinNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedMaxNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedMaxNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedMaxNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedMaxNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedAndNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedAndNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedAndNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedAndNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedOrNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedOrNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedOrNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedOrNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].i64.x = subgroupPartitionedXorNV(data[0].i64.x, ballot);
|
||||
data[invocation].i64.xy = subgroupPartitionedXorNV(data[1].i64.xy, ballot);
|
||||
data[invocation].i64.xyz = subgroupPartitionedXorNV(data[2].i64.xyz, ballot);
|
||||
data[invocation].i64 = subgroupPartitionedXorNV(data[3].i64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedAddNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedAddNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedAddNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedAddNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedMulNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedMulNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedMulNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedMulNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedMinNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedMinNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedMinNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedMinNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedMaxNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedMaxNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedMaxNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedMaxNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedAndNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedAndNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedAndNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedAndNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedOrNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedOrNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedOrNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedOrNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].u64.x = subgroupPartitionedXorNV(data[0].u64.x, ballot);
|
||||
data[invocation].u64.xy = subgroupPartitionedXorNV(data[1].u64.xy, ballot);
|
||||
data[invocation].u64.xyz = subgroupPartitionedXorNV(data[2].u64.xyz, ballot);
|
||||
data[invocation].u64 = subgroupPartitionedXorNV(data[3].u64, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedAddNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedAddNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedAddNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedAddNV(data[3].f16, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedMulNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedMulNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedMulNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedMulNV(data[3].f16, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedMinNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedMinNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedMinNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedMinNV(data[3].f16, ballot);
|
||||
|
||||
data[invocation].f16.x = subgroupPartitionedMaxNV(data[0].f16.x, ballot);
|
||||
data[invocation].f16.xy = subgroupPartitionedMaxNV(data[1].f16.xy, ballot);
|
||||
data[invocation].f16.xyz = subgroupPartitionedMaxNV(data[2].f16.xyz, ballot);
|
||||
data[invocation].f16 = subgroupPartitionedMaxNV(data[3].f16, ballot);
|
||||
}
|
165
Test/spv.subgroupExtendedTypesQuad.comp
Normal file
165
Test/spv.subgroupExtendedTypesQuad.comp
Normal file
@ -0,0 +1,165 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_quad: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupQuadBroadcast(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupQuadBroadcast(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupQuadBroadcast(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupQuadBroadcast(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupQuadSwapHorizontal(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupQuadSwapHorizontal(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupQuadSwapHorizontal(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupQuadSwapHorizontal(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupQuadSwapVertical(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupQuadSwapVertical(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupQuadSwapVertical(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupQuadSwapVertical(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupQuadSwapDiagonal(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupQuadSwapDiagonal(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupQuadSwapDiagonal(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupQuadSwapDiagonal(data[3].i8);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadBroadcast(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupQuadBroadcast(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupQuadBroadcast(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupQuadBroadcast(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadSwapHorizontal(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupQuadSwapHorizontal(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupQuadSwapHorizontal(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupQuadSwapHorizontal(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadSwapVertical(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupQuadSwapVertical(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupQuadSwapVertical(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupQuadSwapVertical(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadSwapDiagonal(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupQuadSwapDiagonal(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupQuadSwapDiagonal(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupQuadSwapDiagonal(data[3].u8);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadBroadcast(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupQuadBroadcast(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupQuadBroadcast(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupQuadBroadcast(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadSwapHorizontal(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupQuadSwapHorizontal(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupQuadSwapHorizontal(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupQuadSwapHorizontal(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadSwapVertical(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupQuadSwapVertical(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupQuadSwapVertical(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupQuadSwapVertical(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadSwapDiagonal(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupQuadSwapDiagonal(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupQuadSwapDiagonal(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupQuadSwapDiagonal(data[3].i16);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadBroadcast(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupQuadBroadcast(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupQuadBroadcast(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupQuadBroadcast(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadSwapHorizontal(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupQuadSwapHorizontal(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupQuadSwapHorizontal(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupQuadSwapHorizontal(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadSwapVertical(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupQuadSwapVertical(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupQuadSwapVertical(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupQuadSwapVertical(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadSwapDiagonal(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupQuadSwapDiagonal(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupQuadSwapDiagonal(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupQuadSwapDiagonal(data[3].u16);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadBroadcast(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupQuadBroadcast(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupQuadBroadcast(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupQuadBroadcast(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadSwapHorizontal(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupQuadSwapHorizontal(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupQuadSwapHorizontal(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupQuadSwapHorizontal(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadSwapVertical(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupQuadSwapVertical(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupQuadSwapVertical(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupQuadSwapVertical(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadSwapDiagonal(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupQuadSwapDiagonal(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupQuadSwapDiagonal(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupQuadSwapDiagonal(data[3].i64);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadBroadcast(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupQuadBroadcast(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupQuadBroadcast(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupQuadBroadcast(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadSwapHorizontal(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupQuadSwapHorizontal(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupQuadSwapHorizontal(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupQuadSwapHorizontal(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadSwapVertical(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupQuadSwapVertical(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupQuadSwapVertical(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupQuadSwapVertical(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadSwapDiagonal(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupQuadSwapDiagonal(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupQuadSwapDiagonal(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupQuadSwapDiagonal(data[3].u64);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadBroadcast(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupQuadBroadcast(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupQuadBroadcast(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupQuadBroadcast(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadSwapHorizontal(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupQuadSwapHorizontal(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupQuadSwapHorizontal(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupQuadSwapHorizontal(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadSwapVertical(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupQuadSwapVertical(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupQuadSwapVertical(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupQuadSwapVertical(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadSwapDiagonal(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupQuadSwapDiagonal(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupQuadSwapDiagonal(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupQuadSwapDiagonal(data[3].f16);
|
||||
}
|
165
Test/spv.subgroupExtendedTypesQuadNeg.comp
Normal file
165
Test/spv.subgroupExtendedTypesQuadNeg.comp
Normal file
@ -0,0 +1,165 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_quad: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupQuadBroadcast(data[0].i8.x, 1);
|
||||
data[invocation].i8.xy = subgroupQuadBroadcast(data[1].i8.xy, 1);
|
||||
data[invocation].i8.xyz = subgroupQuadBroadcast(data[2].i8.xyz, 1);
|
||||
data[invocation].i8 = subgroupQuadBroadcast(data[3].i8, 1);
|
||||
|
||||
data[invocation].i8.x = subgroupQuadSwapHorizontal(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupQuadSwapHorizontal(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupQuadSwapHorizontal(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupQuadSwapHorizontal(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupQuadSwapVertical(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupQuadSwapVertical(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupQuadSwapVertical(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupQuadSwapVertical(data[3].i8);
|
||||
|
||||
data[invocation].i8.x = subgroupQuadSwapDiagonal(data[0].i8.x);
|
||||
data[invocation].i8.xy = subgroupQuadSwapDiagonal(data[1].i8.xy);
|
||||
data[invocation].i8.xyz = subgroupQuadSwapDiagonal(data[2].i8.xyz);
|
||||
data[invocation].i8 = subgroupQuadSwapDiagonal(data[3].i8);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadBroadcast(data[0].u8.x, 1);
|
||||
data[invocation].u8.xy = subgroupQuadBroadcast(data[1].u8.xy, 1);
|
||||
data[invocation].u8.xyz = subgroupQuadBroadcast(data[2].u8.xyz, 1);
|
||||
data[invocation].u8 = subgroupQuadBroadcast(data[3].u8, 1);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadSwapHorizontal(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupQuadSwapHorizontal(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupQuadSwapHorizontal(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupQuadSwapHorizontal(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadSwapVertical(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupQuadSwapVertical(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupQuadSwapVertical(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupQuadSwapVertical(data[3].u8);
|
||||
|
||||
data[invocation].u8.x = subgroupQuadSwapDiagonal(data[0].u8.x);
|
||||
data[invocation].u8.xy = subgroupQuadSwapDiagonal(data[1].u8.xy);
|
||||
data[invocation].u8.xyz = subgroupQuadSwapDiagonal(data[2].u8.xyz);
|
||||
data[invocation].u8 = subgroupQuadSwapDiagonal(data[3].u8);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadBroadcast(data[0].i16.x, 1);
|
||||
data[invocation].i16.xy = subgroupQuadBroadcast(data[1].i16.xy, 1);
|
||||
data[invocation].i16.xyz = subgroupQuadBroadcast(data[2].i16.xyz, 1);
|
||||
data[invocation].i16 = subgroupQuadBroadcast(data[3].i16, 1);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadSwapHorizontal(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupQuadSwapHorizontal(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupQuadSwapHorizontal(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupQuadSwapHorizontal(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadSwapVertical(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupQuadSwapVertical(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupQuadSwapVertical(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupQuadSwapVertical(data[3].i16);
|
||||
|
||||
data[invocation].i16.x = subgroupQuadSwapDiagonal(data[0].i16.x);
|
||||
data[invocation].i16.xy = subgroupQuadSwapDiagonal(data[1].i16.xy);
|
||||
data[invocation].i16.xyz = subgroupQuadSwapDiagonal(data[2].i16.xyz);
|
||||
data[invocation].i16 = subgroupQuadSwapDiagonal(data[3].i16);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadBroadcast(data[0].u16.x, 1);
|
||||
data[invocation].u16.xy = subgroupQuadBroadcast(data[1].u16.xy, 1);
|
||||
data[invocation].u16.xyz = subgroupQuadBroadcast(data[2].u16.xyz, 1);
|
||||
data[invocation].u16 = subgroupQuadBroadcast(data[3].u16, 1);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadSwapHorizontal(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupQuadSwapHorizontal(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupQuadSwapHorizontal(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupQuadSwapHorizontal(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadSwapVertical(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupQuadSwapVertical(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupQuadSwapVertical(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupQuadSwapVertical(data[3].u16);
|
||||
|
||||
data[invocation].u16.x = subgroupQuadSwapDiagonal(data[0].u16.x);
|
||||
data[invocation].u16.xy = subgroupQuadSwapDiagonal(data[1].u16.xy);
|
||||
data[invocation].u16.xyz = subgroupQuadSwapDiagonal(data[2].u16.xyz);
|
||||
data[invocation].u16 = subgroupQuadSwapDiagonal(data[3].u16);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadBroadcast(data[0].i64.x, 1);
|
||||
data[invocation].i64.xy = subgroupQuadBroadcast(data[1].i64.xy, 1);
|
||||
data[invocation].i64.xyz = subgroupQuadBroadcast(data[2].i64.xyz, 1);
|
||||
data[invocation].i64 = subgroupQuadBroadcast(data[3].i64, 1);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadSwapHorizontal(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupQuadSwapHorizontal(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupQuadSwapHorizontal(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupQuadSwapHorizontal(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadSwapVertical(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupQuadSwapVertical(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupQuadSwapVertical(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupQuadSwapVertical(data[3].i64);
|
||||
|
||||
data[invocation].i64.x = subgroupQuadSwapDiagonal(data[0].i64.x);
|
||||
data[invocation].i64.xy = subgroupQuadSwapDiagonal(data[1].i64.xy);
|
||||
data[invocation].i64.xyz = subgroupQuadSwapDiagonal(data[2].i64.xyz);
|
||||
data[invocation].i64 = subgroupQuadSwapDiagonal(data[3].i64);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadBroadcast(data[0].u64.x, 1);
|
||||
data[invocation].u64.xy = subgroupQuadBroadcast(data[1].u64.xy, 1);
|
||||
data[invocation].u64.xyz = subgroupQuadBroadcast(data[2].u64.xyz, 1);
|
||||
data[invocation].u64 = subgroupQuadBroadcast(data[3].u64, 1);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadSwapHorizontal(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupQuadSwapHorizontal(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupQuadSwapHorizontal(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupQuadSwapHorizontal(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadSwapVertical(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupQuadSwapVertical(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupQuadSwapVertical(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupQuadSwapVertical(data[3].u64);
|
||||
|
||||
data[invocation].u64.x = subgroupQuadSwapDiagonal(data[0].u64.x);
|
||||
data[invocation].u64.xy = subgroupQuadSwapDiagonal(data[1].u64.xy);
|
||||
data[invocation].u64.xyz = subgroupQuadSwapDiagonal(data[2].u64.xyz);
|
||||
data[invocation].u64 = subgroupQuadSwapDiagonal(data[3].u64);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadBroadcast(data[0].f16.x, 1);
|
||||
data[invocation].f16.xy = subgroupQuadBroadcast(data[1].f16.xy, 1);
|
||||
data[invocation].f16.xyz = subgroupQuadBroadcast(data[2].f16.xyz, 1);
|
||||
data[invocation].f16 = subgroupQuadBroadcast(data[3].f16, 1);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadSwapHorizontal(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupQuadSwapHorizontal(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupQuadSwapHorizontal(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupQuadSwapHorizontal(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadSwapVertical(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupQuadSwapVertical(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupQuadSwapVertical(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupQuadSwapVertical(data[3].f16);
|
||||
|
||||
data[invocation].f16.x = subgroupQuadSwapDiagonal(data[0].f16.x);
|
||||
data[invocation].f16.xy = subgroupQuadSwapDiagonal(data[1].f16.xy);
|
||||
data[invocation].f16.xyz = subgroupQuadSwapDiagonal(data[2].f16.xyz);
|
||||
data[invocation].f16 = subgroupQuadSwapDiagonal(data[3].f16);
|
||||
}
|
95
Test/spv.subgroupExtendedTypesShuffle.comp
Normal file
95
Test/spv.subgroupExtendedTypesShuffle.comp
Normal file
@ -0,0 +1,95 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_shuffle: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupShuffle(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffle(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffle(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffle(data[3].i8, invocation);
|
||||
|
||||
data[invocation].i8.x = subgroupShuffleXor(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffleXor(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffleXor(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffleXor(data[3].i8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffle(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffle(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffle(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffle(data[3].u8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffleXor(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffleXor(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffleXor(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffleXor(data[3].u8, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffle(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffle(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffle(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffle(data[3].i16, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffleXor(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffleXor(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffleXor(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffleXor(data[3].i16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffle(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffle(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffle(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffle(data[3].u16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffleXor(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffleXor(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffleXor(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffleXor(data[3].u16, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffle(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffle(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffle(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffle(data[3].i64, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffleXor(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffleXor(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffleXor(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffleXor(data[3].i64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffle(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffle(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffle(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffle(data[3].u64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffleXor(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffleXor(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffleXor(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffleXor(data[3].u64, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffle(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffle(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffle(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffle(data[3].f16, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffleXor(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffleXor(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffleXor(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffleXor(data[3].f16, invocation);
|
||||
}
|
95
Test/spv.subgroupExtendedTypesShuffleNeg.comp
Normal file
95
Test/spv.subgroupExtendedTypesShuffleNeg.comp
Normal file
@ -0,0 +1,95 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_shuffle: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupShuffle(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffle(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffle(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffle(data[3].i8, invocation);
|
||||
|
||||
data[invocation].i8.x = subgroupShuffleXor(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffleXor(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffleXor(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffleXor(data[3].i8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffle(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffle(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffle(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffle(data[3].u8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffleXor(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffleXor(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffleXor(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffleXor(data[3].u8, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffle(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffle(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffle(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffle(data[3].i16, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffleXor(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffleXor(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffleXor(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffleXor(data[3].i16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffle(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffle(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffle(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffle(data[3].u16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffleXor(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffleXor(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffleXor(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffleXor(data[3].u16, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffle(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffle(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffle(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffle(data[3].i64, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffleXor(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffleXor(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffleXor(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffleXor(data[3].i64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffle(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffle(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffle(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffle(data[3].u64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffleXor(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffleXor(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffleXor(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffleXor(data[3].u64, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffle(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffle(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffle(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffle(data[3].f16, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffleXor(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffleXor(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffleXor(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffleXor(data[3].f16, invocation);
|
||||
}
|
95
Test/spv.subgroupExtendedTypesShuffleRelative.comp
Normal file
95
Test/spv.subgroupExtendedTypesShuffleRelative.comp
Normal file
@ -0,0 +1,95 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_shuffle_relative: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupShuffleUp(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffleUp(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffleUp(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffleUp(data[3].i8, invocation);
|
||||
|
||||
data[invocation].i8.x = subgroupShuffleDown(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffleDown(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffleDown(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffleDown(data[3].i8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffleUp(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffleUp(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffleUp(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffleUp(data[3].u8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffleDown(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffleDown(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffleDown(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffleDown(data[3].u8, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffleUp(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffleUp(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffleUp(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffleUp(data[3].i16, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffleDown(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffleDown(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffleDown(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffleDown(data[3].i16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffleUp(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffleUp(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffleUp(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffleUp(data[3].u16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffleDown(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffleDown(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffleDown(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffleDown(data[3].u16, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffleUp(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffleUp(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffleUp(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffleUp(data[3].i64, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffleDown(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffleDown(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffleDown(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffleDown(data[3].i64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffleUp(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffleUp(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffleUp(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffleUp(data[3].u64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffleDown(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffleDown(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffleDown(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffleDown(data[3].u64, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffleUp(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffleUp(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffleUp(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffleUp(data[3].f16, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffleDown(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffleDown(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffleDown(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffleDown(data[3].f16, invocation);
|
||||
}
|
95
Test/spv.subgroupExtendedTypesShuffleRelativeNeg.comp
Normal file
95
Test/spv.subgroupExtendedTypesShuffleRelativeNeg.comp
Normal file
@ -0,0 +1,95 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_shuffle_relative: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
data[invocation].i8.x = subgroupShuffleUp(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffleUp(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffleUp(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffleUp(data[3].i8, invocation);
|
||||
|
||||
data[invocation].i8.x = subgroupShuffleDown(data[0].i8.x, invocation);
|
||||
data[invocation].i8.xy = subgroupShuffleDown(data[1].i8.xy, invocation);
|
||||
data[invocation].i8.xyz = subgroupShuffleDown(data[2].i8.xyz, invocation);
|
||||
data[invocation].i8 = subgroupShuffleDown(data[3].i8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffleUp(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffleUp(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffleUp(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffleUp(data[3].u8, invocation);
|
||||
|
||||
data[invocation].u8.x = subgroupShuffleDown(data[0].u8.x, invocation);
|
||||
data[invocation].u8.xy = subgroupShuffleDown(data[1].u8.xy, invocation);
|
||||
data[invocation].u8.xyz = subgroupShuffleDown(data[2].u8.xyz, invocation);
|
||||
data[invocation].u8 = subgroupShuffleDown(data[3].u8, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffleUp(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffleUp(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffleUp(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffleUp(data[3].i16, invocation);
|
||||
|
||||
data[invocation].i16.x = subgroupShuffleDown(data[0].i16.x, invocation);
|
||||
data[invocation].i16.xy = subgroupShuffleDown(data[1].i16.xy, invocation);
|
||||
data[invocation].i16.xyz = subgroupShuffleDown(data[2].i16.xyz, invocation);
|
||||
data[invocation].i16 = subgroupShuffleDown(data[3].i16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffleUp(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffleUp(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffleUp(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffleUp(data[3].u16, invocation);
|
||||
|
||||
data[invocation].u16.x = subgroupShuffleDown(data[0].u16.x, invocation);
|
||||
data[invocation].u16.xy = subgroupShuffleDown(data[1].u16.xy, invocation);
|
||||
data[invocation].u16.xyz = subgroupShuffleDown(data[2].u16.xyz, invocation);
|
||||
data[invocation].u16 = subgroupShuffleDown(data[3].u16, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffleUp(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffleUp(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffleUp(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffleUp(data[3].i64, invocation);
|
||||
|
||||
data[invocation].i64.x = subgroupShuffleDown(data[0].i64.x, invocation);
|
||||
data[invocation].i64.xy = subgroupShuffleDown(data[1].i64.xy, invocation);
|
||||
data[invocation].i64.xyz = subgroupShuffleDown(data[2].i64.xyz, invocation);
|
||||
data[invocation].i64 = subgroupShuffleDown(data[3].i64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffleUp(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffleUp(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffleUp(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffleUp(data[3].u64, invocation);
|
||||
|
||||
data[invocation].u64.x = subgroupShuffleDown(data[0].u64.x, invocation);
|
||||
data[invocation].u64.xy = subgroupShuffleDown(data[1].u64.xy, invocation);
|
||||
data[invocation].u64.xyz = subgroupShuffleDown(data[2].u64.xyz, invocation);
|
||||
data[invocation].u64 = subgroupShuffleDown(data[3].u64, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffleUp(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffleUp(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffleUp(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffleUp(data[3].f16, invocation);
|
||||
|
||||
data[invocation].f16.x = subgroupShuffleDown(data[0].f16.x, invocation);
|
||||
data[invocation].f16.xy = subgroupShuffleDown(data[1].f16.xy, invocation);
|
||||
data[invocation].f16.xyz = subgroupShuffleDown(data[2].f16.xyz, invocation);
|
||||
data[invocation].f16 = subgroupShuffleDown(data[3].f16, invocation);
|
||||
}
|
66
Test/spv.subgroupExtendedTypesVote.comp
Normal file
66
Test/spv.subgroupExtendedTypesVote.comp
Normal file
@ -0,0 +1,66 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_vote: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
|
||||
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
int r;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
if (subgroupAll(data[invocation].r < 0))
|
||||
{
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].i8.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].i8.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].i8.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].i8));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].u8.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].u8.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].u8.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].u8));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].i16.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].i16.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].i16.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].i16));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].u16.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].u16.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].u16.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].u16));
|
||||
}
|
||||
else if (subgroupAny(data[invocation].r < 0))
|
||||
{
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].i64.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].i64.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].i64.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].i64));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].u64.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].u64.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].u64.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].u64));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].f16.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].f16.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].f16.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].f16));
|
||||
}
|
||||
}
|
66
Test/spv.subgroupExtendedTypesVoteNeg.comp
Normal file
66
Test/spv.subgroupExtendedTypesVoteNeg.comp
Normal file
@ -0,0 +1,66 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_KHR_shader_subgroup_vote: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
i8vec4 i8;
|
||||
u8vec4 u8;
|
||||
i16vec4 i16;
|
||||
u16vec4 u16;
|
||||
i64vec4 i64;
|
||||
u64vec4 u64;
|
||||
f16vec4 f16;
|
||||
int r;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
if (subgroupAll(data[invocation].r < 0))
|
||||
{
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].i8.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].i8.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].i8.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].i8));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].u8.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].u8.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].u8.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].u8));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].i16.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].i16.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].i16.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].i16));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].u16.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].u16.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].u16.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].u16));
|
||||
}
|
||||
else if (subgroupAny(data[invocation].r < 0))
|
||||
{
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].i64.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].i64.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].i64.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].i64));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].u64.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].u64.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].u64.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].u64));
|
||||
|
||||
data[invocation].r = int(subgroupAllEqual(data[0].f16.x));
|
||||
data[invocation].r = int(subgroupAllEqual(data[1].f16.xy));
|
||||
data[invocation].r = int(subgroupAllEqual(data[2].f16.xyz));
|
||||
data[invocation].r = int(subgroupAllEqual(data[3].f16));
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -2204,6 +2204,30 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
|
||||
// these require SPIR-V 1.3
|
||||
if (spvVersion.spv > 0 && spvVersion.spv < EShTargetSpv_1_3)
|
||||
error(loc, "requires SPIR-V 1.3", "subgroup op", "");
|
||||
|
||||
// Check that if extended types are being used that the correct extensions are enabled.
|
||||
if (arg0 != nullptr) {
|
||||
const TType& type = arg0->getType();
|
||||
switch (type.getBasicType()) {
|
||||
default:
|
||||
break;
|
||||
case EbtInt8:
|
||||
case EbtUint8:
|
||||
requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_int8, type.getCompleteString().c_str());
|
||||
break;
|
||||
case EbtInt16:
|
||||
case EbtUint16:
|
||||
requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_int16, type.getCompleteString().c_str());
|
||||
break;
|
||||
case EbtInt64:
|
||||
case EbtUint64:
|
||||
requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_int64, type.getCompleteString().c_str());
|
||||
break;
|
||||
case EbtFloat16:
|
||||
requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_float16, type.getCompleteString().c_str());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -300,6 +300,12 @@ void TParseVersions::initializeExtensionBehavior()
|
||||
extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_float16] = EBhDisable;
|
||||
extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_float32] = EBhDisable;
|
||||
extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_float64] = EBhDisable;
|
||||
|
||||
// subgroup extended types
|
||||
extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_int8] = EBhDisable;
|
||||
extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_int16] = EBhDisable;
|
||||
extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_int64] = EBhDisable;
|
||||
extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_float16] = EBhDisable;
|
||||
}
|
||||
#endif // GLSLANG_WEB
|
||||
|
||||
@ -447,6 +453,11 @@ void TParseVersions::getPreamble(std::string& preamble)
|
||||
"#define GL_EXT_shader_explicit_arithmetic_types_float16 1\n"
|
||||
"#define GL_EXT_shader_explicit_arithmetic_types_float32 1\n"
|
||||
"#define GL_EXT_shader_explicit_arithmetic_types_float64 1\n"
|
||||
|
||||
"#define GL_EXT_shader_subgroup_extended_types_int8 1\n"
|
||||
"#define GL_EXT_shader_subgroup_extended_types_int16 1\n"
|
||||
"#define GL_EXT_shader_subgroup_extended_types_int64 1\n"
|
||||
"#define GL_EXT_shader_subgroup_extended_types_float16 1\n"
|
||||
;
|
||||
|
||||
if (version >= 150) {
|
||||
@ -826,6 +837,15 @@ void TParseVersions::updateExtensionBehavior(int line, const char* extension, co
|
||||
updateExtensionBehavior(line, "GL_EXT_buffer_reference", behaviorString);
|
||||
else if (strcmp(extension, "GL_NV_integer_cooperative_matrix") == 0)
|
||||
updateExtensionBehavior(line, "GL_NV_cooperative_matrix", behaviorString);
|
||||
// subgroup extended types to explicit types
|
||||
else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_int8") == 0)
|
||||
updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_int8", behaviorString);
|
||||
else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_int16") == 0)
|
||||
updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_int16", behaviorString);
|
||||
else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_int64") == 0)
|
||||
updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_int64", behaviorString);
|
||||
else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_float16") == 0)
|
||||
updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_float16", behaviorString);
|
||||
}
|
||||
|
||||
void TParseVersions::updateExtensionBehavior(const char* extension, TExtensionBehavior behavior)
|
||||
|
@ -257,7 +257,7 @@ const char* const E_GL_OES_tessellation_point_size = "GL_OES_tessel
|
||||
const char* const E_GL_OES_texture_buffer = "GL_OES_texture_buffer";
|
||||
const char* const E_GL_OES_texture_cube_map_array = "GL_OES_texture_cube_map_array";
|
||||
|
||||
// KHX
|
||||
// EXT
|
||||
const char* const E_GL_EXT_shader_explicit_arithmetic_types = "GL_EXT_shader_explicit_arithmetic_types";
|
||||
const char* const E_GL_EXT_shader_explicit_arithmetic_types_int8 = "GL_EXT_shader_explicit_arithmetic_types_int8";
|
||||
const char* const E_GL_EXT_shader_explicit_arithmetic_types_int16 = "GL_EXT_shader_explicit_arithmetic_types_int16";
|
||||
@ -267,6 +267,11 @@ const char* const E_GL_EXT_shader_explicit_arithmetic_types_float16 = "GL_EXT_s
|
||||
const char* const E_GL_EXT_shader_explicit_arithmetic_types_float32 = "GL_EXT_shader_explicit_arithmetic_types_float32";
|
||||
const char* const E_GL_EXT_shader_explicit_arithmetic_types_float64 = "GL_EXT_shader_explicit_arithmetic_types_float64";
|
||||
|
||||
const char* const E_GL_EXT_shader_subgroup_extended_types_int8 = "GL_EXT_shader_subgroup_extended_types_int8";
|
||||
const char* const E_GL_EXT_shader_subgroup_extended_types_int16 = "GL_EXT_shader_subgroup_extended_types_int16";
|
||||
const char* const E_GL_EXT_shader_subgroup_extended_types_int64 = "GL_EXT_shader_subgroup_extended_types_int64";
|
||||
const char* const E_GL_EXT_shader_subgroup_extended_types_float16 = "GL_EXT_shader_subgroup_extended_types_float16";
|
||||
|
||||
// Arrays of extensions for the above AEP duplications
|
||||
|
||||
const char* const AEP_geometry_shader[] = { E_GL_EXT_geometry_shader, E_GL_OES_geometry_shader };
|
||||
|
@ -459,6 +459,22 @@ INSTANTIATE_TEST_CASE_P(
|
||||
"spv.subgroupShuffleRelative.comp",
|
||||
"spv.subgroupQuad.comp",
|
||||
"spv.subgroupVote.comp",
|
||||
"spv.subgroupExtendedTypesArithmetic.comp",
|
||||
"spv.subgroupExtendedTypesArithmeticNeg.comp",
|
||||
"spv.subgroupExtendedTypesBallot.comp",
|
||||
"spv.subgroupExtendedTypesBallotNeg.comp",
|
||||
"spv.subgroupExtendedTypesClustered.comp",
|
||||
"spv.subgroupExtendedTypesClusteredNeg.comp",
|
||||
"spv.subgroupExtendedTypesPartitioned.comp",
|
||||
"spv.subgroupExtendedTypesPartitionedNeg.comp",
|
||||
"spv.subgroupExtendedTypesShuffle.comp",
|
||||
"spv.subgroupExtendedTypesShuffleNeg.comp",
|
||||
"spv.subgroupExtendedTypesShuffleRelative.comp",
|
||||
"spv.subgroupExtendedTypesShuffleRelativeNeg.comp",
|
||||
"spv.subgroupExtendedTypesQuad.comp",
|
||||
"spv.subgroupExtendedTypesQuadNeg.comp",
|
||||
"spv.subgroupExtendedTypesVote.comp",
|
||||
"spv.subgroupExtendedTypesVoteNeg.comp",
|
||||
"spv.vulkan110.storageBuffer.vert",
|
||||
})),
|
||||
FileNameAsCustomTestSuffix
|
||||
|
@ -3221,6 +3221,11 @@ bool HlslGrammar::acceptConstructor(TIntermTyped*& node)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (arguments == nullptr) {
|
||||
expected("one or more arguments");
|
||||
return false;
|
||||
}
|
||||
|
||||
// hook it up
|
||||
node = parseContext.handleFunctionCall(arguments->getLoc(), constructorFunction, arguments);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user