X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Firis%2Firis_resource.h;h=304339eb470f673c0eaeb9d012b8b013ab8f43d1;hb=f58e0405b6ca15d9b82122d82311e8b82f4a0939;hp=7028e01494c6318c0a04509b72db7325682d92b1;hpb=61c0637afb4ff760dd8dbe138266820adc921ce5;p=mesa.git diff --git a/src/gallium/drivers/iris/iris_resource.h b/src/gallium/drivers/iris/iris_resource.h index 7028e01494c..304339eb470 100644 --- a/src/gallium/drivers/iris/iris_resource.h +++ b/src/gallium/drivers/iris/iris_resource.h @@ -209,10 +209,13 @@ struct iris_image_view { struct iris_surface { struct pipe_surface base; struct isl_view view; + struct isl_view read_view; union isl_color_value clear_color; /** The resource (BO) holding our SURFACE_STATE. */ struct iris_state_ref surface_state; + /** The resource (BO) holding our SURFACE_STATE for read. */ + struct iris_state_ref surface_state_read; }; /** @@ -395,6 +398,7 @@ iris_resource_access_raw(struct iris_context *ice, enum isl_dim_layout iris_get_isl_dim_layout(const struct gen_device_info *devinfo, enum isl_tiling tiling, enum pipe_texture_target target); +enum isl_surf_dim target_to_isl_surf_dim(enum pipe_texture_target target); uint32_t iris_resource_get_tile_offsets(const struct iris_resource *res, uint32_t level, uint32_t z, uint32_t *tile_x, uint32_t *tile_y); @@ -432,6 +436,9 @@ void iris_resource_check_level_layer(const struct iris_resource *res, bool iris_resource_level_has_hiz(const struct iris_resource *res, uint32_t level); +bool iris_has_color_unresolved(const struct iris_resource *res, + unsigned start_level, unsigned num_levels, + unsigned start_layer, unsigned num_layers); enum isl_aux_usage iris_resource_render_aux_usage(struct iris_context *ice, struct iris_resource *res,