From 1c8905790be301da6d18d2397fd3bbe4a47f987c Mon Sep 17 00:00:00 2001 From: Brian Date: Mon, 30 Jul 2007 13:11:09 -0600 Subject: remove old comments --- src/mesa/pipe/softpipe/sp_prim_setup.c | 9 --------- 1 file changed, 9 deletions(-) (limited to 'src/mesa/pipe') diff --git a/src/mesa/pipe/softpipe/sp_prim_setup.c b/src/mesa/pipe/softpipe/sp_prim_setup.c index d07bd5381d..7b09d7940e 100644 --- a/src/mesa/pipe/softpipe/sp_prim_setup.c +++ b/src/mesa/pipe/softpipe/sp_prim_setup.c @@ -1018,20 +1018,11 @@ static void setup_begin( struct draw_stage *stage ) struct setup_stage *setup = setup_stage(stage); setup->quad.nr_attrs = setup->softpipe->nr_frag_attrs; - - /* - * XXX this is where we might map() the renderbuffers to begin - * s/w rendering. - */ } static void setup_end( struct draw_stage *stage ) { - /* - * XXX this is where we might unmap() the renderbuffers after - * s/w rendering. - */ } -- cgit v1.2.3 From f1569bf0d5fcfd4430e13d6d1bd9c60fb44e9535 Mon Sep 17 00:00:00 2001 From: Brian Date: Mon, 30 Jul 2007 13:11:27 -0600 Subject: map/unmap surfaces before/after rendering --- src/mesa/pipe/softpipe/sp_context.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/mesa/pipe') diff --git a/src/mesa/pipe/softpipe/sp_context.c b/src/mesa/pipe/softpipe/sp_context.c index 3bb04a6835..6b44fabfa4 100644 --- a/src/mesa/pipe/softpipe/sp_context.c +++ b/src/mesa/pipe/softpipe/sp_context.c @@ -32,12 +32,40 @@ #include "main/imports.h" #include "main/macros.h" #include "pipe/draw/draw_context.h" +#include "pipe/p_defines.h" #include "sp_context.h" #include "sp_clear.h" #include "sp_state.h" +#include "sp_surface.h" #include "sp_prim_setup.h" +static void map_surfaces(struct softpipe_context *sp) +{ + GLuint i; + + for (i = 0; i < sp->framebuffer.num_cbufs; i++) { + struct softpipe_surface *sps = softpipe_surface(sp->framebuffer.cbufs[i]); + struct pipe_buffer *buf = &sps->surface.buffer; + buf->map(buf, PIPE_MAP_READ_WRITE); + } + /* XXX depth & stencil bufs */ +} + + +static void unmap_surfaces(struct softpipe_context *sp) +{ + GLuint i; + + for (i = 0; i < sp->framebuffer.num_cbufs; i++) { + struct softpipe_surface *sps = softpipe_surface(sp->framebuffer.cbufs[i]); + struct pipe_buffer *buf = &sps->surface.buffer; + buf->unmap(buf); + } + /* XXX depth & stencil bufs */ +} + + static void softpipe_destroy( struct pipe_context *pipe ) { struct softpipe_context *softpipe = softpipe_context( pipe ); @@ -56,7 +84,10 @@ static void softpipe_draw_vb( struct pipe_context *pipe, if (softpipe->dirty) softpipe_update_derived( softpipe ); + /* XXX move mapping/unmapping to higher/coarser level? */ + map_surfaces(softpipe); draw_vb( softpipe->draw, VB ); + unmap_surfaces(softpipe); } -- cgit v1.2.3