[PATCH i-g-t 03/11] lib/intel_compute: Use common constant for indirect object size
Thomas Hellström
thomas.hellstrom at linux.intel.com
Thu Mar 13 15:35:36 UTC 2025
On Tue, 2025-03-11 at 16:21 +0100, Francois Dugast wrote:
> Reduce magic values in the code, homogenize the size which has no
> reason to be different among pipelines, define this value close to
> the addresses to make it easier to spot potential overlaps in the
> future.
>
> Signed-off-by: Francois Dugast <francois.dugast at intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> ---
> lib/intel_compute.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/lib/intel_compute.c b/lib/intel_compute.c
> index b4b022ae7..e3c8cf244 100644
> --- a/lib/intel_compute.c
> +++ b/lib/intel_compute.c
> @@ -30,6 +30,7 @@
> #define SIZE_BUFFER_OUTPUT MAX(sizeof(float) *
> SIZE_DATA, 0x10000)
> #define SIZE_SURFACE_STATE 0x10000
> #define SIZE_DYNAMIC_STATE 0x100000
> +#define SIZE_INDIRECT_OBJECT 0x10000
>
> #define ADDR_SYNC 0x010000ULL
> #define ADDR_SYNC2 0x020000ULL
> @@ -698,7 +699,7 @@ static void compute_exec(int fd, const unsigned
> char *kernel,
> .size = SIZE_SURFACE_STATE,
> .name = "surface state base" },
> { .addr = ADDR_INDIRECT_OBJECT_BASE +
> OFFSET_INDIRECT_DATA_START,
> - .size = 0x10000,
> + .size = SIZE_INDIRECT_OBJECT,
> .name = "indirect data start" },
> { .addr = ADDR_INPUT,
> .size = SIZE_BUFFER_INPUT,
> @@ -983,7 +984,7 @@ static void xehp_compute_exec(int fd, const
> unsigned char *kernel,
> .size = SIZE_SURFACE_STATE,
> .name = "surface state base"},
> { .addr = ADDR_GENERAL_STATE_BASE +
> OFFSET_INDIRECT_DATA_START,
> - .size = 0x10000,
> + .size = SIZE_INDIRECT_OBJECT,
> .name = "indirect object base"},
> { .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
> .name = "addr input"},
> @@ -1200,7 +1201,7 @@ static void xehpc_compute_exec(int fd, const
> unsigned char *kernel,
> { .addr = ADDR_INSTRUCTION_STATE_BASE +
> OFFSET_KERNEL,
> .name = "instr state base"},
> { .addr = ADDR_GENERAL_STATE_BASE +
> OFFSET_INDIRECT_DATA_START,
> - .size = 0x10000,
> + .size = SIZE_INDIRECT_OBJECT,
> .name = "indirect object base"},
> { .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
> .name = "addr input"},
> @@ -1558,7 +1559,7 @@ static void xelpg_compute_exec(int fd, const
> unsigned char *kernel,
> .size = SIZE_SURFACE_STATE,
> .name = "surface state base"},
> { .addr = ADDR_GENERAL_STATE_BASE +
> OFFSET_INDIRECT_DATA_START,
> - .size = 0x1000,
> + .size = SIZE_INDIRECT_OBJECT,
> .name = "indirect object base"},
> { .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
> .name = "addr input"},
> @@ -1648,7 +1649,7 @@ static void xe2lpg_compute_exec(int fd, const
> unsigned char *kernel,
> .size = SIZE_SURFACE_STATE,
> .name = "surface state base"},
> { .addr = ADDR_GENERAL_STATE_BASE +
> OFFSET_INDIRECT_DATA_START,
> - .size = 0x1000,
> + .size = SIZE_INDIRECT_OBJECT,
> .name = "indirect object base"},
> { .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
> .name = "addr input"},
> @@ -1899,7 +1900,7 @@ static void xe2lpg_compute_preempt_exec(int fd,
> const unsigned char *long_kernel
> .size = SIZE_SURFACE_STATE,
> .name = "surface state base"},
> { .addr = ADDR_GENERAL_STATE_BASE +
> OFFSET_INDIRECT_DATA_START,
> - .size = 0x1000,
> + .size = SIZE_INDIRECT_OBJECT,
> .name = "indirect object base"},
> { .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
> .name = "addr input"},
More information about the igt-dev
mailing list