summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-06-24 09:16:11 -0700
committerAlyssa Rosenzweig <[email protected]>2019-06-25 13:39:17 -0700
commit17adcfc0085fda75ea7b837cb7830d04a5a3764d (patch)
tree1613a441c5ea758bb9f1efbd805798899192bba3
parent3e6c6bb0af971a7bc9a24f492b3dd8b0b26ffa68 (diff)
panfrost: Support (non-)seamless cube maps
Identify the seamless cubemap bit and passthrough the Gallium state rather than setting unconditionally. Signed-off-by: Alyssa Rosenzweig <[email protected]>
-rw-r--r--src/gallium/drivers/panfrost/include/panfrost-job.h5
-rw-r--r--src/gallium/drivers/panfrost/pan_context.c2
-rw-r--r--src/gallium/drivers/panfrost/pandecode/decode.c2
3 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h b/src/gallium/drivers/panfrost/include/panfrost-job.h
index fbef4efdc32..684b3f598bd 100644
--- a/src/gallium/drivers/panfrost/include/panfrost-job.h
+++ b/src/gallium/drivers/panfrost/include/panfrost-job.h
@@ -1234,8 +1234,9 @@ struct mali_sampler_descriptor {
enum mali_wrap_mode wrap_r : 4;
enum mali_alt_func compare_func : 3;
- /* A single set bit of unknown, ha! */
- unsigned unknown2 : 1;
+ /* No effect on 2D textures. For cubemaps, set for ES3 and clear for
+ * ES2, controlling seamless cubemapping */
+ unsigned seamless_cube_map : 1;
unsigned zero : 16;
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index fcf5e730c2b..97863504d4b 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1873,7 +1873,7 @@ panfrost_create_sampler_state(
},
.min_lod = FIXED_16(cso->min_lod),
.max_lod = FIXED_16(cso->max_lod),
- .unknown2 = 1,
+ .seamless_cube_map = cso->seamless_cube_map,
};
/* If necessary, we disable mipmapping in the sampler descriptor by
diff --git a/src/gallium/drivers/panfrost/pandecode/decode.c b/src/gallium/drivers/panfrost/pandecode/decode.c
index 8c5d77f66fd..7f58ad03366 100644
--- a/src/gallium/drivers/panfrost/pandecode/decode.c
+++ b/src/gallium/drivers/panfrost/pandecode/decode.c
@@ -1758,7 +1758,7 @@ pandecode_replay_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix
pandecode_prop("zero = 0x%X, 0x%X\n", s->zero, s->zero2);
}
- pandecode_prop("unknown2 = %d", s->unknown2);
+ pandecode_prop("seamless_cube_map = %d", s->seamless_cube_map);
pandecode_prop("border_color = { %f, %f, %f, %f }",
s->border_color[0],