mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
panfrost: Define dirty tracking flags
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10888>
This commit is contained in:
parent
0236b8a5de
commit
744a9aef7b
1 changed files with 25 additions and 0 deletions
|
|
@ -58,6 +58,25 @@ struct prim_convert_context;
|
|||
else \
|
||||
lval &= ~(bit);
|
||||
|
||||
/* Dirty tracking flags. 3D is for general 3D state. Shader flags are
|
||||
* per-stage. Renderer refers to Renderer State Descriptors. Vertex refers to
|
||||
* vertex attributes/elements. */
|
||||
|
||||
enum pan_dirty_3d {
|
||||
PAN_DIRTY_VIEWPORT = BITFIELD_BIT(0),
|
||||
PAN_DIRTY_SCISSOR = BITFIELD_BIT(1),
|
||||
PAN_DIRTY_VERTEX = BITFIELD_BIT(2),
|
||||
};
|
||||
|
||||
enum pan_dirty_shader {
|
||||
PAN_DIRTY_STAGE_RENDERER = BITFIELD_BIT(0),
|
||||
PAN_DIRTY_STAGE_TEXTURE = BITFIELD_BIT(1),
|
||||
PAN_DIRTY_STAGE_SAMPLER = BITFIELD_BIT(2),
|
||||
PAN_DIRTY_STAGE_IMAGE = BITFIELD_BIT(3),
|
||||
PAN_DIRTY_STAGE_CONST = BITFIELD_BIT(4),
|
||||
PAN_DIRTY_STAGE_SSBO = BITFIELD_BIT(5),
|
||||
};
|
||||
|
||||
struct panfrost_constant_buffer {
|
||||
struct pipe_constant_buffer cb[PIPE_MAX_CONSTANT_BUFFERS];
|
||||
uint32_t enabled_mask;
|
||||
|
|
@ -104,6 +123,12 @@ struct panfrost_context {
|
|||
/* Gallium context */
|
||||
struct pipe_context base;
|
||||
|
||||
/* Dirty global state */
|
||||
enum pan_dirty_3d dirty;
|
||||
|
||||
/* Per shader stage dirty state */
|
||||
enum pan_dirty_shader dirty_shader[PIPE_SHADER_TYPES];
|
||||
|
||||
/* Unowned pools, so manage yourself. */
|
||||
struct pan_pool descs, shaders;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue