/third_party/spirv-tools/source/ |
H A D | opcode.cpp | 67 uint32_t spvOpcodeMake(uint16_t wordCount, spv::Op opcode) { in spvOpcodeMake() 128 const spv::Op opcode, in spvOpcodeTableValueLookup() 169 void spvInstructionCopy(const uint32_t* words, const spv::Op opcode, in spvInstructionCopy() 180 assert(opcode == static_cast<spv::Op>(thisOpcode) && in spvInstructionCopy() 189 spv_opcode_desc_t needle = {"", static_cast<spv::Op>(opcode), in spvOpcodeString() 199 if (it != end && it->opcode == spv::Op(opcode)) { in spvOpcodeString() 207 const char* spvOpcodeString(const spv::Op opcode) { in spvOpcodeString() 211 int32_t spvOpcodeIsScalarType(const spv::Op opcode) { in spvOpcodeIsScalarType() 213 case spv::Op::OpTypeInt: in spvOpcodeIsScalarType() 214 case spv in spvOpcodeIsScalarType() [all...] |
/third_party/spirv-tools/source/fuzz/ |
H A D | transformation_move_instruction_down.cpp | 29 assert(op_ext_inst.opcode() == spv::Op::OpExtInst && "Wrong opcode"); in GetExtensionSet() 145 case spv::Op::OpNop: in IsSimpleInstruction() 146 case spv::Op::OpUndef: in IsSimpleInstruction() 147 case spv::Op::OpAccessChain: in IsSimpleInstruction() 148 case spv::Op::OpInBoundsAccessChain: in IsSimpleInstruction() 152 case spv::Op::OpVectorExtractDynamic: in IsSimpleInstruction() 153 case spv::Op::OpVectorInsertDynamic: in IsSimpleInstruction() 154 case spv::Op::OpVectorShuffle: in IsSimpleInstruction() 155 case spv::Op::OpCompositeConstruct: in IsSimpleInstruction() 156 case spv in IsSimpleInstruction() [all...] |
H A D | transformation_add_relaxed_decoration.cpp | 57 message_.result_id(), uint32_t(spv::Decoration::RelaxedPrecision)); in Apply() 67 bool TransformationAddRelaxedDecoration::IsNumeric(spv::Op opcode) { in IsNumeric() 69 case spv::Op::OpConvertFToU: in IsNumeric() 70 case spv::Op::OpConvertFToS: in IsNumeric() 71 case spv::Op::OpConvertSToF: in IsNumeric() 72 case spv::Op::OpConvertUToF: in IsNumeric() 73 case spv::Op::OpUConvert: in IsNumeric() 74 case spv::Op::OpSConvert: in IsNumeric() 75 case spv::Op::OpFConvert: in IsNumeric() 76 case spv in IsNumeric() [all...] |
H A D | transformation_invert_comparison_operator.cpp | 50 assert(fuzzerutil::CanInsertOpcodeBeforeInstruction(spv::Op::OpLogicalNot, in IsApplicable() 69 ir_context, spv::Op::OpLogicalNot, inst->type_id(), inst->result_id(), in Apply() 86 spv::Op opcode) { in IsInversionSupported() 88 case spv::Op::OpSGreaterThan: in IsInversionSupported() 89 case spv::Op::OpSGreaterThanEqual: in IsInversionSupported() 90 case spv::Op::OpSLessThan: in IsInversionSupported() 91 case spv::Op::OpSLessThanEqual: in IsInversionSupported() 92 case spv::Op::OpUGreaterThan: in IsInversionSupported() 93 case spv::Op::OpUGreaterThanEqual: in IsInversionSupported() 94 case spv in IsInversionSupported() [all...] |
H A D | transformation_propagate_instruction_up.cpp | 26 assert(phi_inst.opcode() == spv::Op::OpPhi && "|phi_inst| is not an OpPhi"); in GetResultIdFromLabelId() 69 dependency->opcode() != spv::Op::OpPhi) { in HasValidDependencies() 176 assert(dependency_inst->opcode() == spv::Op::OpPhi && in Apply() 194 MakeUnique<opt::Instruction>(ir_context, spv::Op::OpPhi, inst->type_id(), in Apply() 213 bool TransformationPropagateInstructionUp::IsOpcodeSupported(spv::Op opcode) { in IsOpcodeSupported() 219 case spv::Op::OpUndef: in IsOpcodeSupported() 220 case spv::Op::OpAccessChain: in IsOpcodeSupported() 221 case spv::Op::OpInBoundsAccessChain: in IsOpcodeSupported() 222 case spv::Op::OpArrayLength: in IsOpcodeSupported() 223 case spv in IsOpcodeSupported() [all...] |
H A D | transformation_add_no_contraction_decoration.cpp | 47 message_.result_id(), uint32_t(spv::Decoration::NoContraction)); in Apply() 57 bool TransformationAddNoContractionDecoration::IsArithmetic(spv::Op opcode) { in IsArithmetic() 59 case spv::Op::OpSNegate: in IsArithmetic() 60 case spv::Op::OpFNegate: in IsArithmetic() 61 case spv::Op::OpIAdd: in IsArithmetic() 62 case spv::Op::OpFAdd: in IsArithmetic() 63 case spv::Op::OpISub: in IsArithmetic() 64 case spv::Op::OpFSub: in IsArithmetic() 65 case spv::Op::OpIMul: in IsArithmetic() 66 case spv in IsArithmetic() [all...] |
/third_party/spirv-tools/source/val/ |
H A D | validate_capability.cpp | 30 switch (spv::Capability(capability)) { in IsSupportGuaranteedVulkan_1_0() 31 case spv::Capability::Matrix: in IsSupportGuaranteedVulkan_1_0() 32 case spv::Capability::Shader: in IsSupportGuaranteedVulkan_1_0() 33 case spv::Capability::InputAttachment: in IsSupportGuaranteedVulkan_1_0() 34 case spv::Capability::Sampled1D: in IsSupportGuaranteedVulkan_1_0() 35 case spv::Capability::Image1D: in IsSupportGuaranteedVulkan_1_0() 36 case spv::Capability::SampledBuffer: in IsSupportGuaranteedVulkan_1_0() 37 case spv::Capability::ImageBuffer: in IsSupportGuaranteedVulkan_1_0() 38 case spv::Capability::ImageQuery: in IsSupportGuaranteedVulkan_1_0() 39 case spv in IsSupportGuaranteedVulkan_1_0() [all...] |
H A D | validate_mode_setting.cpp | 30 if (!entry_point || spv::Op::OpFunction != entry_point->opcode()) { in ValidateEntryPoint() 37 const spv::ExecutionModel execution_model = in ValidateEntryPoint() 38 inst->GetOperandAs<spv::ExecutionModel>(0); in ValidateEntryPoint() 39 if (execution_model != spv::ExecutionModel::Kernel) { in ValidateEntryPoint() 51 if (!return_type || spv::Op::OpTypeVoid != return_type->opcode()) { in ValidateEntryPoint() 59 if (_.HasCapability(spv::Capability::Shader)) { in ValidateEntryPoint() 61 case spv::ExecutionModel::Fragment: in ValidateEntryPoint() 63 execution_modes->count(spv::ExecutionMode::OriginUpperLeft) && in ValidateEntryPoint() 64 execution_modes->count(spv::ExecutionMode::OriginLowerLeft)) { in ValidateEntryPoint() 71 (!execution_modes->count(spv in ValidateEntryPoint() [all...] |
H A D | validate_annotation.cpp | 27 bool DecorationTakesIdParameters(spv::Decoration type) { in DecorationTakesIdParameters() 29 case spv::Decoration::UniformId: in DecorationTakesIdParameters() 30 case spv::Decoration::AlignmentId: in DecorationTakesIdParameters() 31 case spv::Decoration::MaxByteOffsetId: in DecorationTakesIdParameters() 32 case spv::Decoration::HlslCounterBufferGOOGLE: in DecorationTakesIdParameters() 40 bool IsMemberDecorationOnly(spv::Decoration dec) { in IsMemberDecorationOnly() 42 case spv::Decoration::RowMajor: in IsMemberDecorationOnly() 43 case spv::Decoration::ColMajor: in IsMemberDecorationOnly() 44 case spv::Decoration::MatrixStride: in IsMemberDecorationOnly() 47 // case spv in IsMemberDecorationOnly() [all...] |
H A D | validate_scopes.cpp | 27 switch (static_cast<spv::Scope>(scope)) { in IsValidScope() 28 case spv::Scope::CrossDevice: in IsValidScope() 29 case spv::Scope::Device: in IsValidScope() 30 case spv::Scope::Workgroup: in IsValidScope() 31 case spv::Scope::Subgroup: in IsValidScope() 32 case spv::Scope::Invocation: in IsValidScope() 33 case spv::Scope::QueueFamilyKHR: in IsValidScope() 34 case spv::Scope::ShaderCallKHR: in IsValidScope() 36 case spv::Scope::Max: in IsValidScope() 44 spv in ValidateScope() [all...] |
H A D | validate_memory.cpp | 42 std::initializer_list<spv::Op> allowed) { in IsAllowedTypeOrArrayOfSame() 47 if (type->opcode() == spv::Op::OpTypeArray || in IsAllowedTypeOrArrayOfSame() 48 type->opcode() == spv::Op::OpTypeRuntimeArray) { in IsAllowedTypeOrArrayOfSame() 60 if (type1->opcode() != spv::Op::OpTypeStruct) { in AreLayoutCompatibleStructs() 63 if (type2->opcode() != spv::Op::OpTypeStruct) { in AreLayoutCompatibleStructs() 77 assert(type1->opcode() == spv::Op::OpTypeStruct && in HaveLayoutCompatibleMembers() 79 assert(type2->opcode() == spv::Op::OpTypeStruct && in HaveLayoutCompatibleMembers() 104 assert(type1->opcode() == spv::Op::OpTypeStruct && in HaveSameLayoutDecorations() 106 assert(type2->opcode() == spv::Op::OpTypeStruct && in HaveSameLayoutDecorations() 133 case spv in HasConflictingMemberOffsets() [all...] |
H A D | validate_image.cpp | 34 // Performs compile time check that all spv::ImageOperandsMask::XXX cases are 35 // handled in this module. If spv::ImageOperandsMask::XXX list changes, this 39 spv::ImageOperandsMask enum_val = spv::ImageOperandsMask::Bias; in CheckAllImageOperandsHandled() 45 enum_val = spv::ImageOperandsMask::Lod; in CheckAllImageOperandsHandled() 50 case spv::ImageOperandsMask::MaskNone: in CheckAllImageOperandsHandled() 52 case spv::ImageOperandsMask::Bias: in CheckAllImageOperandsHandled() 53 case spv::ImageOperandsMask::Lod: in CheckAllImageOperandsHandled() 54 case spv::ImageOperandsMask::Grad: in CheckAllImageOperandsHandled() 55 case spv in CheckAllImageOperandsHandled() [all...] |
H A D | validate_atomics.cpp | 30 bool IsStorageClassAllowedByUniversalRules(spv::StorageClass storage_class) { in IsStorageClassAllowedByUniversalRules() 32 case spv::StorageClass::Uniform: in IsStorageClassAllowedByUniversalRules() 33 case spv::StorageClass::StorageBuffer: in IsStorageClassAllowedByUniversalRules() 34 case spv::StorageClass::Workgroup: in IsStorageClassAllowedByUniversalRules() 35 case spv::StorageClass::CrossWorkgroup: in IsStorageClassAllowedByUniversalRules() 36 case spv::StorageClass::Generic: in IsStorageClassAllowedByUniversalRules() 37 case spv::StorageClass::AtomicCounter: in IsStorageClassAllowedByUniversalRules() 38 case spv::StorageClass::Image: in IsStorageClassAllowedByUniversalRules() 39 case spv::StorageClass::Function: in IsStorageClassAllowedByUniversalRules() 40 case spv in IsStorageClassAllowedByUniversalRules() [all...] |
/third_party/spirv-tools/test/ |
H A D | text_to_binary.extension_test.cpp | 90 MakeInstruction(spv::Op::OpExtInstImport, {1}, in TEST_F() 92 MakeInstruction(spv::Op::OpExtInstImport, {2}, in TEST_F() 95 spv::Op::OpExtInst, in TEST_F() 97 MakeInstruction(spv::Op::OpExtInst, in TEST_F() 150 MakeInstruction(spv::Op::OpCapability, in TEST_F() 151 {uint32_t(spv::Capability::SubgroupBallotKHR)})}, in TEST_F() 153 MakeInstruction(spv::Op::OpSubgroupBallotKHR, {1, 2, 3})}, in TEST_F() 155 MakeInstruction(spv::Op::OpSubgroupFirstInvocationKHR, {1, 2, 3})}, in TEST_F() 157 MakeInstruction(spv::Op::OpDecorate, in TEST_F() 158 {1, uint32_t(spv in TEST_F() [all...] |
H A D | enum_set_test.cpp | 55 spv::Capability::Matrix, 56 spv::Capability::Shader, 57 spv::Capability::Geometry, 58 spv::Capability::Tessellation, 59 spv::Capability::Addresses, 60 spv::Capability::Linkage, 61 spv::Capability::Kernel, 62 spv::Capability::Vector16, 63 spv::Capability::Float16Buffer, 64 spv [all...] |
H A D | enum_string_mapping_test.cpp | 37 ::testing::TestWithParam<std::pair<spv::Capability, std::string>>; 62 const std::pair<spv::Capability, std::string>& param = GetParam(); in TEST_P() 63 const spv::Capability capability = param.first; in TEST_P() 102 ValuesIn(std::vector<std::pair<spv::Capability, std::string>>( 103 {{spv::Capability::Matrix, "Matrix"}, 104 {spv::Capability::Shader, "Shader"}, 105 {spv::Capability::Geometry, "Geometry"}, 106 {spv::Capability::Tessellation, "Tessellation"}, 107 {spv::Capability::Addresses, "Addresses"}, 108 {spv [all...] |
/third_party/skia/third_party/externals/swiftshader/src/Pipeline/ |
H A D | SpirvShader.cpp | 71 spv::Op opcode = insn.opcode(); in robustBufferAccess() 75 case spv::OpEntryPoint: in robustBufferAccess() 77 spv::ExecutionModel executionModel = spv::ExecutionModel(insn.word(1)); in robustBufferAccess() 97 case spv::OpExecutionMode: in robustBufferAccess() 101 case spv::OpDecorate: in robustBufferAccess() 104 auto decoration = static_cast<spv::Decoration>(insn.word(2)); in robustBufferAccess() 111 case spv::DecorationDescriptorSet: in robustBufferAccess() 114 case spv::DecorationBinding: in robustBufferAccess() 117 case spv in robustBufferAccess() [all...] |
H A D | SpirvShaderInstructions.cpp | 23 const char *SpirvShader::OpcodeName(spv::Op op) in OpcodeName() 29 bool SpirvShader::IsStatement(spv::Op op) in IsStatement() 39 spv::HasResultAndType(op, &hasResult, &hasResultType); in IsStatement() 46 case spv::OpNop: in IsStatement() 47 case spv::OpStore: in IsStatement() 48 case spv::OpCopyMemory: in IsStatement() 49 case spv::OpCopyMemorySized: in IsStatement() 50 case spv::OpImageWrite: in IsStatement() 51 case spv::OpEmitVertex: in IsStatement() 52 case spv in IsStatement() [all...] |
H A D | SpirvShaderSpec.cpp | 23 auto opcode = static_cast<spv::Op>(insn.word(3)); in EvalSpecConstantOp() 27 case spv::OpIAdd: in EvalSpecConstantOp() 28 case spv::OpISub: in EvalSpecConstantOp() 29 case spv::OpIMul: in EvalSpecConstantOp() 30 case spv::OpUDiv: in EvalSpecConstantOp() 31 case spv::OpSDiv: in EvalSpecConstantOp() 32 case spv::OpUMod: in EvalSpecConstantOp() 33 case spv::OpSMod: in EvalSpecConstantOp() 34 case spv::OpSRem: in EvalSpecConstantOp() 35 case spv in EvalSpecConstantOp() [all...] |
/third_party/glslang/SPIRV/ |
H A D | SPVRemapper.cpp | 43 namespace spv { namespace 60 const spv::Op opCode = asOpCode(word); in asOpCodeHash() 65 case spv::OpExtInst: in asOpCodeHash() 74 spirvbin_t::range_t spirvbin_t::literalRange(spv::Op opCode) const in literalRange() 79 case spv::OpTypeFloat: // fall through... in literalRange() 80 case spv::OpTypePointer: return range_t(2, 3); in literalRange() 81 case spv::OpTypeInt: return range_t(2, 4); in literalRange() 82 // TODO: case spv::OpTypeImage: in literalRange() 83 // TODO: case spv::OpTypeSampledImage: in literalRange() 84 case spv in literalRange() [all...] |
H A D | GlslangToSpv.cpp | 47 namespace spv { namespace 80 SpecConstantOpModeGuard(spv::Builder* builder) in SpecConstantOpModeGuard() 93 spv::Builder* builder_; 99 OpDecorations(spv::Decoration precision, spv::Decoration noContraction, spv::Decoration nonUniform) : in OpDecorations() 106 spv::Decoration precision; 108 void addNoContraction(spv::Builder& builder, spv::Id t) { builder.addDecoration(t, noContraction); } in addNoContraction() 109 void addNonUniform(spv in addNoContraction() [all...] |
H A D | SPVRemapper.h | 44 namespace spv { namespace 81 namespace spv { namespace 88 spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose), errorLatch(false) in spirvbin_t() 94 void remap(std::vector<std::uint32_t>& spv, const std::vector<std::string>& whiteListStrings, 98 void remap(std::vector<std::uint32_t>& spv, std::uint32_t opts = DO_EVERYTHING); 114 typedef std::unordered_map<spv::Id, spv::Id> idmap_t; 115 typedef std::unordered_set<spv::Id> idset_t; 116 typedef std::unordered_map<spv::Id, int> blockmap_t; 121 typedef std::unordered_map<std::string, spv 229 std::vector<spirword_t> spv; // SPIR words global() member in spv::spirvbin_t [all...] |
/third_party/spirv-tools/source/opt/ |
H A D | relax_float_ops_pass.cpp | 28 (inst->opcode() == spv::Op::OpExtInst && in IsRelaxable() 49 if (r_inst->opcode() == spv::Op::OpDecorate && in IsRelaxed() 50 spv::Decoration(r_inst->GetSingleWordInOperand(1)) == in IsRelaxed() 51 spv::Decoration::RelaxedPrecision) in IsRelaxed() 63 r_id, uint32_t(spv::Decoration::RelaxedPrecision)); in ProcessInst() 92 spv::Op::OpLoad, in Initialize() 93 spv::Op::OpPhi, in Initialize() 94 spv::Op::OpVectorExtractDynamic, in Initialize() 95 spv::Op::OpVectorInsertDynamic, in Initialize() 96 spv in Initialize() [all...] |
H A D | instruction.cpp | 51 opcode_(spv::Op::OpNop), in Instruction() 57 Instruction::Instruction(IRContext* c, spv::Op op) in Instruction() 70 opcode_(static_cast<spv::Op>(inst.opcode)), in Instruction() 91 opcode_(static_cast<spv::Op>(inst.opcode)), in Instruction() 105 Instruction::Instruction(IRContext* c, spv::Op op, uint32_t ty_id, in Instruction() 191 if (opcode_ == spv::Op::OpBranchConditional && in HasBranchWeights() 220 if (address_def->opcode() == spv::Op::OpVariable) { in IsReadOnlyLoad() 226 if (address_def->opcode() == spv::Op::OpLoad) { in IsReadOnlyLoad() 247 case spv::Op::OpAccessChain: in GetBaseAddress() 248 case spv in GetBaseAddress() [all...] |
/third_party/spirv-tools/test/fuzz/ |
H A D | transformation_set_loop_control_test.cpp | 282 10, (uint32_t)spv::LoopControlMask::MaskNone, 0, 0) in TEST() 285 10, (uint32_t)spv::LoopControlMask::Unroll, 0, 0) in TEST() 288 10, (uint32_t)spv::LoopControlMask::DontUnroll, 0, 0) in TEST() 291 10, (uint32_t)spv::LoopControlMask::DependencyInfinite, 0, 0) in TEST() 294 10, (uint32_t)spv::LoopControlMask::DependencyLength, 0, 0) in TEST() 297 10, (uint32_t)spv::LoopControlMask::MinIterations, 0, 0) in TEST() 300 10, (uint32_t)spv::LoopControlMask::MaxIterations, 0, 0) in TEST() 303 10, (uint32_t)spv::LoopControlMask::IterationMultiple, 0, 0) in TEST() 306 10, (uint32_t)spv::LoopControlMask::PeelCount, 3, 0) in TEST() 309 10, (uint32_t)spv in TEST() [all...] |