Struct CompilerGLSL::ShaderSubgroupSupportHelper
Defined in File spirv_glsl.hpp
Nested Relationships
This struct is a nested type of Class CompilerGLSL.
Nested Types
Struct Documentation
-
struct ShaderSubgroupSupportHelper
Public Types
-
enum Candidate
Values:
-
enumerator KHR_shader_subgroup_ballot
-
enumerator KHR_shader_subgroup_basic
-
enumerator KHR_shader_subgroup_vote
-
enumerator KHR_shader_subgroup_arithmetic
-
enumerator NV_gpu_shader_5
-
enumerator NV_shader_thread_group
-
enumerator NV_shader_thread_shuffle
-
enumerator ARB_shader_ballot
-
enumerator ARB_shader_group_vote
-
enumerator AMD_gcn_shader
-
enumerator CandidateCount
-
enumerator KHR_shader_subgroup_ballot
-
enum Feature
Values:
-
enumerator SubgroupMask
-
enumerator SubgroupSize
-
enumerator SubgroupInvocationID
-
enumerator SubgroupID
-
enumerator NumSubgroups
-
enumerator SubgroupBroadcast_First
-
enumerator SubgroupBallotFindLSB_MSB
-
enumerator SubgroupAll_Any_AllEqualBool
-
enumerator SubgroupAllEqualT
-
enumerator SubgroupElect
-
enumerator SubgroupBarrier
-
enumerator SubgroupMemBarrier
-
enumerator SubgroupBallot
-
enumerator SubgroupInverseBallot_InclBitCount_ExclBitCout
-
enumerator SubgroupBallotBitExtract
-
enumerator SubgroupBallotBitCount
-
enumerator SubgroupArithmeticIAddReduce
-
enumerator SubgroupArithmeticIAddExclusiveScan
-
enumerator SubgroupArithmeticIAddInclusiveScan
-
enumerator SubgroupArithmeticFAddReduce
-
enumerator SubgroupArithmeticFAddExclusiveScan
-
enumerator SubgroupArithmeticFAddInclusiveScan
-
enumerator SubgroupArithmeticIMulReduce
-
enumerator SubgroupArithmeticIMulExclusiveScan
-
enumerator SubgroupArithmeticIMulInclusiveScan
-
enumerator SubgroupArithmeticFMulReduce
-
enumerator SubgroupArithmeticFMulExclusiveScan
-
enumerator SubgroupArithmeticFMulInclusiveScan
-
enumerator FeatureCount
-
enumerator SubgroupMask
-
using FeatureMask = uint32_t
-
using CandidateVector = SmallVector<Candidate, CandidateCount>
-
using FeatureVector = SmallVector<Feature>
Public Functions
-
void request_feature(Feature feature)
-
bool is_feature_requested(Feature feature) const
-
Result resolve() const
Public Static Functions
-
static const char *get_extension_name(Candidate c)
-
static SmallVector<std::string> get_extra_required_extension_names(Candidate c)
-
static const char *get_extra_required_extension_predicate(Candidate c)
-
static FeatureVector get_feature_dependencies(Feature feature)
-
static FeatureMask get_feature_dependency_mask(Feature feature)
-
static bool can_feature_be_implemented_without_extensions(Feature feature)
-
static CandidateVector get_candidates_for_feature(Feature ft, const Result &r)
-
struct Result
Public Functions
-
Result()
Public Members
-
uint32_t weights[CandidateCount]
-
Result()
-
enum Candidate