tgsi: add SUBGROUP_* semantics
v2: add documentation (Nicolai) Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
committed by
Nicolai Hähnle
parent
3650d7455f
commit
08bd0aa507
@@ -99,6 +99,13 @@ const char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT] =
|
||||
"BASEINSTANCE",
|
||||
"DRAWID",
|
||||
"WORK_DIM",
|
||||
"SUBGROUP_SIZE",
|
||||
"SUBGROUP_INVOCATION",
|
||||
"SUBGROUP_EQ_MASK",
|
||||
"SUBGROUP_GE_MASK",
|
||||
"SUBGROUP_GT_MASK",
|
||||
"SUBGROUP_LE_MASK",
|
||||
"SUBGROUP_LT_MASK",
|
||||
};
|
||||
|
||||
const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] =
|
||||
|
||||
@@ -3430,6 +3430,57 @@ For compute shaders, this semantic indicates the (x, y, z) coordinates of the
|
||||
current thread inside of the block.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_SUBGROUP_SIZE
|
||||
"""""""""""""""""""""""""""
|
||||
|
||||
This semantic indicates the subgroup size for the current invocation. This is
|
||||
an integer of at most 64, as it indicates the width of lanemasks. It does not
|
||||
depend on the number of invocations that are active.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_SUBGROUP_INVOCATION
|
||||
"""""""""""""""""""""""""""""""""
|
||||
|
||||
The index of the current invocation within its subgroup.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_SUBGROUP_EQ_MASK
|
||||
""""""""""""""""""""""""""""""
|
||||
|
||||
A bit mask of ``bit index == TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
|
||||
``1 << subgroup_invocation`` in arbitrary precision arithmetic.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_SUBGROUP_GE_MASK
|
||||
""""""""""""""""""""""""""""""
|
||||
|
||||
A bit mask of ``bit index >= TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
|
||||
``((1 << (subgroup_size - subgroup_invocation)) - 1) << subgroup_invocation``
|
||||
in arbitrary precision arithmetic.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_SUBGROUP_GT_MASK
|
||||
""""""""""""""""""""""""""""""
|
||||
|
||||
A bit mask of ``bit index > TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
|
||||
``((1 << (subgroup_size - subgroup_invocation - 1)) - 1) << (subgroup_invocation + 1)``
|
||||
in arbitrary precision arithmetic.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_SUBGROUP_LE_MASK
|
||||
""""""""""""""""""""""""""""""
|
||||
|
||||
A bit mask of ``bit index <= TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
|
||||
``(1 << (subgroup_invocation + 1)) - 1`` in arbitrary precision arithmetic.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_SUBGROUP_LT_MASK
|
||||
""""""""""""""""""""""""""""""
|
||||
|
||||
A bit mask of ``bit index > TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
|
||||
``(1 << subgroup_invocation) - 1`` in arbitrary precision arithmetic.
|
||||
|
||||
|
||||
Declaration Interpolate
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
@@ -199,6 +199,13 @@ enum tgsi_semantic {
|
||||
TGSI_SEMANTIC_BASEINSTANCE,
|
||||
TGSI_SEMANTIC_DRAWID,
|
||||
TGSI_SEMANTIC_WORK_DIM, /**< opencl get_work_dim value */
|
||||
TGSI_SEMANTIC_SUBGROUP_SIZE,
|
||||
TGSI_SEMANTIC_SUBGROUP_INVOCATION,
|
||||
TGSI_SEMANTIC_SUBGROUP_EQ_MASK,
|
||||
TGSI_SEMANTIC_SUBGROUP_GE_MASK,
|
||||
TGSI_SEMANTIC_SUBGROUP_GT_MASK,
|
||||
TGSI_SEMANTIC_SUBGROUP_LE_MASK,
|
||||
TGSI_SEMANTIC_SUBGROUP_LT_MASK,
|
||||
TGSI_SEMANTIC_COUNT, /**< number of semantic values */
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user