mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
etnaviv: tex_desc: fix TS compression enable
The TX_CTRL register has a bit to enable TS compression, the setting in TS_SAMPLER_CONFIG is ignored for descriptor based textures. Apparently 256B tile mode already implies enabled compression to the HW, as with the larger tile mode with compression was working fine, only the 128B tile mode needs this change to work correctly. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7367>
This commit is contained in:
parent
cf871e9232
commit
3fd512440b
3 changed files with 4 additions and 1 deletions
|
|
@ -98,6 +98,7 @@ etna_configure_sampler_ts(struct etna_sampler_ts *sts, struct pipe_sampler_view
|
|||
assert(rsc->ts_bo && lev->ts_valid);
|
||||
|
||||
sts->mode = lev->ts_mode;
|
||||
sts->comp = lev->ts_compress_fmt >= 0;
|
||||
sts->TS_SAMPLER_CONFIG =
|
||||
VIVS_TS_SAMPLER_CONFIG_ENABLE |
|
||||
COND(lev->ts_compress_fmt >= 0, VIVS_TS_SAMPLER_CONFIG_COMPRESSION) |
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ struct etna_context;
|
|||
struct etna_sampler_ts {
|
||||
unsigned enable:1;
|
||||
unsigned mode:1;
|
||||
unsigned comp:1;
|
||||
uint32_t TS_SAMPLER_CONFIG;
|
||||
struct etna_reloc TS_SAMPLER_STATUS_BASE;
|
||||
uint32_t TS_SAMPLER_CLEAR_VALUE;
|
||||
|
|
|
|||
|
|
@ -297,7 +297,8 @@ etna_emit_texture_desc(struct etna_context *ctx)
|
|||
etna_set_state(stream, VIVS_NTE_DESCRIPTOR_TX_CTRL(x),
|
||||
COND(sv->ts.enable, VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_ENABLE) |
|
||||
VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_MODE(sv->ts.mode) |
|
||||
VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_INDEX(x));
|
||||
VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_INDEX(x)|
|
||||
COND(sv->ts.comp, VIVS_NTE_DESCRIPTOR_TX_CTRL_COMPRESSION));
|
||||
etna_set_state(stream, VIVS_NTE_DESCRIPTOR_SAMP_CTRL0(x), ss->SAMP_CTRL0 | sv->SAMP_CTRL0);
|
||||
etna_set_state(stream, VIVS_NTE_DESCRIPTOR_SAMP_CTRL1(x), ss->SAMP_CTRL1 | sv->SAMP_CTRL1);
|
||||
etna_set_state(stream, VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX(x), ss->SAMP_LOD_MINMAX);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue