[PATCH i-g-t 05/11] lib/intel_compute: Use common constant for general state size
Francois Dugast
francois.dugast at intel.com
Tue Mar 11 15:21:25 UTC 2025
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>
---
lib/intel_compute.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/lib/intel_compute.c b/lib/intel_compute.c
index a85fd8121..302a1d35c 100644
--- a/lib/intel_compute.c
+++ b/lib/intel_compute.c
@@ -32,6 +32,7 @@
#define SIZE_DYNAMIC_STATE 0x100000
#define SIZE_INDIRECT_OBJECT 0x10000
#define SIZE_BINDING_TABLE 0x10000
+#define SIZE_GENERAL_STATE 0x100000
#define ADDR_SYNC 0x010000ULL
#define ADDR_SYNC2 0x020000ULL
@@ -991,7 +992,8 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
.name = "addr input"},
{ .addr = ADDR_OUTPUT, .size = SIZE_BUFFER_OUTPUT,
.name = "addr output" },
- { .addr = ADDR_GENERAL_STATE_BASE, .size = 0x100000,
+ { .addr = ADDR_GENERAL_STATE_BASE,
+ .size = SIZE_GENERAL_STATE,
.name = "general state base" },
{ .addr = ADDR_SURFACE_STATE_BASE + OFFSET_BINDING_TABLE,
.size = SIZE_BINDING_TABLE,
@@ -1208,7 +1210,8 @@ static void xehpc_compute_exec(int fd, const unsigned char *kernel,
.name = "addr input"},
{ .addr = ADDR_OUTPUT, .size = SIZE_BUFFER_OUTPUT,
.name = "addr output" },
- { .addr = ADDR_GENERAL_STATE_BASE, .size = 0x10000,
+ { .addr = ADDR_GENERAL_STATE_BASE,
+ .size = SIZE_GENERAL_STATE,
.name = "general state base" },
{ .addr = ADDR_BATCH, .size = SIZE_BATCH,
.name = "batch" },
@@ -1566,7 +1569,8 @@ static void xelpg_compute_exec(int fd, const unsigned char *kernel,
.name = "addr input"},
{ .addr = ADDR_OUTPUT, .size = SIZE_BUFFER_OUTPUT,
.name = "addr output" },
- { .addr = ADDR_GENERAL_STATE_BASE, .size = 0x100000,
+ { .addr = ADDR_GENERAL_STATE_BASE,
+ .size = SIZE_GENERAL_STATE,
.name = "general state base" },
{ .addr = ADDR_SURFACE_STATE_BASE + OFFSET_BINDING_TABLE,
.size = SIZE_BINDING_TABLE,
@@ -1656,7 +1660,8 @@ static void xe2lpg_compute_exec(int fd, const unsigned char *kernel,
.name = "addr input"},
{ .addr = ADDR_OUTPUT, .size = SIZE_BUFFER_OUTPUT,
.name = "addr output" },
- { .addr = ADDR_GENERAL_STATE_BASE, .size = 0x100000,
+ { .addr = ADDR_GENERAL_STATE_BASE,
+ .size = SIZE_GENERAL_STATE,
.name = "general state base" },
{ .addr = ADDR_SURFACE_STATE_BASE + OFFSET_BINDING_TABLE,
.size = SIZE_BINDING_TABLE,
@@ -1907,7 +1912,8 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
.name = "addr input"},
{ .addr = ADDR_OUTPUT, .size = SIZE_BUFFER_OUTPUT,
.name = "addr output" },
- { .addr = ADDR_GENERAL_STATE_BASE, .size = 0x100000,
+ { .addr = ADDR_GENERAL_STATE_BASE,
+ .size = SIZE_GENERAL_STATE,
.name = "general state base" },
{ .addr = ADDR_SURFACE_STATE_BASE + OFFSET_BINDING_TABLE,
.size = SIZE_BINDING_TABLE,
--
2.43.0
More information about the igt-dev
mailing list