aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/brw_compiler.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2019-07-09 14:28:18 -0500
committerJason Ekstrand <[email protected]>2019-07-24 12:55:40 -0500
commit2a236c76f8209b6c2c7bcbfee5fcfbfaa7b82796 (patch)
tree8e6f3deb06dc8ffdb9996d9fc700cf385d496361 /src/intel/compiler/brw_compiler.h
parent4397eb91c1e0081be2b17edb13dd4b47b9e97b62 (diff)
intel/compiler: Allow for required subgroup sizes
Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_compiler.h')
-rw-r--r--src/intel/compiler/brw_compiler.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h
index 8b62e67e2d7..b2b09d16e60 100644
--- a/src/intel/compiler/brw_compiler.h
+++ b/src/intel/compiler/brw_compiler.h
@@ -206,9 +206,17 @@ struct brw_sampler_prog_key_data {
/** An enum representing what kind of input gl_SubgroupSize is. */
enum PACKED brw_subgroup_size_type
{
- BRW_SUBGROUP_SIZE_API_CONSTANT, /**< Vulkan behavior */
- BRW_SUBGROUP_SIZE_UNIFORM, /**< OpenGL behavior */
- BRW_SUBGROUP_SIZE_VARYING, /**< VK_EXT_subgroup_size_control */
+ BRW_SUBGROUP_SIZE_API_CONSTANT, /**< Default Vulkan behavior */
+ BRW_SUBGROUP_SIZE_UNIFORM, /**< OpenGL behavior */
+ BRW_SUBGROUP_SIZE_VARYING, /**< VK_EXT_subgroup_size_control */
+
+ /* These enums are specifically chosen so that the value of the enum is
+ * also the subgroup size. If any new values are added, they must respect
+ * this invariant.
+ */
+ BRW_SUBGROUP_SIZE_REQUIRE_8 = 8, /**< VK_EXT_subgroup_size_control */
+ BRW_SUBGROUP_SIZE_REQUIRE_16 = 16, /**< VK_EXT_subgroup_size_control */
+ BRW_SUBGROUP_SIZE_REQUIRE_32 = 32, /**< VK_EXT_subgroup_size_control */
};
struct brw_base_prog_key {