ac: reorg ac_shader_binary struct to take less space.
authorDave Airlie <airlied@redhat.com>
Sun, 3 Sep 2017 08:57:49 +0000 (18:57 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 3 Sep 2017 22:40:37 +0000 (08:40 +1000)
This reduces the size from 96 to 80 bytes but putting all the
32-bit sizes at the start.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_binary.h

index 45f554e4fe052c22283c55b7552a5ba6f045582e..f81b821f82a5d0c5b9c1684309fed9a5a84cdafc 100644 (file)
@@ -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;