OSDN Git Service

st/mesa: Disable blending for integer formats.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 25 Aug 2018 06:45:27 +0000 (23:45 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 29 Aug 2018 17:51:11 +0000 (10:51 -0700)
Blending isn't valid for integer formats.  Rather than having drivers
worry about this, just disable blending in this case.  This hopefully
will increase hits in the CSO cache as well, by eliminating most of the
meaningless fields in this case.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_atom_blend.c

index 57400e2..804de2f 100644 (file)
@@ -171,6 +171,7 @@ st_update_blend( struct st_context *st )
       /* blending enabled */
       for (i = 0, j = 0; i < num_state; i++) {
          if (!(ctx->Color.BlendEnabled & (1 << i)) ||
+             (ctx->DrawBuffer->_IntegerBuffers & (1 << i)) ||
              !blend->rt[i].colormask)
             continue;