mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
svga: Fix PIPE_LOGICOP_INVERT.
Actually the current XOR implementation is an INVERT. This fixes rectangle selection in Maya.
This commit is contained in:
parent
5cb255f0d7
commit
ac597f5acc
1 changed files with 1 additions and 6 deletions
|
|
@ -92,6 +92,7 @@ svga_create_blend_state(struct pipe_context *pipe,
|
|||
if (templ->logicop_enable) {
|
||||
switch (templ->logicop_func) {
|
||||
case PIPE_LOGICOP_XOR:
|
||||
case PIPE_LOGICOP_INVERT:
|
||||
blend->need_white_fragments = TRUE;
|
||||
blend->rt[i].blend_enable = TRUE;
|
||||
blend->rt[i].srcblend = SVGA3D_BLENDOP_ONE;
|
||||
|
|
@ -125,12 +126,6 @@ svga_create_blend_state(struct pipe_context *pipe,
|
|||
blend->rt[i].dstblend = SVGA3D_BLENDOP_ONE;
|
||||
blend->rt[i].blendeq = SVGA3D_BLENDEQ_MAXIMUM;
|
||||
break;
|
||||
case PIPE_LOGICOP_INVERT:
|
||||
blend->rt[i].blend_enable = TRUE;
|
||||
blend->rt[i].srcblend = SVGA3D_BLENDOP_INVSRCCOLOR;
|
||||
blend->rt[i].dstblend = SVGA3D_BLENDOP_ZERO;
|
||||
blend->rt[i].blendeq = SVGA3D_BLENDEQ_ADD;
|
||||
break;
|
||||
case PIPE_LOGICOP_AND:
|
||||
/* Approximate with minimum - works for the 0 & anything case: */
|
||||
blend->rt[i].blend_enable = TRUE;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue