summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel_winsys/intel_blit.c
diff options
context:
space:
mode:
authorBrian <brian@i915.localnet.net>2007-08-09 11:11:11 -0600
committerBrian <brian@i915.localnet.net>2007-08-09 14:26:31 -0600
commit334d3650a95786a7f4e8212eb84fe9cf70206d8f (patch)
tree4bdc4eaa91e4ce924b095d2c5cc1431b636f80ec /src/mesa/drivers/dri/intel_winsys/intel_blit.c
parentd177a00e5bcf6bffb3fc0810b720d8534995c752 (diff)
checkpoint: more intel_renderbuffer removal
Diffstat (limited to 'src/mesa/drivers/dri/intel_winsys/intel_blit.c')
-rw-r--r--src/mesa/drivers/dri/intel_winsys/intel_blit.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel_winsys/intel_blit.c b/src/mesa/drivers/dri/intel_winsys/intel_blit.c
index 8e878f0088..7e30c7d034 100644
--- a/src/mesa/drivers/dri/intel_winsys/intel_blit.c
+++ b/src/mesa/drivers/dri/intel_winsys/intel_blit.c
@@ -86,20 +86,37 @@ intelCopyBuffer(__DRIdrawablePrivate * dPriv,
if (dPriv && dPriv->numClipRects) {
struct intel_framebuffer *intel_fb = dPriv->driverPrivate;
+#if 0
const struct pipe_region *backRegion
= intel_fb->Base._ColorDrawBufferMask[0] == BUFFER_BIT_FRONT_LEFT ?
intel_get_rb_region(&intel_fb->Base, BUFFER_FRONT_LEFT) :
intel_get_rb_region(&intel_fb->Base, BUFFER_BACK_LEFT);
+#endif
const int backWidth = intel_fb->Base.Width;
const int backHeight = intel_fb->Base.Height;
const int nbox = dPriv->numClipRects;
const drm_clip_rect_t *pbox = dPriv->pClipRects;
const int pitch = intelScreen->front.pitch / intelScreen->front.cpp;
+#if 0
const int srcpitch = backRegion->pitch;
+#endif
const int cpp = intelScreen->front.cpp;
int BR13, CMD;
int i;
+ const struct pipe_surface *backSurf;
+ const struct pipe_region *backRegion;
+ int srcpitch;
+
+ /* blit from back color buffer if it exists, else front buffer */
+ if (intel_fb->Base.Attachment[BUFFER_BACK_LEFT].Renderbuffer)
+ backSurf = intel_fb->Base.Attachment[BUFFER_BACK_LEFT].Renderbuffer->surface;
+ else
+ backSurf = intel_fb->Base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer->surface;
+
+ backRegion = backSurf->region;
+ srcpitch = backRegion->pitch;
+
ASSERT(intel_fb);
ASSERT(intel_fb->Base.Name == 0); /* Not a user-created FBO */
ASSERT(backRegion);