diff options
Diffstat (limited to 'src/gallium/drivers/d3d12/d3d12_nir_passes.h')
-rw-r--r-- | src/gallium/drivers/d3d12/d3d12_nir_passes.h | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/src/gallium/drivers/d3d12/d3d12_nir_passes.h b/src/gallium/drivers/d3d12/d3d12_nir_passes.h index 38d36206caf..ee3560dac05 100644 --- a/src/gallium/drivers/d3d12/d3d12_nir_passes.h +++ b/src/gallium/drivers/d3d12/d3d12_nir_passes.h @@ -25,12 +25,30 @@ #define D3D12_NIR_PASSES_H #include "nir.h" +#include "nir_builder.h" #ifdef __cplusplus extern "C" { #endif struct d3d12_shader; +struct d3d12_image_format_conversion_info; +struct d3d12_image_format_conversion_info_arr; +enum d3d12_state_var; + +nir_def * +d3d12_get_state_var(nir_builder *b, + enum d3d12_state_var var_enum, + const char *var_name, + const struct glsl_type *var_type, + nir_variable **out_var); + +nir_def * +d3d12_get_state_var(nir_builder *b, + enum d3d12_state_var var_enum, + const char *var_name, + const struct glsl_type *var_type, + nir_variable **out_var); bool d3d12_lower_point_sprite(nir_shader *shader, @@ -46,16 +64,16 @@ void d3d12_lower_yflip(nir_shader *s); void -d3d12_forward_front_face(nir_shader *nir); - -void d3d12_lower_depth_range(nir_shader *nir); bool -d3d12_lower_load_first_vertex(nir_shader *nir); +d3d12_lower_load_draw_params(nir_shader *nir); + +bool +d3d12_lower_load_patch_vertices_in(nir_shader *nir); bool -d3d12_lower_bool_input(struct nir_shader *s); +d3d12_lower_compute_state_vars(nir_shader *nir); void d3d12_lower_uint_cast(nir_shader *nir, bool is_signed); @@ -68,22 +86,25 @@ bool d3d12_fix_io_uint_type(struct nir_shader *s, uint64_t in_mask, uint64_t out_mask); void -d3d12_nir_invert_depth(nir_shader *s); +d3d12_nir_invert_depth(nir_shader *s, unsigned viewport_mask, bool clip_halfz); -bool -d3d12_lower_int_cubmap_to_array(nir_shader *s); +void +d3d12_lower_primitive_id(nir_shader *shader); + +void +d3d12_lower_triangle_strip(nir_shader *shader); bool -nir_lower_packed_ubo_loads(struct nir_shader *nir); +d3d12_lower_image_casts(nir_shader *s, struct d3d12_image_format_conversion_info_arr *info); bool -d3d12_nir_lower_vs_vertex_conversion(nir_shader *s, enum pipe_format target_formats[]); +d3d12_disable_multisampling(nir_shader *s); -void -d3d12_lower_primitive_id(nir_shader *shader); +bool +d3d12_split_needed_varyings(nir_shader *s); void -d3d12_lower_triangle_strip(nir_shader *shader); +d3d12_write_0_to_new_varying(nir_shader *s, nir_variable *var); #ifdef __cplusplus } |