radeonsi: disallow compute-based culling if polygon mode is enabled
[mesa.git] / src / gallium / drivers / radeonsi / si_state.h
index 88e01512cd6a274fd7405c9f3895fe59f814e887..d334a5196d1d51dc0c567cca6cf61fe98e8bfd13 100644 (file)
@@ -94,6 +94,7 @@ struct si_state_rasterizer {
        unsigned                cull_back:1;
        unsigned                depth_clamp_any:1;
        unsigned                provoking_vertex_first:1;
+       unsigned                polygon_mode_enabled:1;
 };
 
 struct si_dsa_stencil_ref_part {
@@ -583,10 +584,13 @@ si_compute_fast_udiv_info32(uint32_t D, unsigned num_bits);
 void si_emit_dpbb_state(struct si_context *sctx);
 
 /* si_state_shaders.c */
-void *si_get_ir_binary(struct si_shader_selector *sel, bool ngg, bool es);
-bool si_shader_cache_load_shader(struct si_screen *sscreen, void *ir_binary,
+void si_get_ir_cache_key(struct si_shader_selector *sel, bool ngg, bool es,
+                        unsigned char ir_sha1_cache_key[20]);
+bool si_shader_cache_load_shader(struct si_screen *sscreen,
+                                unsigned char ir_sha1_cache_key[20],
                                 struct si_shader *shader);
-bool si_shader_cache_insert_shader(struct si_screen *sscreen, void *ir_binary,
+void si_shader_cache_insert_shader(struct si_screen *sscreen,
+                                  unsigned char ir_sha1_cache_key[20],
                                   struct si_shader *shader,
                                   bool insert_into_disk_cache);
 bool si_update_shaders(struct si_context *sctx);