[Mesa-dev] [PATCH 2/3] ac: reorg ac_shader_binary struct to take less space.

Dave Airlie airlied at gmail.com
Sun Sep 3 10:06:02 UTC 2017


From: Dave Airlie <airlied at redhat.com>

This reduces the size from 96 to 80 bytes but putting all the
32-bit sizes at the start.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/common/ac_binary.h | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/amd/common/ac_binary.h b/src/amd/common/ac_binary.h
index 45f554e..f81b821 100644
--- a/src/amd/common/ac_binary.h
+++ b/src/amd/common/ac_binary.h
@@ -36,31 +36,32 @@ struct ac_shader_reloc {
 };
 
 struct ac_shader_binary {
+	unsigned code_size;
+	unsigned config_size;
+	/** The number of bytes of config information for each global symbol.
+	 */
+	unsigned config_size_per_symbol;
+	unsigned rodata_size;
+	unsigned global_symbol_count;
+	unsigned reloc_count;
+
 	/** Shader code */
 	unsigned char *code;
-	unsigned code_size;
 
 	/** Config/Context register state that accompanies this shader.
 	 * This is a stream of dword pairs.  First dword contains the
 	 * register address, the second dword contains the value.*/
 	unsigned char *config;
-	unsigned config_size;
 
-	/** The number of bytes of config information for each global symbol.
-	 */
-	unsigned config_size_per_symbol;
 
 	/** Constant data accessed by the shader.  This will be uploaded
 	 * into a constant buffer. */
 	unsigned char *rodata;
-	unsigned rodata_size;
 
 	/** List of symbol offsets for the shader */
 	uint64_t *global_symbol_offsets;
-	unsigned global_symbol_count;
 
 	struct ac_shader_reloc *relocs;
-	unsigned reloc_count;
 
 	/** Disassembled shader in a string. */
 	char *disasm_string;
-- 
2.9.5



More information about the mesa-dev mailing list