diff options
author | Nicolai Hähnle <[email protected]> | 2019-07-01 17:26:09 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2019-07-04 10:52:26 +0000 |
commit | cb07f91489d164f15bdd43e174cc4d8a65be4cc0 (patch) | |
tree | 5aac67577e45bc642d6c3a31f0b94086ba5d68d7 /src/gallium/drivers/r600/evergreen_compute_internal.h | |
parent | 510e74ff48d035d1c3f4112738132b9d8d823c93 (diff) |
amd/common: move ac_shader_{binary,reloc} into r600 and rename
They are no longer used by radeonsi or radv.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/evergreen_compute_internal.h')
-rw-r--r-- | src/gallium/drivers/r600/evergreen_compute_internal.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/evergreen_compute_internal.h b/src/gallium/drivers/r600/evergreen_compute_internal.h index db3f24d3822..4f3ba564fd0 100644 --- a/src/gallium/drivers/r600/evergreen_compute_internal.h +++ b/src/gallium/drivers/r600/evergreen_compute_internal.h @@ -30,10 +30,47 @@ #include <llvm-c/Core.h> #endif +struct r600_shader_reloc { + char name[32]; + uint64_t offset; +}; + +struct r600_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; + + /** 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; + + + /** Constant data accessed by the shader. This will be uploaded + * into a constant buffer. */ + unsigned char *rodata; + + /** List of symbol offsets for the shader */ + uint64_t *global_symbol_offsets; + + struct r600_shader_reloc *relocs; + + /** Disassembled shader in a string. */ + char *disasm_string; +}; + struct r600_pipe_compute { struct r600_context *ctx; - struct ac_shader_binary binary; + struct r600_shader_binary binary; enum pipe_shader_ir ir_type; |