diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-07-19 08:54:49 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-07-19 09:31:58 +0200 |
commit | 8ef46c25f1362b34471edf04d7ed80c5adaa99a2 (patch) | |
tree | e70436c83368600d2c92b3139a4b1ca44ca065f2 | |
parent | 87409254caf3bb6ea4844e3ec89ece816297caa2 (diff) |
driver: remove dirty bit for base setup
No need to even have a dirty bit for ETNA_STATE_BASE_SETUP,
those bits are set up on context creation and guaranteed to never
changed.
-rw-r--r-- | native/driver/etna_internal.h | 8 | ||||
-rw-r--r-- | native/driver/etna_pipe.c | 15 | ||||
-rw-r--r-- | native/driver/etna_pipe.h | 4 |
3 files changed, 4 insertions, 23 deletions
diff --git a/native/driver/etna_internal.h b/native/driver/etna_internal.h index beaeb55..f642673 100644 --- a/native/driver/etna_internal.h +++ b/native/driver/etna_internal.h @@ -65,14 +65,6 @@ struct etna_pipe_specs /** Compiled Gallium state. All the different compiled state atoms are woven together and uploaded * only when it is necessary to synchronize the state, for example before rendering. */ -/* Registers that don't fit into any other category but that are needed for setup */ -struct compiled_base_setup_state -{ - uint32_t PA_W_CLIP_LIMIT; - uint32_t GL_VERTEX_ELEMENT_CONFIG; - uint32_t GL_API_MODE; -}; - /* Compiled pipe_rasterizer_state */ struct compiled_rasterizer_state { diff --git a/native/driver/etna_pipe.c b/native/driver/etna_pipe.c index 7dfbd9c..2b853e5 100644 --- a/native/driver/etna_pipe.c +++ b/native/driver/etna_pipe.c @@ -423,6 +423,7 @@ static void sync_context(struct pipe_context *pipe) * - num samplers * - texture lod * - ETNA_STATE_TS + * - removed ETNA_STATE_BASE_SETUP statements -- these are guaranteed to not change anyway */ if(dirty & (ETNA_STATE_VERTEX_ELEMENTS)) { @@ -485,10 +486,6 @@ static void sync_context(struct pipe_context *pipe) /*00A1C*/ EMIT_STATE(PA_POINT_SIZE, PA_POINT_SIZE, e->rasterizer->PA_POINT_SIZE); /*00A28*/ EMIT_STATE(PA_SYSTEM_MODE, PA_SYSTEM_MODE, e->rasterizer->PA_SYSTEM_MODE); } - if(dirty & (ETNA_STATE_BASE_SETUP)) - { - /*00A2C*/ EMIT_STATE(PA_W_CLIP_LIMIT, PA_W_CLIP_LIMIT, e->base_setup.PA_W_CLIP_LIMIT); - } if(dirty & (ETNA_STATE_SHADER)) { /*00A30*/ EMIT_STATE(PA_ATTRIBUTE_ELEMENT_COUNT, PA_ATTRIBUTE_ELEMENT_COUNT, e->shader_state.PA_ATTRIBUTE_ELEMENT_COUNT); @@ -680,10 +677,6 @@ static void sync_context(struct pipe_context *pipe) } } } - if(dirty & (ETNA_STATE_BASE_SETUP)) - { - /*03814*/ EMIT_STATE(GL_VERTEX_ELEMENT_CONFIG, GL_VERTEX_ELEMENT_CONFIG, e->base_setup.GL_VERTEX_ELEMENT_CONFIG); - } if(dirty & (ETNA_STATE_FRAMEBUFFER | ETNA_STATE_SAMPLE_MASK)) { /*03818*/ EMIT_STATE(GL_MULTI_SAMPLE_CONFIG, GL_MULTI_SAMPLE_CONFIG, e->sample_mask.GL_MULTI_SAMPLE_CONFIG | e->framebuffer.GL_MULTI_SAMPLE_CONFIG); @@ -1960,9 +1953,9 @@ struct pipe_context *etna_new_pipe_context(struct viv_conn *dev, const struct et 16, UTIL_SLAB_SINGLETHREADED); /* Set sensible defaults for state */ - priv->base_setup.PA_W_CLIP_LIMIT = priv->gpu3d.PA_W_CLIP_LIMIT = 0x34000001; - priv->base_setup.GL_VERTEX_ELEMENT_CONFIG = priv->gpu3d.GL_VERTEX_ELEMENT_CONFIG = 0x1; - priv->base_setup.GL_API_MODE = priv->gpu3d.GL_API_MODE = VIVS_GL_API_MODE_OPENGL; + priv->gpu3d.PA_W_CLIP_LIMIT = 0x34000001; + priv->gpu3d.GL_VERTEX_ELEMENT_CONFIG = 0x1; + priv->gpu3d.GL_API_MODE = VIVS_GL_API_MODE_OPENGL; /* fill in vtable entries one by one */ pc->destroy = etna_pipe_destroy; diff --git a/native/driver/etna_pipe.h b/native/driver/etna_pipe.h index 9c81892..6cf50fa 100644 --- a/native/driver/etna_pipe.h +++ b/native/driver/etna_pipe.h @@ -144,7 +144,6 @@ struct etna_transfer /* group all current CSOs, for dirty bits */ enum { - ETNA_STATE_BASE_SETUP = (1<<0), /* basic openGL setup */ ETNA_STATE_BLEND = (1<<1), ETNA_STATE_SAMPLERS = (1<<2), ETNA_STATE_RASTERIZER = (1<<3), @@ -176,9 +175,6 @@ struct etna_pipe_context_priv struct util_slab_mempool transfer_pool; struct blitter_context *blitter; - /* constant */ - struct compiled_base_setup_state base_setup; - /* bindable state */ struct compiled_blend_state *blend; unsigned num_vertex_samplers; |