summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-07-16 12:56:07 -0700
committerEric Anholt <eric@anholt.net>2009-07-16 12:56:07 -0700
commitbb3007384298cb57625ec0b3868dff9b23568f3e (patch)
treeedc090402c3c256eab7c8c1054518714e351bc2f
parent8dd7ccf37e2de6d80b556e6d18af244cefc1e417 (diff)
Really fix i915 render. Fail at commit --amend.
-rw-r--r--src/i830.h2
-rw-r--r--src/i915_render.c25
2 files changed, 13 insertions, 14 deletions
diff --git a/src/i830.h b/src/i830.h
index 54dddd84..21c98f5b 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -482,8 +482,6 @@ typedef struct _I830Rec {
struct {
int op;
- PicturePtr pSrcPicture, pMaskPicture, pDstPicture;
- PixmapPtr pSrc, pMask, pDst;
uint32_t dst_format;
Bool is_nearest;
Bool needs_emit;
diff --git a/src/i915_render.c b/src/i915_render.c
index 2d119862..c81366ae 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -322,6 +322,13 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture,
i830_get_pixmap_bo(pDst),
};
+ pI830->render_src_picture = pSrcPicture;
+ pI830->render_src = pSrc;
+ pI830->render_mask_picture = pMaskPicture;
+ pI830->render_mask = pMask;
+ pI830->render_dst_picture = pDstPicture;
+ pI830->render_dst = pDst;
+
i830_exa_check_pitch_3d(pSrc);
if (pMask)
i830_exa_check_pitch_3d(pMask);
@@ -351,12 +358,6 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture,
}
pI830->i915_render_state.op = op;
- pI830->i915_render_state.pSrcPicture = pSrcPicture;
- pI830->i915_render_state.pMaskPicture = pMaskPicture;
- pI830->i915_render_state.pDstPicture = pDstPicture;
- pI830->i915_render_state.pSrc = pSrc;
- pI830->i915_render_state.pMask = pMask;
- pI830->i915_render_state.pDst = pDst;
pI830->i915_render_state.needs_emit = TRUE;
return TRUE;
@@ -367,12 +368,12 @@ i915_emit_composite_setup(ScrnInfoPtr pScrn)
{
I830Ptr pI830 = I830PTR(pScrn);
int op = pI830->i915_render_state.op;
- PicturePtr pSrcPicture = pI830->i915_render_state.pSrcPicture;
- PicturePtr pMaskPicture = pI830->i915_render_state.pMaskPicture;
- PicturePtr pDstPicture = pI830->i915_render_state.pDstPicture;
- PixmapPtr pSrc = pI830->i915_render_state.pSrc;
- PixmapPtr pMask = pI830->i915_render_state.pMask;
- PixmapPtr pDst = pI830->i915_render_state.pDst;
+ PicturePtr pSrcPicture = pI830->render_src_picture;
+ PicturePtr pMaskPicture = pI830->render_mask_picture;
+ PicturePtr pDstPicture = pI830->render_dst_picture;
+ PixmapPtr pSrc = pI830->render_src;
+ PixmapPtr pMask = pI830->render_mask;
+ PixmapPtr pDst = pI830->render_dst;
uint32_t dst_format = pI830->i915_render_state.dst_format, dst_pitch;
uint32_t blendctl;
int out_reg = FS_OC;