diff options
author | Marek Olšák <maraeo@gmail.com> | 2010-06-19 19:44:06 +0200 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-06-19 20:26:16 +0200 |
commit | 9b2ebcaf4b94bfc8756f6b216e0e452013616f2c (patch) | |
tree | 05806fe50e90951a925230f05ea532b4d5c6fa43 /src/gallium/drivers/r300/r300_transfer.c | |
parent | 4c761843051d7e97be828baad965c13789127dbf (diff) | |
download | external_mesa3d-9b2ebcaf4b94bfc8756f6b216e0e452013616f2c.zip external_mesa3d-9b2ebcaf4b94bfc8756f6b216e0e452013616f2c.tar.gz external_mesa3d-9b2ebcaf4b94bfc8756f6b216e0e452013616f2c.tar.bz2 |
r300g: fix random pixels appearing / incomplete rendering
This should fix the FDO bug #28612.
Also, these piglit tests have been fixed:
- fbo-copypix
- scissor-copypixels
- copytexsubimage
- texredefine
Finally, 2 flushes in the transfer path are no longer needed.
Diffstat (limited to 'src/gallium/drivers/r300/r300_transfer.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_transfer.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/src/gallium/drivers/r300/r300_transfer.c b/src/gallium/drivers/r300/r300_transfer.c index 4f37fab..d41f258 100644 --- a/src/gallium/drivers/r300/r300_transfer.c +++ b/src/gallium/drivers/r300/r300_transfer.c @@ -57,22 +57,11 @@ static void r300_copy_from_tiled_texture(struct pipe_context *ctx, subdst.face = 0; subdst.level = 0; - /* XXX if we don't flush before copying the texture and mapping it, - * we get wrong pixels, i.e. it's like latest draw calls didn't happen, - * including this blit. Tests: e.g. piglit/provoking-vertex - * - * Since the flush immediately before mapping is implicit (the buffer is - * always referenced in resource_copy_region), every read transfer costs - * 2 flushes. That sucks. */ - ctx->flush(ctx, 0, NULL); - ctx->resource_copy_region(ctx, &r300transfer->detiled_texture->b.b, subdst, 0, 0, 0, tex, transfer->sr, transfer->box.x, transfer->box.y, transfer->box.z, transfer->box.width, transfer->box.height); - - /* Flushing after the copy is implicit, issued by winsys. */ } /* Copy a detiled texture to a tiled one. */ @@ -91,9 +80,6 @@ static void r300_copy_into_tiled_texture(struct pipe_context *ctx, &r300transfer->detiled_texture->b.b, subsrc, 0, 0, 0, transfer->box.width, transfer->box.height); - - /* XXX this flush fixes a few piglit tests (e.g. glean/pixelFormats). */ - ctx->flush(ctx, 0, NULL); } struct pipe_transfer* |