diff options
author | Eric Anholt <eric@anholt.net> | 2010-03-16 13:14:38 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-03-16 13:18:54 -0700 |
commit | a589da14dee0c2a32e6e529f1a390b01a3ee4001 (patch) | |
tree | 9b08afda092c84157e9f44fd8545c7e469f55087 /src/mesa/drivers/dri/intel/intel_regions.c | |
parent | 800a4b202f8b23540dbb128e780ca8b7e90d1f46 (diff) |
i965: Fix inversion for glCopyPixels to/from FBOs.
fixes piglit fbo-copypix.
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_regions.c')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_regions.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_regions.c b/src/mesa/drivers/dri/intel/intel_regions.c index f042bcbc28..f8107bd061 100644 --- a/src/mesa/drivers/dri/intel/intel_regions.c +++ b/src/mesa/drivers/dri/intel/intel_regions.c @@ -380,8 +380,11 @@ intel_region_copy(struct intel_context *intel, struct intel_region *src, GLuint src_offset, GLuint srcx, GLuint srcy, GLuint width, GLuint height, + GLboolean flip, GLenum logicop) { + uint32_t src_pitch = src->pitch; + _DBG("%s\n", __FUNCTION__); if (intel == NULL) @@ -397,9 +400,12 @@ intel_region_copy(struct intel_context *intel, assert(src->cpp == dst->cpp); + if (flip) + src_pitch = -src_pitch; + return intelEmitCopyBlit(intel, dst->cpp, - src->pitch, src->buffer, src_offset, src->tiling, + src_pitch, src->buffer, src_offset, src->tiling, dst->pitch, dst->buffer, dst_offset, dst->tiling, srcx, srcy, dstx, dsty, width, height, logicop); |