Hey all,

So in mesa for swtcl cases we emit vertices to DMA, and set a driver
internal dma.flush hook, we also set
ctx->Driver.NeedFlush |= FLUSH_STORED_VERTICES;

The driver has its FlushVertices pointed at the vbo_exec_FlushVertices
call.

I'm not sure when this ever worked but I assume it did at one stage in
r100 driver since I haven't really changed this code flow, I'm 
contemplating doing something like the below but maybe someone can
say when this all got broken.

Dave.

diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c 
b/src/mesa/drivers/dri/radeon/radeon_context.c
index 8f4485a..d103ac5 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_context.c
@@ -204,6 +204,14 @@ static void r100_init_vtbl(radeonContextPtr radeon)
    radeon->vtbl.emit_query_finish = r100_emit_query_finish;
 }
 
+static void radeon_flush_vertices(GLcontext *ctx, GLuint flags)
+{
+  r100ContextPtr rmesa = R100_CONTEXT(ctx);
+   if (rmesa->radeon.dma.flush)
+     rmesa->radeon.dma.flush(ctx);
+   vbo_exec_FlushVertices(ctx, flags);
+}
+
 /* Create the device specific context.
  */
 GLboolean
@@ -329,6 +337,7 @@ r100CreateContext( const __GLcontextModes *glVisual,
    _swsetup_CreateContext( ctx );
    _ae_create_context( ctx );
 
+   ctx->Driver.FlushVertices = radeon_flush_vertices;
    /* Install the customized pipeline:
     */
    _tnl_destroy_pipeline( ctx );



------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to