Module: Mesa Branch: main Commit: 10ef3b7fe3f21e3a563da3930d7edf8a3e49da38 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=10ef3b7fe3f21e3a563da3930d7edf8a3e49da38
Author: Vitaliy Triang3l Kuzmin <trian...@yandex.ru> Date: Sat Oct 7 19:24:13 2023 +0300 r600: Remove Gallium dependencies in r600_isa Signed-off-by: Vitaliy Triang3l Kuzmin <trian...@yandex.ru> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695> --- src/gallium/drivers/r600/r600_isa.c | 12 ++++++++---- src/gallium/drivers/r600/r600_isa.h | 3 ++- src/gallium/drivers/r600/r600_pipe.c | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/r600/r600_isa.c b/src/gallium/drivers/r600/r600_isa.c index 49ee7834974..6d7918c4f12 100644 --- a/src/gallium/drivers/r600/r600_isa.c +++ b/src/gallium/drivers/r600/r600_isa.c @@ -24,9 +24,13 @@ * Vadim Girlin */ -#include "r600_pipe.h" #include "r600_isa.h" +#include "util/macros.h" + +#include <assert.h> +#include <stdlib.h> + const struct alu_op_info r600_alu_op_table[] = { {"ADD", 2, { 0x00, 0x00 },{ AF_VS, AF_VS, AF_VS, AF_VS}, AF_M_COMM | AF_M_ASSOC }, {"MUL", 2, { 0x01, 0x01 },{ AF_VS, AF_VS, AF_VS, AF_VS}, AF_M_COMM | AF_M_ASSOC }, @@ -535,11 +539,11 @@ r600_isa_cf(unsigned op) { return &cf_op_table[op]; } -int r600_isa_init(struct r600_context *ctx, struct r600_isa *isa) { +int r600_isa_init(enum amd_gfx_level gfx_level, struct r600_isa *isa) { unsigned i; - assert(ctx->b.gfx_level >= R600 && ctx->b.gfx_level <= CAYMAN); - isa->hw_class = ctx->b.gfx_level - R600; + assert(gfx_level >= R600 && gfx_level <= CAYMAN); + isa->hw_class = gfx_level - R600; /* reverse lookup maps are required for bytecode parsing */ diff --git a/src/gallium/drivers/r600/r600_isa.h b/src/gallium/drivers/r600/r600_isa.h index 41f2cbc5ddf..262e0c7cb35 100644 --- a/src/gallium/drivers/r600/r600_isa.h +++ b/src/gallium/drivers/r600/r600_isa.h @@ -27,6 +27,7 @@ #ifndef R600_ISA_H_ #define R600_ISA_H_ +#include "amd_family.h" #include "util/u_debug.h" #ifdef __cplusplus @@ -679,7 +680,7 @@ struct r600_isa { struct r600_context; -int r600_isa_init(struct r600_context *ctx, struct r600_isa *isa); +int r600_isa_init(enum amd_gfx_level gfx_level, struct r600_isa *isa); int r600_isa_destroy(struct r600_isa *isa); extern const struct alu_op_info r600_alu_op_table[]; diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index cb381c3805d..c17d43d48db 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -214,7 +214,7 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, 0, PIPE_USAGE_DEFAULT, 0, false); rctx->isa = calloc(1, sizeof(struct r600_isa)); - if (!rctx->isa || r600_isa_init(rctx, rctx->isa)) + if (!rctx->isa || r600_isa_init(rctx->b.gfx_level, rctx->isa)) goto fail; if (rscreen->b.debug_flags & DBG_FORCE_DMA)