summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv30/nv30_state_emit.c
diff options
context:
space:
mode:
authorPatrice Mandin <pmandin@caramail.com>2008-07-12 13:16:47 +0200
committerPatrice Mandin <pmandin@caramail.com>2008-07-12 13:16:47 +0200
commit12118fcd123992f48ce78629e79e9949b96cd525 (patch)
treec4264b2be234bbfc83388c94091df19a6b95dac6 /src/gallium/drivers/nv30/nv30_state_emit.c
parentac44f334e3492ab68eb310cfe43ed22206a042d8 (diff)
nv30: Emit vertex buffer objects using state objects
Diffstat (limited to 'src/gallium/drivers/nv30/nv30_state_emit.c')
-rw-r--r--src/gallium/drivers/nv30/nv30_state_emit.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/nv30/nv30_state_emit.c b/src/gallium/drivers/nv30/nv30_state_emit.c
index 1e69a6a6e2..40fed621b2 100644
--- a/src/gallium/drivers/nv30/nv30_state_emit.c
+++ b/src/gallium/drivers/nv30/nv30_state_emit.c
@@ -13,6 +13,7 @@ static struct nv30_state_entry *render_states[] = {
&nv30_state_blend_colour,
&nv30_state_zsa,
&nv30_state_viewport,
+ &nv30_state_vbo,
NULL
};
@@ -39,10 +40,7 @@ nv30_state_do_validate(struct nv30_context *nv30,
states++;
}
-
-/* TODO: uncomment when finished converting
nv30->dirty = 0;
-*/
}
void
@@ -71,6 +69,8 @@ nv30_state_emit(struct nv30_context *nv30)
states &= ~(1ULL << i);
}
+ state->dirty = 0;
+
so_emit_reloc_markers(nv30->nvws, state->hw[NV30_STATE_FB]);
for (i = 0, samplers = state->fp_samplers; i < 16 && samplers; i++) {
if (!(samplers & (1 << i)))
@@ -80,6 +80,8 @@ nv30_state_emit(struct nv30_context *nv30)
samplers &= ~(1ULL << i);
}
so_emit_reloc_markers(nv30->nvws, state->hw[NV30_STATE_FRAGPROG]);
+ if (state->hw[NV30_STATE_VTXBUF] /*&& nv30->render_mode == HW*/)
+ so_emit_reloc_markers(nv30->nvws, state->hw[NV30_STATE_VTXBUF]);
}
boolean