diff options
author | Marek Olšák | 2010-09-12 05:09:13 +0200 |
---|---|---|
committer | Dave Airlie | 2010-09-13 20:30:18 +1000 |
commit | a41ceb1c17af06a17c0d88e987215ef20b93c471 (patch) | |
tree | ef89ede40fc1450678beeaab5250b008c2d477b6 /drivers/gpu/drm/i830/i830_irq.c | |
parent | ec00efb72f4b88078427d01f38f664c67c7ca0c0 (diff) |
drm/radeon/kms: fix the colorbuffer CS checker for r300-r500
This commit fixes bogus CS rejection if it contains a sequence
of the following operations:
- Set the color buffer 0. track->cb[i].robj becomes non-NULL.
- Render.
- Set a larger zbuffer than the previously-set color buffer.
- Set a larger scissor area as well.
- Set the color channel mask to 0 to do depth-only rendering.
- Render. --> rejected, because track->cb[i].robj remained non-NULL,
therefore the conditional checking for the color channel mask and
friends is not performed, and the larger scissor area causes
the rejection.
This fixes bugs:
- https://bugs.freedesktop.org/show_bug.cgi?id=29762
- https://bugs.freedesktop.org/show_bug.cgi?id=28869
And maybe some others which seem to look the same.
If possible, this commit should go to stable as well.
Signed-off-by: Marek Olšák <maraeo@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/i830/i830_irq.c')
0 files changed, 0 insertions, 0 deletions