mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 01:38:06 +02:00
gallium, mesa: keep track of pixel local storage state
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Eric R. Smith <eric.smith@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37110>
This commit is contained in:
parent
7f7c4ebbba
commit
cc12bac4f8
4 changed files with 10 additions and 0 deletions
|
|
@ -560,6 +560,7 @@ void trace_dump_framebuffer_state(const struct pipe_framebuffer_state *state)
|
|||
trace_dump_member(uint, state, samples);
|
||||
trace_dump_member(uint, state, layers);
|
||||
trace_dump_member(uint, state, nr_cbufs);
|
||||
trace_dump_member(bool, state, pls_enabled);
|
||||
trace_dump_member_begin("cbufs");
|
||||
trace_dump_array_impl(surface, state->cbufs, state->nr_cbufs, &);
|
||||
trace_dump_member_end();
|
||||
|
|
@ -580,6 +581,7 @@ void trace_dump_framebuffer_state_deep(const struct pipe_framebuffer_state *stat
|
|||
trace_dump_member(uint, state, samples);
|
||||
trace_dump_member(uint, state, layers);
|
||||
trace_dump_member(uint, state, nr_cbufs);
|
||||
trace_dump_member(bool, state, pls_enabled);
|
||||
trace_dump_member_begin("cbufs");
|
||||
trace_dump_array_impl(surface, state->cbufs, state->nr_cbufs, &);
|
||||
trace_dump_member_end();
|
||||
|
|
|
|||
|
|
@ -79,6 +79,9 @@ util_framebuffer_state_equal(const struct pipe_framebuffer_state *dst,
|
|||
if (dst->viewmask != src->viewmask)
|
||||
return false;
|
||||
|
||||
if (dst->pls_enabled != src->pls_enabled)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -111,6 +114,7 @@ util_copy_framebuffer_state(struct pipe_framebuffer_state *dst,
|
|||
}
|
||||
|
||||
dst->nr_cbufs = src->nr_cbufs;
|
||||
dst->pls_enabled = src->pls_enabled;
|
||||
|
||||
dst->viewmask = src->viewmask;
|
||||
pipe_resource_reference(&dst->zsbuf.texture, src->zsbuf.texture);
|
||||
|
|
|
|||
|
|
@ -435,6 +435,8 @@ struct pipe_framebuffer_state
|
|||
|
||||
/** multiple color buffers for multiple render targets */
|
||||
uint8_t nr_cbufs;
|
||||
/** true if pixel local storage is enabled */
|
||||
bool pls_enabled;
|
||||
/** used for multiview */
|
||||
uint8_t viewmask;
|
||||
struct pipe_surface cbufs[PIPE_MAX_COLOR_BUFS];
|
||||
|
|
|
|||
|
|
@ -148,6 +148,8 @@ st_update_framebuffer_state( struct st_context *st )
|
|||
*/
|
||||
framebuffer.nr_cbufs = fb->_NumColorDrawBuffers;
|
||||
|
||||
framebuffer.pls_enabled = ctx->PixelLocalStorage;
|
||||
|
||||
unsigned num_multiview_layer = 0;
|
||||
for (i = 0; i < fb->_NumColorDrawBuffers; i++) {
|
||||
rb = fb->_ColorDrawBuffers[i];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue