summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Ekstrand <jason@jlekstrand.net>2020-01-17 14:22:58 -0600
committerDylan Baker <dylan@pnwbakers.com>2020-01-31 08:50:29 -0800
commitf1c8089f97866db1f64c09d1b1839f8d36489015 (patch)
treebbfea1368bf784ee7d891d45f2a59e8db9835461
parent5d9a1303bafaf6cdef8c9fca62eceed9ccc5522f (diff)
iris: Use the URB size from the L3$ config
Cc: "20.0" mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3454> (cherry picked from commit bff7b3c7bd56c25544ea6e3ea9452358374db10a)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/iris/iris_context.c2
-rw-r--r--src/gallium/drivers/iris/iris_context.h2
-rw-r--r--src/gallium/drivers/iris/iris_state.c3
4 files changed, 3 insertions, 6 deletions
diff --git a/.pick_status.json b/.pick_status.json
index c609a3ce0b9..59e76f84c08 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -202,7 +202,7 @@
"description": "iris: Use the URB size from the L3$ config",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": null
},
diff --git a/src/gallium/drivers/iris/iris_context.c b/src/gallium/drivers/iris/iris_context.c
index e7b3a06a315..dc2a09a57c8 100644
--- a/src/gallium/drivers/iris/iris_context.c
+++ b/src/gallium/drivers/iris/iris_context.c
@@ -264,8 +264,6 @@ iris_create_context(struct pipe_screen *pscreen, void *priv, unsigned flags)
ctx->get_device_reset_status = iris_get_device_reset_status;
ctx->get_sample_position = iris_get_sample_position;
- ice->shaders.urb_size = devinfo->urb.size;
-
iris_init_context_fence_functions(ctx);
iris_init_blit_functions(ctx);
iris_init_clear_functions(ctx);
diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h
index 50300f9c2a6..b5c3f78da28 100644
--- a/src/gallium/drivers/iris/iris_context.h
+++ b/src/gallium/drivers/iris/iris_context.h
@@ -667,8 +667,6 @@ struct iris_context {
struct u_upload_mgr *uploader;
struct hash_table *cache;
- unsigned urb_size;
-
/** Is a GS or TES outputting points or lines? */
bool output_topology_is_points_or_lines;
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index d6413faa8b1..9467f5d1742 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -7225,6 +7225,7 @@ genX(emit_urb_setup)(struct iris_context *ice,
bool tess_present, bool gs_present)
{
const struct gen_device_info *devinfo = &batch->screen->devinfo;
+ const struct gen_l3_config *l3_config = batch->screen->l3_config_3d;
const unsigned push_size_kB = 32;
unsigned entries[4];
unsigned start[4];
@@ -7232,7 +7233,7 @@ genX(emit_urb_setup)(struct iris_context *ice,
ice->shaders.last_vs_entry_size = size[MESA_SHADER_VERTEX];
gen_get_urb_config(devinfo, 1024 * push_size_kB,
- 1024 * ice->shaders.urb_size,
+ 1024 * gen_get_l3_config_urb_size(devinfo, l3_config),
tess_present, gs_present,
size, entries, start);