diff options
Diffstat (limited to 'src/gallium/drivers/radeonsi/radeonsi_pipe.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_pipe.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.h b/src/gallium/drivers/radeonsi/radeonsi_pipe.h index a0abdec9a2e..d0f04f40562 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_pipe.h +++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.h @@ -87,6 +87,7 @@ struct r600_textures_info { struct si_pipe_sampler_view *views[NUM_TEX_UNITS]; struct si_pipe_sampler_state *samplers[NUM_TEX_UNITS]; unsigned n_views; + uint32_t depth_texture_mask; /* which textures are depth */ unsigned n_samplers; bool samplers_dirty; bool is_array_sampler[NUM_TEX_UNITS]; @@ -114,7 +115,10 @@ struct r600_context { struct blitter_context *blitter; enum radeon_family family; enum chip_class chip_class; - void *custom_dsa_flush; + void *custom_dsa_flush_depth_stencil; + void *custom_dsa_flush_depth; + void *custom_dsa_flush_stencil; + void *custom_dsa_flush_inplace; struct r600_screen *screen; struct radeon_winsys *ws; struct si_vertex_element *vertex_elements; @@ -141,7 +145,6 @@ struct r600_context { struct u_upload_mgr *uploader; struct util_slab_mempool pool_transfers; - boolean have_depth_texture, have_depth_fb; unsigned default_ps_gprs, default_vs_gprs; @@ -187,8 +190,11 @@ struct r600_context { void si_init_blit_functions(struct r600_context *rctx); void si_blit_uncompress_depth(struct pipe_context *ctx, struct r600_resource_texture *texture, - struct r600_resource_texture *staging); -void si_flush_depth_textures(struct r600_context *rctx); + struct r600_resource_texture *staging, + unsigned first_level, unsigned last_level, + unsigned first_layer, unsigned last_layer); +void si_flush_depth_textures(struct r600_context *rctx, + struct r600_textures_info *textures); /* r600_buffer.c */ bool si_init_resource(struct r600_screen *rscreen, |