nvc0: make the card permit separate colour outputs
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Sun, 10 Apr 2011 11:57:34 +0000 (13:57 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Sun, 10 Apr 2011 12:06:52 +0000 (14:06 +0200)
src/gallium/drivers/nvc0/nvc0_3d.xml.h
src/gallium/drivers/nvc0/nvc0_screen.c

index 63efc74d4a91d08613943c0393d69a5f1c3d4b71..2ca0bc23836d64a54a95f1eb05c2c04caea6f5e5 100644 (file)
@@ -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
index 7f01a5eea325abe98595a91d42520d27d3524c96..31133f0cc6c1dcc80fbc48e531e102f0756014bb 100644 (file)
@@ -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);