On Fri, Mar 16, 2012 at 04:26:42PM -0700, Eric Anholt wrote: > It also asks for BMPs in the aub file at SwapBuffers time. > --- > src/mesa/drivers/dri/intel/intel_context.c | 4 +++ > src/mesa/drivers/dri/intel/intel_context.h | 1 + > src/mesa/drivers/dri/intel/intel_screen.c | 32 > ++++++++++++++++++++++++++++ > 3 files changed, 37 insertions(+), 0 deletions(-)
Reviewed-by: Yuanhan Liu <yuanhan....@linux.intel.com> > > diff --git a/src/mesa/drivers/dri/intel/intel_context.c > b/src/mesa/drivers/dri/intel/intel_context.c > index 7b2bdad..ff721fb 100644 > --- a/src/mesa/drivers/dri/intel/intel_context.c > +++ b/src/mesa/drivers/dri/intel/intel_context.c > @@ -477,6 +477,7 @@ static const struct dri_debug_control debug_control[] = { > { "urb", DEBUG_URB }, > { "vs", DEBUG_VS }, > { "clip", DEBUG_CLIP }, > + { "aub", DEBUG_AUB }, > { NULL, 0 } > }; > > @@ -754,6 +755,9 @@ intelInitContext(struct intel_context *intel, > if (INTEL_DEBUG & DEBUG_BUFMGR) > dri_bufmgr_set_debug(intel->bufmgr, true); > > + if (INTEL_DEBUG & DEBUG_AUB) > + drm_intel_bufmgr_gem_set_aub_dump(intel->bufmgr, true); > + > intel_batchbuffer_init(intel); > > intel_fbo_init(intel); > diff --git a/src/mesa/drivers/dri/intel/intel_context.h > b/src/mesa/drivers/dri/intel/intel_context.h > index ef024b1..7b42009 100644 > --- a/src/mesa/drivers/dri/intel/intel_context.h > +++ b/src/mesa/drivers/dri/intel/intel_context.h > @@ -472,6 +472,7 @@ extern int INTEL_DEBUG; > #define DEBUG_URB 0x800000 > #define DEBUG_VS 0x1000000 > #define DEBUG_CLIP 0x2000000 > +#define DEBUG_AUB 0x4000000 > > #define DBG(...) do { \ > if (unlikely(INTEL_DEBUG & FILE_DEBUG_FLAG)) \ > diff --git a/src/mesa/drivers/dri/intel/intel_screen.c > b/src/mesa/drivers/dri/intel/intel_screen.c > index 48762d0..7939c4d 100644 > --- a/src/mesa/drivers/dri/intel/intel_screen.c > +++ b/src/mesa/drivers/dri/intel/intel_screen.c > @@ -125,6 +125,38 @@ intelDRI2Flush(__DRIdrawable *drawable) > > if (intel->batch.used) > intel_batchbuffer_flush(intel); > + > + if (INTEL_DEBUG & DEBUG_AUB) { > + struct gl_framebuffer *fb = ctx->DrawBuffer; > + > + for (int i = 0; i < fb->_NumColorDrawBuffers; i++) { > + struct intel_renderbuffer *irb = > + intel_renderbuffer(fb->_ColorDrawBuffers[i]); > + > + if (irb && irb->mt) { > + enum aub_dump_bmp_format format; > + > + switch (irb->Base.Base.Format) { > + case MESA_FORMAT_ARGB8888: > + case MESA_FORMAT_XRGB8888: > + format = AUB_DUMP_BMP_FORMAT_ARGB_8888; > + break; > + default: > + continue; > + } > + > + drm_intel_gem_bo_aub_dump_bmp(irb->mt->region->bo, > + irb->draw_x, > + irb->draw_y, > + irb->Base.Base.Width, > + irb->Base.Base.Height, > + format, > + irb->mt->region->pitch * > + irb->mt->region->cpp, > + 0); > + } > + } > + } > } > > static const struct __DRI2flushExtensionRec intelFlushExtension = { > -- > 1.7.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev