summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200/r200_tcl.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-01-23 00:17:38 +1000
committerDave Airlie <airlied@redhat.com>2009-01-23 00:17:38 +1000
commit7d01cb37d94b8966fa089106b902325dbef33a58 (patch)
treecbdf7995bbce71a4f0ffa3fef713c5da7969b524 /src/mesa/drivers/dri/r200/r200_tcl.c
parenteda2284961e46002c7b2bd4e4ae2785d7b0a2191 (diff)
r200: emit elts into a separate ELT bo
Diffstat (limited to 'src/mesa/drivers/dri/r200/r200_tcl.c')
-rw-r--r--src/mesa/drivers/dri/r200/r200_tcl.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_tcl.c b/src/mesa/drivers/dri/r200/r200_tcl.c
index 0f15fd457e..891a942e38 100644
--- a/src/mesa/drivers/dri/r200/r200_tcl.c
+++ b/src/mesa/drivers/dri/r200/r200_tcl.c
@@ -142,23 +142,22 @@ static GLboolean discrete_prim[0x10] = {
static GLushort *r200AllocElts( r200ContextPtr rmesa, GLuint nr )
{
- fprintf(stderr,"alloc elts\n");
- if (rmesa->dma.flush == r200FlushElts &&
- rmesa->store.cmd_used + nr*2 < R200_CMD_BUF_SZ) {
+ fprintf(stderr,"alloc elts %d %d\n", nr, rmesa->tcl.elt_used);
+ if (rmesa->tcl.flush == r200FlushElts &&
+ rmesa->tcl.elt_used + nr*2 < R200_ELT_BUF_SZ) {
- GLushort *dest = (GLushort *)(rmesa->store.cmd_buf +
- rmesa->store.cmd_used);
+ GLushort *dest = (GLushort *)(rmesa->tcl.elt_dma_bo->ptr +
+ rmesa->tcl.elt_used);
- rmesa->store.cmd_used += nr*2;
+ rmesa->tcl.elt_used += nr*2;
return dest;
}
else {
- if (rmesa->dma.flush)
- rmesa->dma.flush( rmesa->radeon.glCtx );
+ if (rmesa->tcl.flush)
+ rmesa->tcl.flush( rmesa );
- rcommonEnsureCmdBufSpace(rmesa, AOS_BUFSZ(rmesa->tcl.nr_aos_components) +
- rmesa->hw.max_state_size + ELTS_BUFSZ(nr) );
+ rcommonEnsureCmdBufSpace(rmesa, AOS_BUFSZ(rmesa->tcl.nr_aos_components));
r200EmitAOS( rmesa,
rmesa->tcl.nr_aos_components, 0 );