aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/evergreen_compute_internal.h
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2019-07-01 17:26:09 +0200
committerBas Nieuwenhuizen <[email protected]>2019-07-04 10:52:26 +0000
commitcb07f91489d164f15bdd43e174cc4d8a65be4cc0 (patch)
tree5aac67577e45bc642d6c3a31f0b94086ba5d68d7 /src/gallium/drivers/r600/evergreen_compute_internal.h
parent510e74ff48d035d1c3f4112738132b9d8d823c93 (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.h39
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;