mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
etnaviv: add support for extended pe formats
Use the extended format if an such a format was passed. v1 -> v2: - set FORMAT_MASK bit when using ext PE format as suggested by Wladimir J. van der Laan Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Jonathan Marek <jonathan@marek.ca>
This commit is contained in:
parent
396818fd9d
commit
92d5e3c692
1 changed files with 8 additions and 2 deletions
|
|
@ -141,12 +141,18 @@ etna_set_framebuffer_state(struct pipe_context *pctx,
|
|||
struct etna_surface *cbuf = etna_surface(fb->cbufs[0]);
|
||||
struct etna_resource *res = etna_resource(cbuf->base.texture);
|
||||
bool color_supertiled = (res->layout & ETNA_LAYOUT_BIT_SUPER) != 0;
|
||||
uint32_t fmt = translate_pe_format(cbuf->base.format);
|
||||
|
||||
assert(res->layout & ETNA_LAYOUT_BIT_TILE); /* Cannot render to linear surfaces */
|
||||
etna_update_render_resource(pctx, etna_resource(cbuf->prsc));
|
||||
|
||||
cs->PE_COLOR_FORMAT =
|
||||
VIVS_PE_COLOR_FORMAT_FORMAT(translate_pe_format(cbuf->base.format)) |
|
||||
if (fmt >= PE_FORMAT_R16F)
|
||||
cs->PE_COLOR_FORMAT = VIVS_PE_COLOR_FORMAT_FORMAT_EXT(fmt) |
|
||||
VIVS_PE_COLOR_FORMAT_FORMAT_MASK;
|
||||
else
|
||||
cs->PE_COLOR_FORMAT = VIVS_PE_COLOR_FORMAT_FORMAT(fmt);
|
||||
|
||||
cs->PE_COLOR_FORMAT |=
|
||||
VIVS_PE_COLOR_FORMAT_COMPONENTS__MASK |
|
||||
VIVS_PE_COLOR_FORMAT_OVERWRITE |
|
||||
COND(color_supertiled, VIVS_PE_COLOR_FORMAT_SUPER_TILED) |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue