Lines Matching full:-
50 concept of sub-groups and a set of operations that allow data exchange
51 across shader invocations within a sub-group.
54 additional sub-group operations.
82 version 4.30 (Built-in functions)
87 specified value <v> across all active shader invocations in the sub-group
91 --------------- ---------------------------------------------------------
93 <v> in the sub-group
96 <n> is the size of the sub-group) elements { a[0], a[1],
98 op a[1] op .. op a[n-1]) }. <op> could be any of <min>,
102 <n> is the size of the sub-group) elements { a[0], a[1],
104 (a[0] op a[1] op .. op a[n-2]) }. <op> could be any of
111 -------- ----------------------------------- ----------
112 Min 32-bit signed integer INT_MAX
113 64-bit signed integer INT64_MAX
114 32-bit unsigned integer UINT_MAX
115 64-bit unsigned integer UINT64_MAX
116 16-bit/32-bit/64-bit floating-point +INF
118 Max 32-bit signed integer INT_MIN
119 64-bit signed integer INT64_MIN
120 32-bit/64-bit unsigned integer 0
121 floating-point -INF
123 Add 32-bit/64-bit signed integer 0
124 32-bit/64-bit unsigned integer 0
125 16-bit/32-bit/64-bit floating-point 0
127 …+------------------------------------------------------+------------------------------------------…
129 …+------------------------------------------------------+------------------------------------------…
131 …| genIType minInvocationsAMD(genIType v) | invocations in the sub-group with <Reduce…
133 …ocationsAMD(genDType v) | control flow. These functions operate component-wise. |
134 …+------------------------------------------------------+------------------------------------------…
136 …| genIType minInvocationsNonUniformAMD(genIType v) | invocations in the sub-group with <Reduce…
137 …ocationsNonUniformAMD(genUType v) | operation. These functions could be used in non-uniform |
138 …ocationsNonUniformAMD(genDType v) | control flow. These functions operate component-wise. |
139 …+------------------------------------------------------+------------------------------------------…
141 …| genIType minInvocationsInclusiveScanAMD(genIType v) | invocations in the sub-group with <Inclus…
143 …ocationsInclusiveScanAMD(genDType v) | control flow. These functions operate component-wise. |
148 …+------------------------------------------------------+------------------------------------------…
150 …| genType v) | invocations in the sub-group with <Inclus…
151 …ocationsInclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
152 …pe v) | control flow. These functions operate component-wise. |
157 …+------------------------------------------------------+------------------------------------------…
159 …| genIType minInvocationsExclusiveScanAMD(genIType v) | invocations in the sub-group with <Exclus…
161 …ocationsExclusiveScanAMD(genDType v) | control flow. These functions operate component-wise. |
166 …+------------------------------------------------------+------------------------------------------…
168 …| genType v) | invocations in the sub-group with <Exclus…
169 …ocationsExclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
170 …pe v) | control flow. These functions operate component-wise. |
175 …+------------------------------------------------------+------------------------------------------…
177 …| genIType maxInvocationsAMD(genIType v) | invocations in the sub-group with <Reduce…
179 …ocationsAMD(genDType v) | control flow. These functions operate component-wise. |
180 …+------------------------------------------------------+------------------------------------------…
182 …| genIType maxInvocationsNonUniformAMD(genIType v) | invocations in the sub-group with <Reduce…
183 …ocationsNonUniformAMD(genUType v) | operation. These functions could be used in non-uniform |
184 …ocationsNonUniformAMD(genDType v) | control flow. These functions operate component-wise. |
185 …+------------------------------------------------------+------------------------------------------…
187 …| genIType maxInvocationsInclusiveScanAMD(genIType v) | invocations in the sub-group with <Inclus…
189 …ocationsInclusiveScanAMD(genDType v) | control flow. These functions operate component-wise. |
194 …+------------------------------------------------------+------------------------------------------…
196 …| genType v) | invocations in the sub-group with <Inclus…
197 …ocationsInclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
198 …pe v) | control flow. These functions operate component-wise. |
203 …+------------------------------------------------------+------------------------------------------…
205 …| genIType maxInvocationsExclusiveScanAMD(genIType v) | invocations in the sub-group with <Exclus…
207 …ocationsExclusiveScanAMD(genDType v) | control flow. These functions operate component-wise. |
212 …+------------------------------------------------------+------------------------------------------…
214 …| genType v) | invocations in the sub-group with <Exclus…
215 …ocationsExclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
216 …pe v) | control flow. These functions operate component-wise. |
221 …+------------------------------------------------------+------------------------------------------…
223 …| genIType addInvocationsAMD(genIType v) | shader invocations in the sub-group with …
225 …ocationsAMD(genDType v) | control flow. These functions operate component-wise. |
226 …+------------------------------------------------------+------------------------------------------…
228 …| genIType addInvocationsNonUniformAMD(genIType v) | shader invocations in the sub-group with …
229 …ocationsNonUniformAMD(genUType v) | operation. These functions could be used in non-uniform |
230 …ocationsNonUniformAMD(genDType v) | control flow. These functions operate component-wise. |
231 …+------------------------------------------------------+------------------------------------------…
233 …| genIType addInvocationsInclusiveScanAMD(genIType v) | shader invocations in the sub-group with …
235 …ocationsInclusiveScanAMD(genDType v) | control flow. These functions operate component-wise. |
240 …+------------------------------------------------------+------------------------------------------…
242 …| genType v) | shader invocations in the sub-group with …
244 …| genIType v) | non-uniform control flow. These functions…
245 …| genUType addInvocationsInclusiveScanNonUniformAMD( | component-wise. …
249 …+------------------------------------------------------+------------------------------------------…
251 …| genIType addInvocationsExclusiveScanAMD(genIType v) | shader invocations in the sub-group with …
253 …ocationsExclusiveScanAMD(genDType v) | control flow. These functions operate component-wise. |
258 …+------------------------------------------------------+------------------------------------------…
260 …| genType v) | shader invocations in the sub-group with …
262 …| genIType v) | non-uniform control flow. These functions…
263 …| genUType addInvocationsExclusiveScanNonUniformAMD( | component-wise. …
267 …+------------------------------------------------------+------------------------------------------…
269 …| genType data, uvec4 offset) | of the sub-group based on <offset> as des…
283 …| | - isActive[i] tells whether the invocatio…
284 …| | <i> is currently active in the sub-grou…
285 …| | - dataIn[i] is the value of <data> for in…
287 …| | - dataOut[i] is the return value of the f…
292 …+------------------------------------------------------+------------------------------------------…
303 …| | - isActive[i] tells whether the invocatio…
304 …| | <i> is currently active in the sub-grou…
305 …| | - dataIn[i] is the value of <data> for in…
307 …| | - dataOut[i] is the return value of the f…
312 …+------------------------------------------------------+------------------------------------------…
314 …| genType inputValue, | sub-group except for the invocation whose…
315 …| genType writeValue, | index within the sub-group is <invocation…
327 …| | uniform within the sub-group, otherwise t…
329 …+------------------------------------------------------+------------------------------------------…
338 …+------------------------------------------------------+------------------------------------------…
340 …+------------------------------------------------------+------------------------------------------…
342 …| genU64Type minInvocationsAMD(genU64Type v) | invocations in the sub-group with <Reduce…
344 … | control flow. These functions operate component-wise. |
345 …+------------------------------------------------------+------------------------------------------…
347 …| genU64Type minInvocationsNonUniformAMD(genU64Type v) | invocations in the sub-group with <Reduce…
348 … | operation. These functions could be used in non-uniform |
349 … | control flow. These functions operate component-wise. |
350 …+------------------------------------------------------+------------------------------------------…
352 …| genI64Type v) | invocations in the sub-group with <Inclus…
354 …64Type v) | control flow. These functions operate component-wise. |
355 …+------------------------------------------------------+------------------------------------------…
357 …| genI64Type v) | invocations in the sub-group with <Inclus…
358 …nvocationsInclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
359 …64Type v) | control flow. These functions operate component-wise. |
360 …+------------------------------------------------------+------------------------------------------…
362 …| genI64Type v) | invocations in the sub-group with <Exclus…
364 …64Type v) | control flow. These functions operate component-wise. |
365 …+------------------------------------------------------+------------------------------------------…
367 …| genI64Type v) | invocations in the sub-group with <Exclus…
368 …nvocationsExclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
369 …64Type v) | control flow. These functions operate component-wise. |
370 …+------------------------------------------------------+------------------------------------------…
372 …| genU64Type maxInvocationsAMD(genU64Type v) | invocations in the sub-group with <Reduce…
374 … | control flow. These functions operate component-wise. |
375 …+------------------------------------------------------+------------------------------------------…
377 …| genU64Type maxInvocationsNonUniformAMD(genU64Type v) | invocations in the sub-group with <Reduce…
378 … | operation. These functions could be used in non-uniform |
379 … | control flow. These functions operate component-wise. |
380 …+------------------------------------------------------+------------------------------------------…
382 …| genI64Type v) | invocations in the sub-group with <Inclus…
384 …64Type v) | control flow. These functions operate component-wise. |
385 …+------------------------------------------------------+------------------------------------------…
387 …| genI64Type v) | invocations in the sub-group with <Inclus…
388 …nvocationsInclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
389 …64Type v) | control flow. These functions operate component-wise. |
390 …+------------------------------------------------------+------------------------------------------…
392 …| genI64Type v) | invocations in the sub-group with <Exclus…
394 …64Type v) | control flow. These functions operate component-wise. |
395 …+------------------------------------------------------+------------------------------------------…
397 …| genI64Type v) | invocations in the sub-group with <Exclus…
398 …nvocationsExclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
399 …64Type v) | control flow. These functions operate component-wise. |
400 …+------------------------------------------------------+------------------------------------------…
402 …| genU64Type addInvocationsAMD(genU64Type v) | shader invocations in the sub-group with …
404 … | control flow. These functions operate component-wise. |
405 …+------------------------------------------------------+------------------------------------------…
407 …| genU64Type addInvocationsNonUniformAMD(genU64Type v) | shader invocations in the sub-group with …
408 … | operation. These functions could be used in non-uniform |
409 … | control flow. These functions operate component-wise. |
410 …+------------------------------------------------------+------------------------------------------…
412 …| genI64Type v) | shader invocations in the sub-group with …
414 …64Type v) | control flow. These functions operate component-wise. |
415 …+------------------------------------------------------+------------------------------------------…
417 …| genI64Type v) | shader invocations in the sub-group with …
419 …| genU64Type v) | non-uniform control flow. These functions…
420 …| | component-wise. …
421 …+------------------------------------------------------+------------------------------------------…
423 …| genI64Type v) | shader invocations in the sub-group with …
425 …64Type v) | control flow. These functions operate component-wise. |
426 …+------------------------------------------------------+------------------------------------------…
428 …| genI64Type v) | shader invocations in the sub-group with …
430 …| genU64Type v) | non-uniform control flow. These functions…
431 …| | component-wise. …
432 …+------------------------------------------------------+------------------------------------------…
437 …+------------------------------------------------------+------------------------------------------…
446 …+------------------------------------------------------+------------------------------------------…
448 …+------------------------------------------------------+------------------------------------------…
450 …| | invocations in the sub-group with <Reduce…
452 … | control flow. These functions operate component-wise. |
453 …+------------------------------------------------------+------------------------------------------…
455 …| | invocations in the sub-group with <Reduce…
456 … | operation. These functions could be used in non-uniform |
457 … | control flow. These functions operate component-wise. |
458 …+------------------------------------------------------+------------------------------------------…
460 …| genF16Type v) | invocations in the sub-group with <Inclus…
462 … | control flow. These functions operate component-wise. |
463 …+------------------------------------------------------+------------------------------------------…
465 …| genF16Type v) | invocations in the sub-group with <Inclus…
466 … | operation. These functions could be used in non-uniform |
467 … | control flow. These functions operate component-wise. |
468 …+------------------------------------------------------+------------------------------------------…
470 …| genF16Type v) | invocations in the sub-group with <Exclus…
472 … | control flow. These functions operate component-wise. |
473 …+------------------------------------------------------+------------------------------------------…
475 …| genF16Type v) | invocations in the sub-group with <Exclus…
476 … | operation. These functions could be used in non-uniform |
477 … | control flow. These functions operate component-wise. |
478 …+------------------------------------------------------+------------------------------------------…
480 …| | invocations in the sub-group with <Reduce…
482 … | control flow. These functions operate component-wise. |
483 …+------------------------------------------------------+------------------------------------------…
485 …| | invocations in the sub-group with <Reduce…
486 … | operation. These functions could be used in non-uniform |
487 … | control flow. These functions operate component-wise. |
488 …+------------------------------------------------------+------------------------------------------…
490 …| genF16Type v) | invocations in the sub-group with <Inclus…
492 … | control flow. These functions operate component-wise. |
493 …+------------------------------------------------------+------------------------------------------…
495 …| genF16Type v) | invocations in the sub-group with <Inclus…
496 … | operation. These functions could be used in non-uniform |
497 … | control flow. These functions operate component-wise. |
498 …+------------------------------------------------------+------------------------------------------…
500 …| genF16Type v) | invocations in the sub-group with <Exclus…
502 … | control flow. These functions operate component-wise. |
503 …+------------------------------------------------------+------------------------------------------…
505 …| genF16Type v) | invocations in the sub-group with <Exclus…
506 … | operation. These functions could be used in non-uniform |
507 … | control flow. These functions operate component-wise. |
508 …+------------------------------------------------------+------------------------------------------…
510 …| | shader invocations in the sub-group with …
512 … | control flow. These functions operate component-wise. |
513 …+------------------------------------------------------+------------------------------------------…
515 …| | shader invocations in the sub-group with …
516 … | operation. These functions could be used in non-uniform |
517 … | control flow. These functions operate component-wise. |
518 …+------------------------------------------------------+------------------------------------------…
520 …| genF16Type v) | shader invocations in the sub-group with …
522 … | control flow. These functions operate component-wise. |
523 …+------------------------------------------------------+------------------------------------------…
525 …| genF16Type v) | shader invocations in the sub-group with …
527 …| | non-uniform control flow. These functions…
528 …| | component-wise. …
529 …+------------------------------------------------------+------------------------------------------…
531 …| genF16Type v) | shader invocations in the sub-group with …
533 … | control flow. These functions operate component-wise. |
534 …+------------------------------------------------------+------------------------------------------…
536 …| genF16Type v) | shader invocations in the sub-group with …
538 …| | non-uniform control flow. These functions…
539 …| | component-wise. …
540 …+------------------------------------------------------+------------------------------------------…
549 …+------------------------------------------------------+------------------------------------------…
551 …+------------------------------------------------------+------------------------------------------…
553 …| genU16Type minInvocationsAMD(genU16Type v) | invocations in the sub-group with <Reduce…
555 … | control flow. These functions operate component-wise. |
556 …+------------------------------------------------------+------------------------------------------…
558 …| genU16Type minInvocationsNonUniformAMD(genU16Type v) | invocations in the sub-group with <Reduce…
559 … | operation. These functions could be used in non-uniform |
560 … | control flow. These functions operate component-wise. |
561 …+------------------------------------------------------+------------------------------------------…
563 …| genI16Type v) | invocations in the sub-group with <Inclus…
565 …16Type v) | control flow. These functions operate component-wise. |
566 …+------------------------------------------------------+------------------------------------------…
568 …| genI16Type v) | invocations in the sub-group with <Inclus…
569 …nvocationsInclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
570 …16Type v) | control flow. These functions operate component-wise. |
571 …+------------------------------------------------------+------------------------------------------…
573 …| genI16Type v) | invocations in the sub-group with <Exclus…
575 …16Type v) | control flow. These functions operate component-wise. |
576 …+------------------------------------------------------+------------------------------------------…
578 …| genI16Type v) | invocations in the sub-group with <Exclus…
579 …nvocationsExclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
580 …16Type v) | control flow. These functions operate component-wise. |
581 …+------------------------------------------------------+------------------------------------------…
583 …| genU16Type maxInvocationsAMD(genU16Type v) | invocations in the sub-group with <Reduce…
585 … | control flow. These functions operate component-wise. |
586 …+------------------------------------------------------+------------------------------------------…
588 …| genU16Type maxInvocationsNonUniformAMD(genU16Type v) | invocations in the sub-group with <Reduce…
589 … | operation. These functions could be used in non-uniform |
590 … | control flow. These functions operate component-wise. |
591 …+------------------------------------------------------+------------------------------------------…
593 …| genI16Type v) | invocations in the sub-group with <Inclus…
595 …16Type v) | control flow. These functions operate component-wise. |
596 …+------------------------------------------------------+------------------------------------------…
598 …| genI16Type v) | invocations in the sub-group with <Inclus…
599 …nvocationsInclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
600 …16Type v) | control flow. These functions operate component-wise. |
601 …+------------------------------------------------------+------------------------------------------…
603 …| genI16Type v) | invocations in the sub-group with <Exclus…
605 …16Type v) | control flow. These functions operate component-wise. |
606 …+------------------------------------------------------+------------------------------------------…
608 …| genI16Type v) | invocations in the sub-group with <Exclus…
609 …nvocationsExclusiveScanNonUniformAMD( | operation. These functions could be used in non-uniform |
610 …16Type v) | control flow. These functions operate component-wise. |
611 …+------------------------------------------------------+------------------------------------------…
613 …| genU16Type addInvocationsAMD(genU16Type v) | shader invocations in the sub-group with …
615 … | control flow. These functions operate component-wise. |
616 …+------------------------------------------------------+------------------------------------------…
618 …| genU16Type addInvocationsNonUniformAMD(genU16Type v) | shader invocations in the sub-group with …
619 … | operation. These functions could be used in non-uniform |
620 … | control flow. These functions operate component-wise. |
621 …+------------------------------------------------------+------------------------------------------…
623 …| genI16Type v) | shader invocations in the sub-group with …
625 …16Type v) | control flow. These functions operate component-wise. |
626 …+------------------------------------------------------+------------------------------------------…
628 …| genI16Type v) | shader invocations in the sub-group with …
630 …| genU16Type v) | non-uniform control flow. These functions…
631 …| | component-wise. …
632 …+------------------------------------------------------+------------------------------------------…
634 …| genI16Type v) | shader invocations in the sub-group with …
636 …16Type v) | control flow. These functions operate component-wise. |
637 …+------------------------------------------------------+------------------------------------------…
639 …| genI16Type v) | shader invocations in the sub-group with …
641 …| genU16Type v) | non-uniform control flow. These functions…
642 …| | component-wise. …
643 …+------------------------------------------------------+------------------------------------------…
663 ---- ---------- -------- --------------------------------------------------
666 16-bit integer type in group operations.
670 functions are added to support 64-bit integer
671 type and 16-bit/64-bit floating-point type
678 addInvocationsAMD, along with their non-uniform
679 versions, operate component-wise rather than on
682 2 08/11/2016 rexu Add non-uniform versions of minInvocationsAMD,
684 Support those operations in non-uniform control