summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2011-04-10 13:57:34 +0200
committerChristoph Bumiller <[email protected]>2011-04-10 14:06:52 +0200
commit003224bd970e9cb63b0d3d12e1a8f2f3b3a736e6 (patch)
treed97deac45e56a0687ceac6e692430fb65c6b3a4e /src
parent7b4e478496cf45f527f72c39d72efe2e94fe2386 (diff)
nvc0: make the card permit separate colour outputs
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/nvc0/nvc0_3d.xml.h2
-rw-r--r--src/gallium/drivers/nvc0/nvc0_screen.c16
2 files changed, 4 insertions, 14 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_3d.xml.h b/src/gallium/drivers/nvc0/nvc0_3d.xml.h
index 63efc74d4a9..2ca0bc23836 100644
--- a/src/gallium/drivers/nvc0/nvc0_3d.xml.h
+++ b/src/gallium/drivers/nvc0/nvc0_3d.xml.h
@@ -350,6 +350,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_DEPTH_BOUNDS__ESIZE 0x00000004
#define NVC0_3D_DEPTH_BOUNDS__LEN 0x00000002
+#define NVC0_3D_RT_SEPARATE_FRAG_DATA 0x00000fac
+
#define NVC0_3D_MSAA_MASK(i0) (0x00000fbc + 0x4*(i0))
#define NVC0_3D_MSAA_MASK__ESIZE 0x00000004
#define NVC0_3D_MSAA_MASK__LEN 0x00000004
diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c
index 7f01a5eea32..31133f0cc6c 100644
--- a/src/gallium/drivers/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nvc0/nvc0_screen.c
@@ -310,9 +310,6 @@ nvc0_magic_3d_init(struct nouveau_channel *chan)
OUT_RING (chan, 1);
BEGIN_RING(chan, RING_3D_(0x075c), 1);
OUT_RING (chan, 3);
-
- BEGIN_RING(chan, RING_3D_(0x0fac), 1);
- OUT_RING (chan, 0);
}
static void
@@ -564,17 +561,6 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
OUT_RING (chan, 8192 << 16);
OUT_RING (chan, 8192 << 16);
- BEGIN_RING(chan, RING_3D_(0x0fac), 1);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, RING_3D_(0x3484), 1);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, RING_3D_(0x0dbc), 1);
- OUT_RING (chan, 0x00010000);
- BEGIN_RING(chan, RING_3D_(0x0dd8), 1);
- OUT_RING (chan, 0xff800006);
- BEGIN_RING(chan, RING_3D_(0x3488), 1);
- OUT_RING (chan, 0);
-
#define MK_MACRO(m, n) i = nvc0_graph_set_macro(screen, m, i, sizeof(n), n);
i = 0;
@@ -587,6 +573,8 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
BEGIN_RING(chan, RING_3D(RASTERIZE_ENABLE), 1);
OUT_RING (chan, 1);
+ BEGIN_RING(chan, RING_3D(RT_SEPARATE_FRAG_DATA), 1);
+ OUT_RING (chan, 1);
BEGIN_RING(chan, RING_3D(GP_SELECT), 1);
OUT_RING (chan, 0x40);
BEGIN_RING(chan, RING_3D(LAYER), 1);