compiler: auto-stage file ext for SPIR-V capture
Reviewed-by: Natalie Vock <natalie.vock@gmx.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36472>
This commit is contained in:
committed by
Marge Bot
parent
df2f7bda4f
commit
72a43c76c2
@@ -113,6 +113,33 @@ _mesa_shader_stage_to_abbrev(unsigned stage)
|
||||
UNREACHABLE("Unknown shader stage.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a gl_shader_stage to a shader stage file extension
|
||||
* that's easily consumed by glslang.
|
||||
*/
|
||||
const char *
|
||||
_mesa_shader_stage_to_file_ext(unsigned stage)
|
||||
{
|
||||
switch (stage) {
|
||||
case MESA_SHADER_VERTEX: return "vert";
|
||||
case MESA_SHADER_FRAGMENT: return "frag";
|
||||
case MESA_SHADER_GEOMETRY: return "geom";
|
||||
case MESA_SHADER_COMPUTE: return "comp";
|
||||
case MESA_SHADER_TESS_CTRL: return "tesc";
|
||||
case MESA_SHADER_TESS_EVAL: return "tese";
|
||||
case MESA_SHADER_TASK: return "task";
|
||||
case MESA_SHADER_MESH: return "mesh";
|
||||
case MESA_SHADER_RAYGEN: return "rgen";
|
||||
case MESA_SHADER_ANY_HIT: return "rahit";
|
||||
case MESA_SHADER_CLOSEST_HIT: return "rchit";
|
||||
case MESA_SHADER_MISS: return "rmiss";
|
||||
case MESA_SHADER_INTERSECTION: return "rint";
|
||||
case MESA_SHADER_CALLABLE: return "rcall";
|
||||
}
|
||||
|
||||
UNREACHABLE("Unknown shader stage.");
|
||||
}
|
||||
|
||||
const char *
|
||||
gl_vert_attrib_name(gl_vert_attrib attrib)
|
||||
{
|
||||
|
||||
@@ -163,6 +163,13 @@ const char *_mesa_shader_stage_to_string(unsigned stage);
|
||||
*/
|
||||
const char *_mesa_shader_stage_to_abbrev(unsigned stage);
|
||||
|
||||
|
||||
/**
|
||||
* Translate a gl_shader_stage to a shader stage file extension
|
||||
* that's easily consumed by glslang.
|
||||
*/
|
||||
const char *_mesa_shader_stage_to_file_ext(unsigned stage);
|
||||
|
||||
/**
|
||||
* GL related stages (not including CL)
|
||||
*/
|
||||
@@ -1530,7 +1537,7 @@ enum float_controls
|
||||
FLOAT_CONTROLS_SIGNED_ZERO_PRESERVE_FP64 |
|
||||
FLOAT_CONTROLS_INF_PRESERVE_FP64 |
|
||||
FLOAT_CONTROLS_NAN_PRESERVE_FP64,
|
||||
|
||||
|
||||
FLOAT_CONTROLS_SIGNED_ZERO_PRESERVE =
|
||||
FLOAT_CONTROLS_SIGNED_ZERO_PRESERVE_FP16 |
|
||||
FLOAT_CONTROLS_SIGNED_ZERO_PRESERVE_FP32 |
|
||||
|
||||
@@ -346,8 +346,9 @@ static void
|
||||
vtn_dump_shader(struct vtn_builder *b, const char *path, const char *name)
|
||||
{
|
||||
char filename[PATH_MAX];
|
||||
int len = snprintf(filename, sizeof(filename), "%s/0x%s.spirv",
|
||||
path, name);
|
||||
const char* stage_ext = _mesa_shader_stage_to_file_ext(b->entry_point_stage);
|
||||
int len = snprintf(filename, sizeof(filename), "%s/0x%s.%s",
|
||||
path, name, stage_ext);
|
||||
if (len < 0 || len >= sizeof(filename))
|
||||
return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user