[Mesa-dev] [PATCH 5/6] radeonsi: pack r600_surface better

Marek Olšák maraeo at gmail.com
Thu Nov 9 03:15:28 UTC 2017


From: Marek Olšák <marek.olsak at amd.com>

160 -> 136 bytes
---
 src/gallium/drivers/radeon/r600_pipe_common.h | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h
index 6b0a743..61560ac 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.h
+++ b/src/gallium/drivers/radeon/r600_pipe_common.h
@@ -293,41 +293,41 @@ struct r600_texture {
 	 */
 	unsigned			ps_draw_ratio;
 	/* The number of clears since the last DCC usage analysis. */
 	unsigned			num_slow_clears;
 };
 
 struct r600_surface {
 	struct pipe_surface		base;
 
 	/* These can vary with block-compressed textures. */
-	unsigned width0;
-	unsigned height0;
+	uint16_t width0;
+	uint16_t height0;
 
-	bool color_initialized;
-	bool depth_initialized;
+	bool color_initialized:1;
+	bool depth_initialized:1;
 
 	/* Misc. color flags. */
-	bool color_is_int8;
-	bool color_is_int10;
-	bool dcc_incompatible;
+	bool color_is_int8:1;
+	bool color_is_int10:1;
+	bool dcc_incompatible:1;
 
 	/* Color registers. */
 	unsigned cb_color_info;
 	unsigned cb_color_view;
 	unsigned cb_color_attrib;
 	unsigned cb_color_attrib2;	/* GFX9 and later */
 	unsigned cb_dcc_control;	/* VI and later */
-	unsigned spi_shader_col_format;		/* no blending, no alpha-to-coverage. */
-	unsigned spi_shader_col_format_alpha;	/* alpha-to-coverage */
-	unsigned spi_shader_col_format_blend;	/* blending without alpha. */
-	unsigned spi_shader_col_format_blend_alpha; /* blending with alpha. */
+	unsigned spi_shader_col_format:8;	/* no blending, no alpha-to-coverage. */
+	unsigned spi_shader_col_format_alpha:8;	/* alpha-to-coverage */
+	unsigned spi_shader_col_format_blend:8;	/* blending without alpha. */
+	unsigned spi_shader_col_format_blend_alpha:8; /* blending with alpha. */
 
 	/* DB registers. */
 	uint64_t db_depth_base;		/* DB_Z_READ/WRITE_BASE */
 	uint64_t db_stencil_base;
 	uint64_t db_htile_data_base;
 	unsigned db_depth_info;
 	unsigned db_z_info;
 	unsigned db_z_info2;		/* GFX9+ */
 	unsigned db_depth_view;
 	unsigned db_depth_size;
-- 
2.7.4



More information about the mesa-dev mailing list