2
3
4
5
18 case Spices::ShaderStage::vert:
20 case Spices::ShaderStage::geom:
22 case Spices::ShaderStage::tesc:
24 case Spices::ShaderStage::tese:
26 case Spices::ShaderStage::frag:
28 case Spices::ShaderStage::task:
30 case Spices::ShaderStage::mesh:
32 case Spices::ShaderStage::rgen:
34 case Spices::ShaderStage::rint:
36 case Spices::ShaderStage::rchit:
38 case Spices::ShaderStage::rahit:
40 case Spices::ShaderStage::rmiss:
42 case Spices::ShaderStage::comp:
44 case Spices::ShaderStage::glsl:
47 SPICES_CORE_WARN(
"Not supported shader stage")
60 else if (stage ==
"geom")
64 else if (stage ==
"tesc")
68 else if (stage ==
"tese")
72 else if (stage ==
"frag")
76 else if (stage ==
"task")
80 else if (stage ==
"mesh")
84 else if (stage ==
"rgen")
88 else if (stage ==
"rint")
92 else if (stage ==
"rchit")
96 else if (stage ==
"rahit")
100 else if (stage ==
"rmiss")
104 else if (stage ==
"comp")
108 else if (stage ==
"glsl")
114 SPICES_CORE_WARN(
"Not supported shader stage")
125 case Spices::ShaderStage::vert:
126 return shaderc_shader_kind::shaderc_vertex_shader;
127 case Spices::ShaderStage::geom:
128 return shaderc_shader_kind::shaderc_geometry_shader;
129 case Spices::ShaderStage::tesc:
130 return shaderc_shader_kind::shaderc_tess_control_shader;
131 case Spices::ShaderStage::tese:
132 return shaderc_shader_kind::shaderc_tess_evaluation_shader;
133 case Spices::ShaderStage::frag:
134 return shaderc_shader_kind::shaderc_fragment_shader;
135 case Spices::ShaderStage::task:
136 return shaderc_shader_kind::shaderc_task_shader;
137 case Spices::ShaderStage::mesh:
138 return shaderc_shader_kind::shaderc_mesh_shader;
139 case Spices::ShaderStage::rgen:
140 return shaderc_shader_kind::shaderc_raygen_shader;
141 case Spices::ShaderStage::rint:
142 return shaderc_shader_kind::shaderc_intersection_shader;
143 case Spices::ShaderStage::rchit:
144 return shaderc_shader_kind::shaderc_closesthit_shader;
145 case Spices::ShaderStage::rahit:
146 return shaderc_shader_kind::shaderc_anyhit_shader;
147 case Spices::ShaderStage::rmiss:
148 return shaderc_shader_kind::shaderc_miss_shader;
149 case Spices::ShaderStage::comp:
150 return shaderc_shader_kind::shaderc_compute_shader;
152 SPICES_CORE_WARN(
"Not supported shader stage")
153 return shaderc_shader_kind::shaderc_glsl_infer_from_source;
163 case Spices::ShaderStage::vert:
164 return VK_SHADER_STAGE_VERTEX_BIT;
165 case Spices::ShaderStage::geom:
166 return VK_SHADER_STAGE_GEOMETRY_BIT;
167 case Spices::ShaderStage::tesc:
168 return VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
169 case Spices::ShaderStage::tese:
170 return VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
171 case Spices::ShaderStage::frag:
172 return VK_SHADER_STAGE_FRAGMENT_BIT;
173 case Spices::ShaderStage::task:
174 return VK_SHADER_STAGE_TASK_BIT_EXT;
175 case Spices::ShaderStage::mesh:
176 return VK_SHADER_STAGE_MESH_BIT_EXT;
177 case Spices::ShaderStage::rgen:
178 return VK_SHADER_STAGE_RAYGEN_BIT_KHR;
179 case Spices::ShaderStage::rint:
180 return VK_SHADER_STAGE_INTERSECTION_BIT_KHR;
181 case Spices::ShaderStage::rchit:
182 return VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR;
183 case Spices::ShaderStage::rahit:
184 return VK_SHADER_STAGE_ANY_HIT_BIT_KHR;
185 case Spices::ShaderStage::rmiss:
186 return VK_SHADER_STAGE_MISS_BIT_KHR;
187 case Spices::ShaderStage::comp:
188 return VK_SHADER_STAGE_COMPUTE_BIT;
190 SPICES_CORE_WARN(
"Not supported shader stage")
191 return VK_SHADER_STAGE_VERTEX_BIT;
#define SPICES_PROFILE_ZONE
static std::string ToString(ShaderStage stage)
Convert ShaderStage to String.
static ShaderStage ToStage(std::string stage)
Convert String to ShaderStage.
ShaderStage
enum of shader stage.