meson: Use dependencies for nir
[mesa.git] / src / mesa / state_tracker / st_glsl_to_tgsi.h
index d877471785d5d3cd6ba6225acf2c53d14bffa5bf..37dfdb3c140f6ec396dd79082373a3f7784c3a81 100644 (file)
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include "pipe/p_defines.h"
+#include "main/mtypes.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#include "main/glheader.h"
-#include "tgsi/tgsi_ureg.h"
-
 struct gl_context;
 struct gl_shader;
 struct gl_shader_program;
 struct glsl_to_tgsi_visitor;
+struct ureg_program;
 
 enum pipe_error st_translate_program(
    struct gl_context *ctx,
@@ -41,31 +42,32 @@ enum pipe_error st_translate_program(
    struct glsl_to_tgsi_visitor *program,
    const struct gl_program *proginfo,
    GLuint numInputs,
-   const GLuint inputMapping[],
+   const ubyte inputMapping[],
+   const ubyte inputSlotToAttr[],
    const ubyte inputSemanticName[],
    const ubyte inputSemanticIndex[],
-   const GLuint interpMode[],
+   const ubyte interpMode[],
    GLuint numOutputs,
-   const GLuint outputMapping[],
+   const ubyte outputMapping[],
    const ubyte outputSemanticName[],
-   const ubyte outputSemanticIndex[],
-   boolean passthrough_edgeflags);
+   const ubyte outputSemanticIndex[]);
 
 void free_glsl_to_tgsi_visitor(struct glsl_to_tgsi_visitor *v);
-void get_pixel_transfer_visitor(struct st_fragment_program *fp,
-                                struct glsl_to_tgsi_visitor *original,
-                                int scale_and_bias, int pixel_maps);
-void get_bitmap_visitor(struct st_fragment_program *fp,
-                        struct glsl_to_tgsi_visitor *original,
-                        int samplerIndex);
 
-struct gl_shader *st_new_shader(struct gl_context *ctx, GLuint name, GLuint type);
+GLboolean st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog);
 
-struct gl_shader_program *
-st_new_shader_program(struct gl_context *ctx, GLuint name);
+void
+st_translate_stream_output_info(struct glsl_to_tgsi_visitor *glsl_to_tgsi,
+                                const ubyte outputMapping[],
+                                struct pipe_stream_output_info *so);
 
-void st_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog);
-GLboolean st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog);
+void
+st_translate_stream_output_info2(struct gl_transform_feedback_info *info,
+                                const ubyte outputMapping[],
+                                struct pipe_stream_output_info *so);
+
+unsigned
+_mesa_sysval_to_semantic(unsigned sysval);
 
 #ifdef __cplusplus
 }