summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-05-17 18:09:03 +0200
committerNicolai Hähnle <[email protected]>2017-07-05 12:27:11 +0200
commitfb1c4e3d4764f64a1a5e2f84bc1d825bb392a847 (patch)
treec0d91e9009f9b6409a27f68c45cd1591a6af4d18 /src/gallium
parent497b95fdf641eb5e52de1a6a51d251ee2b3bdb2d (diff)
tgsi_from_mesa: add pipe_shader_type_from_mesa
So... the pipe_ prefix doesn't really fit into a TGSI header; on the other hand, the return type has the pipe_ prefix. Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_from_mesa.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h b/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h
index 4c708f4e59f..d0f211e31e0 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h
@@ -26,6 +26,8 @@
#include <stdbool.h>
+#include "pipe/p_compiler.h"
+#include "pipe/p_defines.h"
#include "pipe/p_shader_tokens.h"
#include "compiler/shader_enums.h"
@@ -40,4 +42,25 @@ unsigned
tgsi_get_generic_gl_varying_index(gl_varying_slot attr,
bool needs_texcoord_semantic);
+static inline enum pipe_shader_type
+pipe_shader_type_from_mesa(gl_shader_stage stage)
+{
+ switch (stage) {
+ case MESA_SHADER_VERTEX:
+ return PIPE_SHADER_VERTEX;
+ case MESA_SHADER_TESS_CTRL:
+ return PIPE_SHADER_TESS_CTRL;
+ case MESA_SHADER_TESS_EVAL:
+ return PIPE_SHADER_TESS_EVAL;
+ case MESA_SHADER_GEOMETRY:
+ return PIPE_SHADER_GEOMETRY;
+ case MESA_SHADER_FRAGMENT:
+ return PIPE_SHADER_FRAGMENT;
+ case MESA_SHADER_COMPUTE:
+ return PIPE_SHADER_COMPUTE;
+ default:
+ unreachable("bad shader stage");
+ }
+}
+
#endif /* TGSI_FROM_MESA_H */