summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/d3d12/d3d12_nir_passes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/d3d12/d3d12_nir_passes.h')
-rw-r--r--src/gallium/drivers/d3d12/d3d12_nir_passes.h47
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
}