summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nvc0
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2012-10-25 14:11:17 +0200
committerChristoph Bumiller <[email protected]>2012-10-28 14:25:56 +0100
commit351d3c59f2a1153047d45fcdb23cc487f231683d (patch)
tree9d635d13810d1dde763c2f52f62102af28aa7eef /src/gallium/drivers/nvc0
parenteaa8e56108e28ff5fabc8c471f4e904b53c5f8fb (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.h4
-rw-r--r--src/gallium/drivers/nvc0/nvc0_surface.c3
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) {