MCPcopy Create free account
hub / github.com/dfranx/ShaderDebugger / m_convertType

Method m_convertType

src/HLSLCompiler.cpp:24–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22namespace sd
23{
24 HLSLCompiler::ExpressionType HLSLCompiler::m_convertType(const M4::HLSLBaseType& type, const char* userDefined)
25 {
26 switch (type)
27 {
28 case M4::HLSLBaseType_Void: return ExpressionType("void", ag::Type::Void);
29 case M4::HLSLBaseType_Float: return ExpressionType("float", ag::Type::Float);
30 case M4::HLSLBaseType_Half: return ExpressionType("half", ag::Type::Float);
31 case M4::HLSLBaseType_Bool: return ExpressionType("bool", ag::Type::UChar);
32 case M4::HLSLBaseType_Int: return ExpressionType("int", ag::Type::Int);
33 case M4::HLSLBaseType_Uint: return ExpressionType("uint", ag::Type::UInt);
34 case M4::HLSLBaseType_Float2: return ExpressionType("float2", ag::Type::Float, 1, 2);
35 case M4::HLSLBaseType_Float3: return ExpressionType("float3", ag::Type::Float, 1, 3);
36 case M4::HLSLBaseType_Float4: return ExpressionType("float4", ag::Type::Float, 1, 4);
37 case M4::HLSLBaseType_Float2x2: return ExpressionType("float2x2", ag::Type::Float, 2, 2);
38 case M4::HLSLBaseType_Float3x3: return ExpressionType("float3x3", ag::Type::Float, 3, 3);
39 case M4::HLSLBaseType_Float4x4: return ExpressionType("float4x4", ag::Type::Float, 4, 4);
40 case M4::HLSLBaseType_Float4x3: return ExpressionType("float4x3", ag::Type::Float, 3, 4);
41 case M4::HLSLBaseType_Float4x2: return ExpressionType("float4x2", ag::Type::Float, 2, 4);
42 case M4::HLSLBaseType_Half2: return ExpressionType("float2", ag::Type::Float, 1, 2);
43 case M4::HLSLBaseType_Half3: return ExpressionType("float3", ag::Type::Float, 1, 3);
44 case M4::HLSLBaseType_Half4: return ExpressionType("float4", ag::Type::Float, 1, 4);
45 case M4::HLSLBaseType_Half2x2: return ExpressionType("float2x2", ag::Type::Float, 2, 2);
46 case M4::HLSLBaseType_Half3x3: return ExpressionType("float3x3", ag::Type::Float, 3, 3);
47 case M4::HLSLBaseType_Half4x4: return ExpressionType("float4x4", ag::Type::Float, 4, 4);
48 case M4::HLSLBaseType_Half4x3: return ExpressionType("float4x3", ag::Type::Float, 3, 4);
49 case M4::HLSLBaseType_Half4x2: return ExpressionType("float4x2", ag::Type::Float, 2, 4);
50 case M4::HLSLBaseType_Bool2: return ExpressionType("bool2", ag::Type::UChar, 1, 2);
51 case M4::HLSLBaseType_Bool3: return ExpressionType("bool3", ag::Type::UChar, 1, 3);
52 case M4::HLSLBaseType_Bool4: return ExpressionType("bool4", ag::Type::UChar, 1, 4);
53 case M4::HLSLBaseType_Int2: return ExpressionType("int2", ag::Type::Int, 1, 2);
54 case M4::HLSLBaseType_Int3: return ExpressionType("int3", ag::Type::Int, 1, 3);
55 case M4::HLSLBaseType_Int4: return ExpressionType("int4", ag::Type::Int, 1, 4);
56 case M4::HLSLBaseType_Uint2: return ExpressionType("uint2", ag::Type::UInt, 1, 2);
57 case M4::HLSLBaseType_Uint3: return ExpressionType("uint3", ag::Type::UInt, 1, 3);
58 case M4::HLSLBaseType_Uint4: return ExpressionType("uint4", ag::Type::UInt, 1, 4);
59 case M4::HLSLBaseType_Texture1D: return ExpressionType("Texture1D", ag::Type::Object);
60 case M4::HLSLBaseType_Texture2D: return ExpressionType("Texture2D", ag::Type::Object);
61 case M4::HLSLBaseType_Texture3D: return ExpressionType("Texture3D", ag::Type::Object);
62 case M4::HLSLBaseType_TextureCube: return ExpressionType("TextureCube", ag::Type::Object);
63 case M4::HLSLBaseType_TextureCubeArray: return ExpressionType("TextureCubeArray", ag::Type::Object);
64 case M4::HLSLBaseType_Texture2DMS: return ExpressionType("Texture2DMS", ag::Type::Object);
65 case M4::HLSLBaseType_Texture1DArray: return ExpressionType("Texture1DArray", ag::Type::Object);
66 case M4::HLSLBaseType_Texture2DArray: return ExpressionType("Texture2DArray", ag::Type::Object);
67 case M4::HLSLBaseType_Texture2DMSArray: return ExpressionType("Texture2DMSArray", ag::Type::Object);
68 case M4::HLSLBaseType_RWTexture1D: return ExpressionType("RWTexture1D", ag::Type::Object);
69 case M4::HLSLBaseType_RWTexture2D: return ExpressionType("RWTexture2D", ag::Type::Object);
70 case M4::HLSLBaseType_RWTexture3D: return ExpressionType("RWTexture3D", ag::Type::Object);
71 case M4::HLSLBaseType_SamplerState: return ExpressionType("SamplerState", ag::Type::Object);
72 case M4::HLSLBaseType_UserDefined: return ExpressionType(userDefined, ag::Type::Object);
73 default: return ExpressionType("void", ag::Type::Void);
74 }
75 }
76 HLSLCompiler::ExpressionType HLSLCompiler::m_convertType(const M4::HLSLType& type)
77 {
78 return m_convertType(type.baseType, type.typeName);

Callers

nothing calls this directly

Calls 1

ExpressionTypeClass · 0.50

Tested by

no test coverage detected