r300: don't emit vap index offset on r5xx hw when using cs
authorJerome Glisse <jglisse@redhat.com>
Wed, 17 Jun 2009 11:51:33 +0000 (13:51 +0200)
committerJerome Glisse <jglisse@redhat.com>
Wed, 17 Jun 2009 11:54:09 +0000 (13:54 +0200)
vap index offset is programmed to 0 by the kernel, it
would add work to kernel checker to allow userspace
programming of this so it's now disallowed with CS
on KMS.

src/mesa/drivers/dri/r300/r300_cmdbuf.c

index 0261a5b1d8ace091057e26854649de7de488a37c..b5c6bd18353036948718060adb35d3a850514c00 100644 (file)
@@ -503,7 +503,7 @@ void r300InitCmdBuf(r300ContextPtr r300)
        r300->hw.vap_cntl.cmd[R300_VAP_CNTL_FLUSH] = cmdpacket0(r300->radeon.radeonScreen, R300_VAP_PVS_STATE_FLUSH_REG, 1);
        r300->hw.vap_cntl.cmd[R300_VAP_CNTL_FLUSH_1] = 0;
        r300->hw.vap_cntl.cmd[R300_VAP_CNTL_CMD] = cmdpacket0(r300->radeon.radeonScreen, R300_VAP_CNTL, 1);
-       if (is_r500) {
+       if (is_r500 && !r300->radeon.radeonScreen->kernel_mm) {
            ALLOC_STATE(vap_index_offset, always, 2, 0);
            r300->hw.vap_index_offset.cmd[0] = cmdpacket0(r300->radeon.radeonScreen, R500_VAP_INDEX_OFFSET, 1);
            r300->hw.vap_index_offset.cmd[1] = 0;