summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2013-07-19 08:54:49 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2013-07-19 09:31:58 +0200
commit8ef46c25f1362b34471edf04d7ed80c5adaa99a2 (patch)
treee70436c83368600d2c92b3139a4b1ca44ca065f2
parent87409254caf3bb6ea4844e3ec89ece816297caa2 (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.h8
-rw-r--r--native/driver/etna_pipe.c15
-rw-r--r--native/driver/etna_pipe.h4
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;