summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Ślusarz <marcin.slusarz@intel.com>2020-12-02 14:40:02 +0100
committerDylan Baker <dylan.c.baker@intel.com>2020-12-07 09:24:34 -0800
commit07a6a627b332f5192c7cefc888f0ffdb36b50902 (patch)
treef13d28f69508ec623ad1eab8de328380df2f4a3d
parent99769eb7161c7977f3c80a3805d3aa13448351d2 (diff)
downloadmesa-07a6a627b332f5192c7cefc888f0ffdb36b50902.tar.gz
iris: store copy of the border color in the border color hash table
Color can be allocated on the stack since 809a81ec3a0. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3909 Fixes: 809a81ec3a0 ("iris: Properly support alpha and luminance-alpha formats") Debugged-by: Filip Strömbäck Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7885> (cherry picked from commit 90515f90c8523bbf637a4dfdbce959adc45b4834)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/iris/iris_border_color.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index e369ce34746..6fbb3bd2c6a 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -607,7 +607,7 @@
"description": "iris: store copy of the border color in the border color hash table",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "809a81ec3a0b8666ec426a88b86fb133ae5f1bcb"
},
diff --git a/src/gallium/drivers/iris/iris_border_color.c b/src/gallium/drivers/iris/iris_border_color.c
index ebed3e4445d..5f6bea9a79f 100644
--- a/src/gallium/drivers/iris/iris_border_color.c
+++ b/src/gallium/drivers/iris/iris_border_color.c
@@ -147,7 +147,7 @@ iris_upload_border_color(struct iris_context *ice,
memcpy(pool->map + offset, color, sizeof(*color));
pool->insert_point += BC_ALIGNMENT;
- _mesa_hash_table_insert_pre_hashed(pool->ht, hash, color,
+ _mesa_hash_table_insert_pre_hashed(pool->ht, hash, pool->map + offset,
(void *) (uintptr_t) offset);
return offset;
}