diff options
author | Marek Olšák <[email protected]> | 2014-02-09 19:23:58 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-02-25 16:08:08 +0100 |
commit | 40b9812a761ce0745d9e17b92fd0abd27eb86bd7 (patch) | |
tree | bc0c5c70bb35faaf72c467b79bd030b011d43265 /src/gallium/drivers/radeon | |
parent | 933eaeee25f1a6a0377f194adb1ce698ff638e84 (diff) |
r600g,radeonsi: share r600_surface
I'm gonna use this in radeonsi.
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeon')
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index d604f65226d..6af8a7a480d 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -160,6 +160,51 @@ struct r600_texture { unsigned mipmap_shift; }; +struct r600_surface { + struct pipe_surface base; + + bool color_initialized; + bool depth_initialized; + + /* Misc. color flags. */ + bool alphatest_bypass; + bool export_16bpc; + + /* Color registers. */ + unsigned cb_color_info; + unsigned cb_color_base; + unsigned cb_color_view; + unsigned cb_color_size; /* R600 only */ + unsigned cb_color_dim; /* EG only */ + unsigned cb_color_pitch; /* EG and later */ + unsigned cb_color_slice; /* EG and later */ + unsigned cb_color_attrib; /* EG and later */ + unsigned cb_color_fmask; /* CB_COLORn_FMASK (EG and later) or CB_COLORn_FRAG (r600) */ + unsigned cb_color_fmask_slice; /* EG and later */ + unsigned cb_color_cmask; /* CB_COLORn_CMASK (EG and later) or CB_COLORn_TILE (r600) */ + unsigned cb_color_cmask_slice; /* EG and later */ + unsigned cb_color_mask; /* R600 only */ + struct r600_resource *cb_buffer_fmask; /* Used for FMASK relocations. R600 only */ + struct r600_resource *cb_buffer_cmask; /* Used for CMASK relocations. R600 only */ + + /* DB registers. */ + unsigned db_depth_info; /* R600 only, then SI and later */ + unsigned db_z_info; /* EG and later */ + unsigned db_depth_base; /* DB_Z_READ/WRITE_BASE (EG and later) or DB_DEPTH_BASE (r600) */ + unsigned db_depth_view; + unsigned db_depth_size; + unsigned db_depth_slice; /* EG and later */ + unsigned db_stencil_base; /* EG and later */ + unsigned db_stencil_info; /* EG and later */ + unsigned db_prefetch_limit; /* R600 only */ + unsigned db_htile_surface; + unsigned db_htile_data_base; + unsigned db_preload_control; /* EG and later */ + unsigned pa_su_poly_offset_db_fmt_cntl; + + unsigned htile_enabled; /* XXX remove */ +}; + struct r600_tiling_info { unsigned num_channels; unsigned num_banks; |