[Mesa-dev] [PATCH 11/92] tgsi_from_mesa: add pipe_shader_type_from_mesa

Nicolai Hähnle nhaehnle at gmail.com
Mon Jun 26 14:09:50 UTC 2017


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

So... the pipe_ prefix doesn't really fit into a TGSI header; on the
other hand, the return type has the pipe_ prefix.
---
 src/gallium/auxiliary/tgsi/tgsi_from_mesa.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h b/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h
index 4c708f4..d0f211e 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h
@@ -19,25 +19,48 @@
  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  * USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 #ifndef TGSI_FROM_MESA_H
 #define TGSI_FROM_MESA_H
 
 #include <stdbool.h>
 
+#include "pipe/p_compiler.h"
+#include "pipe/p_defines.h"
 #include "pipe/p_shader_tokens.h"
 
 #include "compiler/shader_enums.h"
 
 void
 tgsi_get_gl_varying_semantic(gl_varying_slot attr,
                              bool needs_texcoord_semantic,
                              unsigned *semantic_name,
                              unsigned *semantic_index);
 
 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 */
-- 
2.9.3



More information about the mesa-dev mailing list