diff options
author | Christoph Bumiller <[email protected]> | 2012-10-25 14:11:17 +0200 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2012-10-28 14:25:56 +0100 |
commit | 351d3c59f2a1153047d45fcdb23cc487f231683d (patch) | |
tree | 9d635d13810d1dde763c2f52f62102af28aa7eef /src/gallium/drivers/nvc0 | |
parent | eaa8e56108e28ff5fabc8c471f4e904b53c5f8fb (diff) |
nv50,nvc0: fix 2d engine stencil-only copies
Diffstat (limited to 'src/gallium/drivers/nvc0')
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_2d.xml.h | 4 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_surface.c | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_2d.xml.h b/src/gallium/drivers/nvc0/nvc0_2d.xml.h index aebcd510e8e..93dba340899 100644 --- a/src/gallium/drivers/nvc0/nvc0_2d.xml.h +++ b/src/gallium/drivers/nvc0/nvc0_2d.xml.h @@ -167,9 +167,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_2D_OPERATION 0x000002ac #define NVC0_2D_OPERATION_SRCCOPY_AND 0x00000000 #define NVC0_2D_OPERATION_ROP_AND 0x00000001 -#define NVC0_2D_OPERATION_BLEND_AND 0x00000002 +#define NVC0_2D_OPERATION_BLEND 0x00000002 #define NVC0_2D_OPERATION_SRCCOPY 0x00000003 -#define NVC0_2D_OPERATION_UNK4 0x00000004 +#define NVC0_2D_OPERATION_ROP 0x00000004 #define NVC0_2D_OPERATION_SRCCOPY_PREMULT 0x00000005 #define NVC0_2D_OPERATION_BLEND_PREMULT 0x00000006 diff --git a/src/gallium/drivers/nvc0/nvc0_surface.c b/src/gallium/drivers/nvc0/nvc0_surface.c index 4f79020518e..dbd4fa3b794 100644 --- a/src/gallium/drivers/nvc0/nvc0_surface.c +++ b/src/gallium/drivers/nvc0/nvc0_surface.c @@ -964,6 +964,7 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info) } if (mask != 0xffffffff) { + IMMED_NVC0(push, NVC0_2D(ROP), 0xca); /* DPSDxax */ IMMED_NVC0(push, NVC0_2D(PATTERN_COLOR_FORMAT), NVC0_2D_PATTERN_COLOR_FORMAT_32BPP); BEGIN_NVC0(push, NVC0_2D(PATTERN_COLOR(0)), 4); @@ -971,7 +972,7 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info) PUSH_DATA (push, mask); PUSH_DATA (push, 0xffffffff); PUSH_DATA (push, 0xffffffff); - IMMED_NVC0(push, NVC0_2D(OPERATION), NVC0_2D_OPERATION_SRCCOPY_PREMULT); + IMMED_NVC0(push, NVC0_2D(OPERATION), NVC0_2D_OPERATION_ROP); } if (src->ms_x > dst->ms_x || src->ms_y > dst->ms_y) { |