44 {
45 using Type = spirv_cross::SPIRType::BaseType;
47 case Type::Void:
48 return "ShaderType::kVoid";
49 case Type::Boolean:
50 return "ShaderType::kBoolean";
51 case Type::SByte:
52 return "ShaderType::kSignedByte";
53 case Type::UByte:
54 return "ShaderType::kUnsignedByte";
55 case Type::Short:
56 return "ShaderType::kSignedShort";
57 case Type::UShort:
58 return "ShaderType::kUnsignedShort";
59 case Type::Int:
60 return "ShaderType::kSignedInt";
61 case Type::UInt:
62 return "ShaderType::kUnsignedInt";
63 case Type::Int64:
64 return "ShaderType::kSignedInt64";
65 case Type::UInt64:
66 return "ShaderType::kUnsignedInt64";
67 case Type::AtomicCounter:
68 return "ShaderType::kAtomicCounter";
69 case Type::Half:
70 return "ShaderType::kHalfFloat";
71 case Type::Float:
72 return "ShaderType::kFloat";
73 case Type::Double:
74 return "ShaderType::kDouble";
75 case Type::Struct:
76 return "ShaderType::kStruct";
78 return "ShaderType::kImage";
79 case Type::SampledImage:
80 return "ShaderType::kSampledImage";
82 return "ShaderType::kSampler";
83 default:
84 return "ShaderType::kUnknown";
85 }
87 }
#define FML_UNREACHABLE()
std::function< ProfileSample(void)> Sampler
Sampler is run during SamplingProfiler::SampleRepeatedly. Each platform should implement its version ...