MCPcopy Create free account
hub / github.com/KhronosGroup/SPIRV-Tools / ValidateShaderBitWidth

Function ValidateShaderBitWidth

source/val/validate_conversion.cpp:29–40  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27namespace val {
28
29spv_result_t ValidateShaderBitWidth(ValidationState_t& _,
30 const Instruction* inst) {
31 if (_.HasCapability(spv::Capability::Shader)) {
32 if (_.ContainsLimitedUseIntOrFloatType(inst->type_id()) ||
33 _.ContainsLimitedUseIntOrFloatType(_.GetOperandTypeId(inst, 2u))) {
34 return _.diag(SPV_ERROR_INVALID_DATA, inst)
35 << "8- or 16-bit types can only be used with width-only "
36 "conversions";
37 }
38 }
39 return SPV_SUCCESS;
40}
41
42spv_result_t ValidateConvertFToU(ValidationState_t& _, const Instruction* inst,
43 uint32_t operand_index = 2) {

Callers 4

ValidateConvertFToUFunction · 0.85
ValidateConvertFToSFunction · 0.85
ValidateConvertIntToFFunction · 0.85
ValidateBitcastFunction · 0.85

Calls 5

GetOperandTypeIdMethod · 0.80
diagMethod · 0.80
HasCapabilityMethod · 0.45
type_idMethod · 0.45

Tested by

no test coverage detected