mesa: fix fallthrough in glformats
[mesa.git] / src / mesa / state_tracker / st_nir.h
index aa6e32758e86645c6ddd21e319d170d303e81d1e..43f2a91702290c58a33e2ed72fb29d0e64330414 100644 (file)
@@ -36,18 +36,45 @@ struct nir_shader;
 void st_nir_lower_builtin(struct nir_shader *shader);
 void st_nir_lower_tex_src_plane(struct nir_shader *shader, unsigned free_slots,
                                 unsigned lower_2plane, unsigned lower_3plane);
-bool st_nir_lower_uniforms_to_ubo(struct nir_shader *shader);
+
+void st_nir_lower_wpos_ytransform(struct nir_shader *nir,
+                                  struct gl_program *prog,
+                                  struct pipe_screen *pscreen);
 
 void st_finalize_nir(struct st_context *st, struct gl_program *prog,
                      struct gl_shader_program *shader_program,
-                     struct nir_shader *nir);
+                     struct nir_shader *nir, bool finalize_by_driver);
 
-void st_nir_opts(struct nir_shader *nir, bool is_scalar);
+void st_nir_opts(struct nir_shader *nir);
 
 bool
 st_link_nir(struct gl_context *ctx,
             struct gl_shader_program *shader_program);
 
+void st_nir_assign_vs_in_locations(struct nir_shader *nir);
+void st_nir_assign_varying_locations(struct st_context *st,
+                                     struct nir_shader *nir);
+
+void st_nir_lower_samplers(struct pipe_screen *screen, struct nir_shader *nir,
+                           struct gl_shader_program *shader_program,
+                           struct gl_program *prog);
+void st_nir_lower_uniforms(struct st_context *st, struct nir_shader *nir);
+
+struct pipe_shader_state *
+st_nir_finish_builtin_shader(struct st_context *st,
+                             struct nir_shader *nir,
+                             const char *name);
+
+struct pipe_shader_state *
+st_nir_make_passthrough_shader(struct st_context *st,
+                               const char *shader_name,
+                               gl_shader_stage stage,
+                               unsigned num_vars,
+                               unsigned *input_locations,
+                               unsigned *output_locations,
+                               unsigned *interpolation_modes,
+                               unsigned sysval_mask);
+
 #ifdef __cplusplus
 }
 #endif