From: Marek Olšák Date: Sun, 12 Sep 2010 03:09:13 +0000 (+0200) Subject: drm/radeon/kms: fix the colorbuffer CS checker for r300-r500 X-Git-Tag: v2.6.36-rc5~31^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a41ceb1c17af06a17c0d88e987215ef20b93c471;p=pandora-kernel.git 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 Signed-off-by: Dave Airlie --- Reading git-diff-tree failed