Mesa (master): pan/bi: Add a varying_index field to bi_texture
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Nov 17 08:24:50 UTC 2020
Module: Mesa
Branch: master
Commit: 549a59f66e2d132e55b62017078734dbf0322a32
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=549a59f66e2d132e55b62017078734dbf0322a32
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Mon Nov 16 16:49:10 2020 +0100
pan/bi: Add a varying_index field to bi_texture
So we can get rid of the offset adjusment done in pack_variant()
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636>
---
src/panfrost/bifrost/compiler.h | 2 +-
src/panfrost/bifrost/gen_pack.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h
index 42b02a57f70..d2a021c71e1 100644
--- a/src/panfrost/bifrost/compiler.h
+++ b/src/panfrost/bifrost/compiler.h
@@ -261,7 +261,7 @@ struct bi_bitwise {
struct bi_texture {
/* Constant indices. Indirect would need to be in src[..] like normal,
* we can reserve some sentinels there for that for future. */
- unsigned texture_index, sampler_index;
+ unsigned texture_index, sampler_index, varying_index;
/* Should the LOD be computed based on neighboring pixels? Only valid
* in fragment shaders. */
diff --git a/src/panfrost/bifrost/gen_pack.py b/src/panfrost/bifrost/gen_pack.py
index 7d1f4387f0c..d633747dae0 100644
--- a/src/panfrost/bifrost/gen_pack.py
+++ b/src/panfrost/bifrost/gen_pack.py
@@ -392,7 +392,7 @@ def pack_derived(pos, exprs, imm_map, body, pack_exprs):
IMMEDIATE_TABLE = {
'attribute_index': 'bi_get_immediate(ins, 0)',
- 'varying_index': 'bi_get_immediate(ins, 0)',
+ 'varying_index': 'ins->texture.varying_index',
'index': 'ins->load_vary.index',
'texture_index': 'ins->texture.texture_index',
'sampler_index': 'ins->texture.sampler_index',
@@ -452,7 +452,7 @@ def pack_variant(opname, states):
if staging in ["r", "rw"]:
offset += 1
- offset += len(set(["attribute_index", "varying_index"]) & set([x[0] for x in states[0][1].get("immediates", [])]))
+ offset += len(set(["attribute_index"]) & set([x[0] for x in states[0][1].get("immediates", [])]))
pack_sources(states[0][1].get("srcs", []), common_body, pack_exprs, offset)
More information about the mesa-commit
mailing list