diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-06-24 09:16:11 -0700 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-06-25 13:39:17 -0700 |
commit | 17adcfc0085fda75ea7b837cb7830d04a5a3764d (patch) | |
tree | 1613a441c5ea758bb9f1efbd805798899192bba3 | |
parent | 3e6c6bb0af971a7bc9a24f492b3dd8b0b26ffa68 (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.h | 5 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_context.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pandecode/decode.c | 2 |
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], |