i965: Consider only the scissor rectangle for viewport 0 for clears
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 17 Jan 2014 23:28:23 +0000 (15:28 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 20 Jan 2014 19:32:01 +0000 (11:32 -0800)
noop_scissor (correctly) only examines the scissor rectangle for
viewport 0.  Therefore, it should only be called when that scissor
rectangle is enabled.

v2: Remove spurious change to radeon code.  Noticed by Ken.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_clear.c

index 72950cb518bf6c25b08737646aec392df9135b6a..659d339e1a5c44b6d3f228bbd9ca84a7033a287b 100644 (file)
@@ -121,7 +121,7 @@ brw_fast_clear_depth(struct gl_context *ctx)
     * a previous clear had happened at a different clear value and resolve it
     * first.
     */
-   if (ctx->Scissor.EnableFlags && !noop_scissor(ctx, fb)) {
+   if ((ctx->Scissor.EnableFlags & 1) && !noop_scissor(ctx, fb)) {
       perf_debug("Failed to fast clear depth due to scissor being enabled.  "
                  "Possible 5%% performance win if avoided.\n");
       return false;