Struct CompilerGLSL::ShaderSubgroupSupportHelper

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
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
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 Candidate get_KHR_extension_for_feature(Feature feature)
static CandidateVector get_candidates_for_feature(Feature ft, const Result &r)
struct Result

Public Functions

Result()

Public Members

uint32_t weights[CandidateCount]