ChangeLog | 76 + debian/changelog | 11 debian/patches/03_work-around-exa-hangs.patch | 33 debian/patches/series | 1 src/drmmode_display.c | 20 src/nouveau_class.h | 1169 ++++++++++++++++++++++++-- src/nouveau_dri2.c | 12 src/nouveau_exa.c | 10 src/nouveau_xv.c | 18 src/nv04_exa.c | 4 src/nv30_exa.c | 2 src/nv40_exa.c | 2 src/nv50_accel.c | 8 src/nv50_exa.c | 22 src/nv_driver.c | 34 15 files changed, 1268 insertions(+), 154 deletions(-)
New commits: commit 9627898efd2aa4d17f9fa99637b76b0fc96b8779 Author: Christopher James Halse Rogers <christopher.halse.rog...@canonical.com> Date: Mon Aug 9 18:20:47 2010 +1000 Add changelog entry for new snapshot diff --git a/debian/changelog b/debian/changelog index 743eba9..1629c02 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +xserver-xorg-video-nouveau (1:0.0.16+git20100805+b96170a-0ubuntu1) maverick; urgency=low + + * New upstream snapshot + - Fixes segfault in DRI2 on Xserver 1.9 + - Fixes assert on Xserver 1.9 startup due to uninitialised scratch pixmaps + * debian/patches/03_work-around-exa-hangs.patch: + - Revert a commit which removes a work-around for EXA hangs; we do not yet + have the associated kernel commit in our tree. + + -- Christopher James Halse Rogers <r...@ubuntu.com> Thu, 05 Aug 2010 15:02:37 +1000 + xserver-xorg-video-nouveau (1:0.0.16+git20100518+4b8f1a0-0ubuntu1) maverick; urgency=low [Christopher James Halse Rogers] diff --git a/debian/patches/series b/debian/patches/series index 57f5d9d..b5e3c03 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 01-set-NV_DRIVER_DATE-from-ChangeLog.diff 02_nouveau_bgnr +03_work-around-exa-hangs.patch commit 6fad7e0143d558349a6bbaee17000816f28bb03c Author: Christopher James Halse Rogers <christopher.halse.rog...@canonical.com> Date: Thu Aug 5 17:10:48 2010 +1000 New upstream version diff --git a/debian/patches/03_work-around-exa-hangs.patch b/debian/patches/03_work-around-exa-hangs.patch new file mode 100644 index 0000000..0c5e7fd --- /dev/null +++ b/debian/patches/03_work-around-exa-hangs.patch @@ -0,0 +1,33 @@ +Description: Re-add exa hang workaround. + . + This reverts commit 321eb2df5c8b1da4d6469037dd1d8888b508fabd: + . + Revert "nv04-nv40/exa: Match the blob behavior more closely on PrepareCopy." + . + This reverts commit 9de0d97bd2fc2ee8800d48b5340a3d495525ad3e. Unnecessary + after kernel commit "drm/nouveau: Ack the context switch interrupt before + switching contexts.". + . + We do not yet have the named commit in our kernel tree. + + +Index: xserver-xorg-video-nouveau/src/nv04_exa.c +=================================================================== +--- xserver-xorg-video-nouveau.orig/src/nv04_exa.c 2010-08-05 15:03:35.247880586 +1000 ++++ xserver-xorg-video-nouveau/src/nv04_exa.c 2010-08-05 15:04:17.969451030 +1000 +@@ -207,11 +207,15 @@ + return FALSE; + } + ++ BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_SURFACE, 1); ++ OUT_RING (chan, pNv->NvContextSurfaces->handle); + BEGIN_RING(chan, blit, NV01_IMAGE_BLIT_OPERATION, 1); + OUT_RING (chan, 1); /* ROP_AND */ + + NV04EXASetROP(pScrn, alu, planemask); + } else { ++ BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_SURFACE, 1); ++ OUT_RING (chan, pNv->NvContextSurfaces->handle); + BEGIN_RING(chan, blit, NV01_IMAGE_BLIT_OPERATION, 1); + OUT_RING (chan, 3); /* SRCCOPY */ + } commit bfa59b85536af6645f72f125d2bcb747dcadad29 Author: Christopher James Halse Rogers <christopher.halse.rog...@canonical.com> Date: Thu Aug 5 14:57:24 2010 +1000 Imported Upstream version 0.0.16+git20100805+b96170a diff --git a/ChangeLog b/ChangeLog index 71b05d6..36a2200 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,79 @@ +commit b96170a4e51c1d3167601210ca31e98283c02885 +Author: Francisco Jerez <curroje...@riseup.net> +Date: Thu Aug 5 00:40:40 2010 +0200 + + nv10/exa: Bump maxX/maxY to 4096/4096. + + This way we can do accelerated 2D on larger pixmaps, it will still + fall back to software when we hit the 2048x2048 texturing limit in a + composite operation. + +commit 321eb2df5c8b1da4d6469037dd1d8888b508fabd +Author: Francisco Jerez <curroje...@riseup.net> +Date: Wed Aug 4 13:11:24 2010 +0200 + + Revert "nv04-nv40/exa: Match the blob behavior more closely on PrepareCopy." + + This reverts commit 9de0d97bd2fc2ee8800d48b5340a3d495525ad3e. Unnecessary + after kernel commit "drm/nouveau: Ack the context switch interrupt before + switching contexts.". + +commit db98ad23633958e52f84501c5a2061d42d346b64 +Author: Francisco Jerez <curroje...@riseup.net> +Date: Tue Jun 15 15:32:36 2010 +0200 + + dri2: Fix for the last DRI2InfoRec ABI. + + Just pre-fill the whole structure with zeros to avoid future + segfaults. + +commit 9a3d0ab43f6335ab6cd48be4aa2f4f728386b386 +Author: Ben Skeggs <bske...@redhat.com> +Date: Fri Jun 11 21:58:38 2010 +1000 + + call NVEnterVT from CreateScreenResources + + We need to grab DRM master here for things to work, so we may as well call + NVEnterVT as we used to in NVScreenInit up until the previous commit. + + Fixes server regeneration. + +commit 964eeac6dc2209da6aa8861aa8b0bc028700ab3d +Author: Ben Skeggs <bske...@redhat.com> +Date: Thu Jun 10 09:38:19 2010 +1000 + + fix for server 1.9 + +commit c079408e287ad09e954fa3985f95912c02cf06bc +Author: Christoph Bumiller <e0425...@student.tuwien.ac.at> +Date: Thu Jun 10 01:07:49 2010 +0200 + + nv50/accel: fix perspective interps in YUV to RGB shader + +commit 65153490f7d74d45a92adbd9c5e2bbe11c884b00 +Author: Ben Skeggs <bske...@redhat.com> +Date: Wed Jun 9 16:12:28 2010 +1000 + + use libc directly for [cm]alloc/free + +commit 2958cf464dca9761f0fa21c8dd2d8fa8c8a96791 +Author: Ben Skeggs <bske...@redhat.com> +Date: Thu May 27 10:06:47 2010 +1000 + + nv50/exa: rip out compat defines, we depend on 1.7 anyway + +commit af40bf0af47ebcb7de2dc418429f0b56f8c04d15 +Author: Ben Skeggs <bske...@redhat.com> +Date: Wed May 26 16:11:01 2010 +1000 + + nv50/exa: new nouveau_class.h has correct blend func defines + +commit 8950c5b2a0d318e2568bec38a39d744b968c9b85 +Author: Ben Skeggs <bske...@redhat.com> +Date: Wed May 26 16:09:48 2010 +1000 + + update nouveau_class.h + commit 4b8f1a082069a17555d4142003213cf83d4e5464 Author: Lubomir Rintel <lkund...@v3.sk> Date: Mon May 10 09:25:55 2010 +0200 commit b96170a4e51c1d3167601210ca31e98283c02885 Author: Francisco Jerez <curroje...@riseup.net> Date: Thu Aug 5 00:40:40 2010 +0200 nv10/exa: Bump maxX/maxY to 4096/4096. This way we can do accelerated 2D on larger pixmaps, it will still fall back to software when we hit the 2048x2048 texturing limit in a composite operation. diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c index 1b8888e..80d0338 100644 --- a/src/nouveau_exa.c +++ b/src/nouveau_exa.c @@ -524,7 +524,7 @@ nouveau_exa_init(ScreenPtr pScreen) exa->maxX = 8192; exa->maxY = 8192; } else - if (pNv->Architecture >= NV_ARCH_20) { + if (pNv->Architecture >= NV_ARCH_10) { exa->maxX = 4096; exa->maxY = 4096; } else { commit 321eb2df5c8b1da4d6469037dd1d8888b508fabd Author: Francisco Jerez <curroje...@riseup.net> Date: Wed Aug 4 13:11:24 2010 +0200 Revert "nv04-nv40/exa: Match the blob behavior more closely on PrepareCopy." This reverts commit 9de0d97bd2fc2ee8800d48b5340a3d495525ad3e. Unnecessary after kernel commit "drm/nouveau: Ack the context switch interrupt before switching contexts.". diff --git a/src/nv04_exa.c b/src/nv04_exa.c index c5e44a5..19c5fc5 100644 --- a/src/nv04_exa.c +++ b/src/nv04_exa.c @@ -207,15 +207,11 @@ NV04EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int dx, int dy, return FALSE; } - BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_SURFACE, 1); - OUT_RING (chan, pNv->NvContextSurfaces->handle); BEGIN_RING(chan, blit, NV01_IMAGE_BLIT_OPERATION, 1); OUT_RING (chan, 1); /* ROP_AND */ NV04EXASetROP(pScrn, alu, planemask); } else { - BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_SURFACE, 1); - OUT_RING (chan, pNv->NvContextSurfaces->handle); BEGIN_RING(chan, blit, NV01_IMAGE_BLIT_OPERATION, 1); OUT_RING (chan, 3); /* SRCCOPY */ } commit db98ad23633958e52f84501c5a2061d42d346b64 Author: Francisco Jerez <curroje...@riseup.net> Date: Tue Jun 15 15:32:36 2010 +0200 dri2: Fix for the last DRI2InfoRec ABI. Just pre-fill the whole structure with zeros to avoid future segfaults. diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c index 9082515..f7675fc 100644 --- a/src/nouveau_dri2.c +++ b/src/nouveau_dri2.c @@ -121,7 +121,7 @@ nouveau_dri2_init(ScreenPtr pScreen) { ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; NVPtr pNv = NVPTR(pScrn); - DRI2InfoRec dri2; + DRI2InfoRec dri2 = { 0 }; if (pNv->Architecture >= NV_ARCH_30) dri2.driverName = "nouveau"; @@ -135,12 +135,6 @@ nouveau_dri2_init(ScreenPtr pScreen) dri2.CreateBuffer = nouveau_dri2_create_buffer; dri2.DestroyBuffer = nouveau_dri2_destroy_buffer; dri2.CopyRegion = nouveau_dri2_copy_region; -#if DRI2INFOREC_VERSION >= 4 - dri2.ScheduleSwap = NULL; - dri2.ScheduleWaitMSC = NULL; - dri2.GetMSC = NULL; - dri2.numDrivers = 0; -#endif return DRI2ScreenInit(pScreen, &dri2); } commit 9a3d0ab43f6335ab6cd48be4aa2f4f728386b386 Author: Ben Skeggs <bske...@redhat.com> Date: Fri Jun 11 21:58:38 2010 +1000 call NVEnterVT from CreateScreenResources We need to grab DRM master here for things to work, so we may as well call NVEnterVT as we used to in NVScreenInit up until the previous commit. Fixes server regeneration. diff --git a/src/nv_driver.c b/src/nv_driver.c index d9c5115..0abe400 100644 --- a/src/nv_driver.c +++ b/src/nv_driver.c @@ -390,7 +390,7 @@ NVCreateScreenResources(ScreenPtr pScreen) pScreen->CreateScreenResources = NVCreateScreenResources; drmmode_fbcon_copy(pScreen); - if (!xf86SetDesiredModes(pScrn)) + if (!NVEnterVT(pScrn->scrnIndex, 0)) return FALSE; if (!pNv->NoAccel) { commit 964eeac6dc2209da6aa8861aa8b0bc028700ab3d Author: Ben Skeggs <bske...@redhat.com> Date: Thu Jun 10 09:38:19 2010 +1000 fix for server 1.9 diff --git a/src/nv_driver.c b/src/nv_driver.c index a0483df..d9c5115 100644 --- a/src/nv_driver.c +++ b/src/nv_driver.c @@ -389,6 +389,10 @@ NVCreateScreenResources(ScreenPtr pScreen) return FALSE; pScreen->CreateScreenResources = NVCreateScreenResources; + drmmode_fbcon_copy(pScreen); + if (!xf86SetDesiredModes(pScrn)) + return FALSE; + if (!pNv->NoAccel) { ppix = pScreen->GetScreenPixmap(pScreen); nouveau_bo_ref(pNv->scanout, &nouveau_pixmap(ppix)->bo); @@ -1138,10 +1142,6 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) pNv->BlockHandler = pScreen->BlockHandler; pScreen->BlockHandler = NVBlockHandler; - drmmode_fbcon_copy(pScreen); - - if (!NVEnterVT(pScrn->scrnIndex, 0)) - return FALSE; pScrn->vtSema = TRUE; pScrn->pScreen = pScreen; commit c079408e287ad09e954fa3985f95912c02cf06bc Author: Christoph Bumiller <e0425...@student.tuwien.ac.at> Date: Thu Jun 10 01:07:49 2010 +0200 nv50/accel: fix perspective interps in YUV to RGB shader diff --git a/src/nv50_accel.c b/src/nv50_accel.c index 1218e18..bbcea23 100644 --- a/src/nv50_accel.c +++ b/src/nv50_accel.c @@ -322,8 +322,8 @@ NVAccelInitNV50TCL(ScrnInfoPtr pScrn) BEGIN_RING_NI(chan, tesla, NV50TCL_CB_DATA(0), 34); OUT_RING (chan, 0x80000008); OUT_RING (chan, 0x90000408); - OUT_RING (chan, 0x80010400); - OUT_RING (chan, 0x80020404); + OUT_RING (chan, 0x82010400); + OUT_RING (chan, 0x82020404); OUT_RING (chan, 0xf0400001); OUT_RING (chan, 0x00008784); OUT_RING (chan, 0xc0080001); @@ -334,8 +334,8 @@ NVAccelInitNV50TCL(ScrnInfoPtr pScrn) OUT_RING (chan, 0x03f078ff); OUT_RING (chan, 0xb0220015); OUT_RING (chan, 0x0bf8a677); - OUT_RING (chan, 0x80030400); - OUT_RING (chan, 0x80040404); + OUT_RING (chan, 0x82030400); + OUT_RING (chan, 0x82040404); OUT_RING (chan, 0xf0400201); OUT_RING (chan, 0x0000c784); OUT_RING (chan, 0xc0160009); commit 65153490f7d74d45a92adbd9c5e2bbe11c884b00 Author: Ben Skeggs <bske...@redhat.com> Date: Wed Jun 9 16:12:28 2010 +1000 use libc directly for [cm]alloc/free diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 7867ddb..9b5d52d 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -293,7 +293,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode, if (!xf86CrtcRotate(crtc)) return FALSE; - output_ids = xcalloc(sizeof(uint32_t), xf86_config->num_output); + output_ids = calloc(sizeof(uint32_t), xf86_config->num_output); if (!output_ids) return FALSE; @@ -321,7 +321,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode, ret = drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, fb_id, x, y, output_ids, output_count, &kmode); - xfree(output_ids); + free(output_ids); if (ret) { xf86DrvMsg(crtc->scrn->scrnIndex, X_ERROR, @@ -646,10 +646,10 @@ drmmode_output_destroy(xf86OutputPtr output) drmModeFreePropertyBlob(drmmode_output->edid_blob); for (i = 0; i < drmmode_output->num_props; i++) { drmModeFreeProperty(drmmode_output->props[i].mode_prop); - xfree(drmmode_output->props[i].atoms); + free(drmmode_output->props[i].atoms); } drmModeFreeConnector(drmmode_output->mode_output); - xfree(drmmode_output); + free(drmmode_output); output->driver_private = NULL; } @@ -707,7 +707,7 @@ drmmode_output_create_resources(xf86OutputPtr output) uint32_t value; int i, j, err; - drmmode_output->props = xcalloc(mode_output->count_props, sizeof(drmmode_prop_rec)); + drmmode_output->props = calloc(mode_output->count_props, sizeof(drmmode_prop_rec)); if (!drmmode_output->props) return; @@ -734,7 +734,7 @@ drmmode_output_create_resources(xf86OutputPtr output) INT32 range[2]; p->num_atoms = 1; - p->atoms = xcalloc(p->num_atoms, sizeof(Atom)); + p->atoms = calloc(p->num_atoms, sizeof(Atom)); if (!p->atoms) continue; p->atoms[0] = MakeAtom(drmmode_prop->name, strlen(drmmode_prop->name), TRUE); @@ -757,7 +757,7 @@ drmmode_output_create_resources(xf86OutputPtr output) } } else if (drmmode_prop->flags & DRM_MODE_PROP_ENUM) { p->num_atoms = drmmode_prop->count_enums + 1; - p->atoms = xcalloc(p->num_atoms, sizeof(Atom)); + p->atoms = calloc(p->num_atoms, sizeof(Atom)); if (!p->atoms) continue; p->atoms[0] = MakeAtom(drmmode_prop->name, strlen(drmmode_prop->name), TRUE); @@ -969,7 +969,7 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num) return; } - drmmode_output = xcalloc(sizeof(drmmode_output_private_rec), 1); + drmmode_output = calloc(sizeof(drmmode_output_private_rec), 1); if (!drmmode_output) { xf86OutputDestroy(output); drmModeFreeConnector(koutput); @@ -1054,9 +1054,9 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height) } if (pNv->ShadowPtr) { - xfree(pNv->ShadowPtr); + free(pNv->ShadowPtr); pNv->ShadowPitch = pitch; - pNv->ShadowPtr = xalloc(pNv->ShadowPitch * height); + pNv->ShadowPtr = malloc(pNv->ShadowPitch * height); } ppix = screen->GetScreenPixmap(screen); diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c index e33bf16..9082515 100644 --- a/src/nouveau_dri2.c +++ b/src/nouveau_dri2.c @@ -30,7 +30,7 @@ nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int attachment, struct nouveau_dri2_buffer *nvbuf; PixmapPtr ppix; - nvbuf = xcalloc(1, sizeof(*nvbuf)); + nvbuf = calloc(1, sizeof(*nvbuf)); if (!nvbuf) return NULL; @@ -81,7 +81,7 @@ nouveau_dri2_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buf) return; pDraw->pScreen->DestroyPixmap(nvbuf->ppix); - xfree(nvbuf); + free(nvbuf); } void diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c index 964bc73..1b8888e 100644 --- a/src/nouveau_exa.c +++ b/src/nouveau_exa.c @@ -322,13 +322,13 @@ nouveau_exa_create_pixmap(ScreenPtr pScreen, int width, int height, int depth, int ret, size, cpp = bitsPerPixel >> 3; if (!width || !height) - return xcalloc(1, sizeof(*nvpix)); + return calloc(1, sizeof(*nvpix)); if (!pNv->exa_force_cp && pNv->dev->vm_vram_size <= 32*1024*1024) return NULL; - nvpix = xcalloc(1, sizeof(*nvpix)); + nvpix = calloc(1, sizeof(*nvpix)); if (!nvpix) return NULL; @@ -369,7 +369,7 @@ nouveau_exa_create_pixmap(ScreenPtr pScreen, int width, int height, int depth, ret = nouveau_bo_new_tile(pNv->dev, flags, 0, size, tile_mode, tile_flags, &nvpix->bo); if (ret) { - xfree(nvpix); + free(nvpix); return NULL; } @@ -385,7 +385,7 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv) return; nouveau_bo_ref(NULL, &nvpix->bo); - xfree(nvpix); + free(nvpix); } bool diff --git a/src/nouveau_xv.c b/src/nouveau_xv.c index d1f87c3..4437aa6 100644 --- a/src/nouveau_xv.c +++ b/src/nouveau_xv.c @@ -1579,7 +1579,7 @@ NVSetupBlitVideo (ScreenPtr pScreen) NVPortPrivPtr pPriv; int i; - if (!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + + if (!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + sizeof(NVPortPrivRec) + (sizeof(DevUnion) * NUM_BLIT_PORTS)))) { return NULL; @@ -1647,7 +1647,7 @@ NVSetupOverlayVideoAdapter(ScreenPtr pScreen) XF86VideoAdaptorPtr adapt; NVPortPrivPtr pPriv; - if (!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + + if (!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + sizeof(NVPortPrivRec) + sizeof(DevUnion)))) { return NULL; @@ -1843,7 +1843,7 @@ NV30SetupTexturedVideo (ScreenPtr pScreen, Bool bicubic) NVPortPrivPtr pPriv; int i; - if (!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + + if (!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + sizeof(NVPortPrivRec) + (sizeof(DevUnion) * NUM_TEXTURE_PORTS)))) { return NULL; @@ -1924,7 +1924,7 @@ NV40SetupTexturedVideo (ScreenPtr pScreen, Bool bicubic) NVPortPrivPtr pPriv; int i; - if (!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + + if (!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + sizeof(NVPortPrivRec) + (sizeof(DevUnion) * NUM_TEXTURE_PORTS)))) { return NULL; @@ -1995,7 +1995,7 @@ NV50SetupTexturedVideo (ScreenPtr pScreen) NVPortPrivPtr pPriv; int i; - if (!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + + if (!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + sizeof(NVPortPrivRec) + (sizeof(DevUnion) * NUM_TEXTURE_PORTS)))) { return NULL; @@ -2099,7 +2099,7 @@ NVInitVideo(ScreenPtr pScreen) if(textureAdaptor[0]) size++; if(textureAdaptor[1]) size++; - newAdaptors = xalloc(size * sizeof(XF86VideoAdaptorPtr *)); + newAdaptors = malloc(size * sizeof(XF86VideoAdaptorPtr *)); if(newAdaptors) { if(num_adaptors) { memcpy(newAdaptors, adaptors, num_adaptors * @@ -2133,14 +2133,14 @@ NVInitVideo(ScreenPtr pScreen) if (num_adaptors) xf86XVScreenInit(pScreen, adaptors, num_adaptors); if (newAdaptors) - xfree(newAdaptors); + free(newAdaptors); /* * For now we associate with the plain texture adapter since it is logical, but we can * associate with any/all adapters since VL doesn't depend on Xv for color conversion. */ if (textureAdaptor[0]) { - XF86MCAdaptorPtr *adaptorsXvMC = xalloc(sizeof(XF86MCAdaptorPtr)); + XF86MCAdaptorPtr *adaptorsXvMC = malloc(sizeof(XF86MCAdaptorPtr)); if (adaptorsXvMC) { adaptorsXvMC[0] = vlCreateAdaptorXvMC(pScreen, textureAdaptor[0]->name); @@ -2150,7 +2150,7 @@ NVInitVideo(ScreenPtr pScreen) vlDestroyAdaptorXvMC(adaptorsXvMC[0]); } - xfree(adaptorsXvMC); + free(adaptorsXvMC); } } } diff --git a/src/nv30_exa.c b/src/nv30_exa.c index b736fb3..b34b29c 100644 --- a/src/nv30_exa.c +++ b/src/nv30_exa.c @@ -109,7 +109,7 @@ NV30EXAHackupA8Shaders(ScrnInfoPtr pScrn) nv_shader_t *def, *a8; def = nv40_fp_map[s]; - a8 = xcalloc(1, sizeof(nv_shader_t)); + a8 = calloc(1, sizeof(nv_shader_t)); a8->card_priv.NV30FP.num_regs = def->card_priv.NV30FP.num_regs; a8->size = def->size + 4; memcpy(a8->data, def->data, def->size * sizeof(uint32_t)); diff --git a/src/nv40_exa.c b/src/nv40_exa.c index c2717f7..ffee0e6 100644 --- a/src/nv40_exa.c +++ b/src/nv40_exa.c @@ -104,7 +104,7 @@ NV40EXAHackupA8Shaders(ScrnInfoPtr pScrn) nv_shader_t *def, *a8; def = nv40_fp_map[s]; - a8 = xcalloc(1, sizeof(nv_shader_t)); + a8 = calloc(1, sizeof(nv_shader_t)); a8->card_priv.NV30FP.num_regs = def->card_priv.NV30FP.num_regs; a8->size = def->size + 4; memcpy(a8->data, def->data, def->size * sizeof(uint32_t)); diff --git a/src/nv_driver.c b/src/nv_driver.c index f60b6d9..a0483df 100644 --- a/src/nv_driver.c +++ b/src/nv_driver.c @@ -218,7 +218,7 @@ NVPciProbe(DriverPtr drv, int entity_num, struct pci_device *pci_dev, ret = nouveau_device_open(&dev, busid); if (ret) { xf86DrvMsg(-1, X_ERROR, "[drm] failed to open device\n"); - xfree(busid); + free(busid); return FALSE; } @@ -237,7 +237,7 @@ NVPciProbe(DriverPtr drv, int entity_num, struct pci_device *pci_dev, nouveau_device_close(&dev); ret = drmCheckModesettingSupported(busid); - xfree(busid); + free(busid); if (ret) { xf86DrvMsg(-1, X_ERROR, "[drm] KMS not enabled\n"); return FALSE; @@ -428,28 +428,28 @@ NVCloseScreen(int scrnIndex, ScreenPtr pScreen) xf86_cursors_fini(pScreen); if (pNv->ShadowPtr) { - xfree(pNv->ShadowPtr); + free(pNv->ShadowPtr); pNv->ShadowPtr = NULL; } if (pNv->overlayAdaptor) { - xfree(pNv->overlayAdaptor); + free(pNv->overlayAdaptor); pNv->overlayAdaptor = NULL; } if (pNv->blitAdaptor) { - xfree(pNv->blitAdaptor); + free(pNv->blitAdaptor); pNv->blitAdaptor = NULL; } if (pNv->textureAdaptor[0]) { - xfree(pNv->textureAdaptor[0]); + free(pNv->textureAdaptor[0]); pNv->textureAdaptor[0] = NULL; } if (pNv->textureAdaptor[1]) { - xfree(pNv->textureAdaptor[1]); + free(pNv->textureAdaptor[1]); pNv->textureAdaptor[1] = NULL; } if (pNv->EXADriverPtr) { exaDriverFini(pScreen); - xfree(pNv->EXADriverPtr); + free(pNv->EXADriverPtr); pNv->EXADriverPtr = NULL; } @@ -478,7 +478,7 @@ NVFreeScreen(int scrnIndex, int flags) NVCloseDRM(pScrn); - xfree(pScrn->driverPrivate); + free(pScrn->driverPrivate); pScrn->driverPrivate = NULL; } @@ -544,7 +544,7 @@ NVPreInitDRM(ScrnInfoPtr pScrn) /* Load the kernel module, and open the DRM */ bus_id = DRICreatePCIBusID(pNv->PciInfo); ret = DRIOpenDRMMaster(pScrn, SAREA_MAX, bus_id, "nouveau"); - xfree(bus_id); + free(bus_id); if (!ret) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[drm] error opening the drm\n"); @@ -580,7 +580,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags) return FALSE; i = pEnt->index; - xfree(pEnt); + free(pEnt); return TRUE; } @@ -721,7 +721,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags) xf86CollectOptions(pScrn, NULL); /* Process the options */ - if (!(pNv->Options = xalloc(sizeof(NVOptions)))) + if (!(pNv->Options = malloc(sizeof(NVOptions)))) return FALSE; memcpy(pNv->Options, NVOptions, sizeof(NVOptions)); xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pNv->Options); @@ -1036,7 +1036,7 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) if (pNv->ShadowFB) { pNv->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * pScrn->virtualX); - pNv->ShadowPtr = xalloc(pNv->ShadowPitch * pScrn->virtualY); + pNv->ShadowPtr = malloc(pNv->ShadowPitch * pScrn->virtualY); displayWidth = pNv->ShadowPitch / (pScrn->bitsPerPixel >> 3); FBStart = pNv->ShadowPtr; } else commit 2958cf464dca9761f0fa21c8dd2d8fa8c8a96791 Author: Ben Skeggs <bske...@redhat.com> Date: Thu May 27 10:06:47 2010 +1000 nv50/exa: rip out compat defines, we depend on 1.7 anyway diff --git a/src/nv50_exa.c b/src/nv50_exa.c index 4cadcfa..e86f903 100644 --- a/src/nv50_exa.c +++ b/src/nv50_exa.c @@ -430,26 +430,6 @@ NV50EXAUploadSIFC(const char *src, int src_pitch, return TRUE; } -/* Compat defines for pre 1.7 xservers. */ -#ifndef PICT_a2b10g10r10 -#define PICT_a2b10g10r10 PICT_FORMAT(32, PICT_TYPE_ABGR, 2, 10, 10, 10) -#endif -#ifndef PICT_x2b10g10r10 -#define PICT_x2b10g10r10 PICT_FORMAT(32, PICT_TYPE_ABGR, 0, 10, 10, 10) -#endif -#ifndef PICT_a2r10g10b10 -#define PICT_a2r10g10b10 PICT_FORMAT(32, PICT_TYPE_ARGB, 2, 10, 10, 10) -#endif -#ifndef PICT_x2r10g10b10 -#define PICT_x2r10g10b10 PICT_FORMAT(32, PICT_TYPE_ARGB, 0, 10, 10, 10) -#endif -#ifndef PICT_b8g8r8a8 -#define PICT_b8g8r8a8 PIXMAN_FORMAT(32,PIXMAN_TYPE_BGRA,8,8,8,8) -#endif -#ifndef PICT_b8g8r8x8 -#define PICT_b8g8r8x8 PIXMAN_FORMAT(32,PIXMAN_TYPE_BGRA,0,8,8,8) -#endif - static Bool NV50EXACheckRenderTarget(PicturePtr ppict) { commit af40bf0af47ebcb7de2dc418429f0b56f8c04d15 Author: Ben Skeggs <bske...@redhat.com> Date: Wed May 26 16:11:01 2010 +1000 nv50/exa: new nouveau_class.h has correct blend func defines diff --git a/src/nv50_exa.c b/src/nv50_exa.c index a4f09d0..4cadcfa 100644 --- a/src/nv50_exa.c +++ b/src/nv50_exa.c @@ -46,7 +46,7 @@ static struct nv50_exa_state exa_state; struct nouveau_grobj *tesla = pNv->Nv3D; (void)tesla; \ struct nv50_exa_state *state = &exa_state; (void)state -#define BF(f) (NV50TCL_BLEND_FUNC_SRC_RGB_##f | 0x4000) +#define BF(f) NV50TCL_BLEND_FUNC_SRC_RGB_##f struct nv50_blend_op { unsigned src_alpha; commit 8950c5b2a0d318e2568bec38a39d744b968c9b85 Author: Ben Skeggs <bske...@redhat.com> Date: Wed May 26 16:09:48 2010 +1000 update nouveau_class.h diff --git a/src/nouveau_class.h b/src/nouveau_class.h index a701b9d..c03e633 100644 --- a/src/nouveau_class.h +++ b/src/nouveau_class.h @@ -735,6 +735,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x0000023c +#define NVC0_MEMORY_TO_MEMORY_FORMAT 0x00009039 + +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOP 0x00000100 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_SERIALIZE 0x00000110 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN 0x00000204 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN 0x00000208 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN 0x0000020c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN 0x00000210 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z 0x00000214 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT 0x00000220 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT 0x00000224 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT 0x00000228 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT 0x0000022c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z 0x00000230 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x00000238 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_LOW 0x0000023c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC 0x00000300 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_PUSH (1 << 0) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_IN (1 << 4) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_OUT (1 << 8) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_NOTIFY (1 << 13) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_SHIFT 20 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_MASK 0x00f00000 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_DATA 0x00000304 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH 0x0000030c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_LOW 0x00000310 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_IN 0x00000314 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT 0x00000318 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN 0x0000031c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT 0x00000320 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_HIGH 0x0000032c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_LOW 0x00000330 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY 0x00000334 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X 0x00000344 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y 0x00000348 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X 0x0000034c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y 0x00000350 + + #define NV01_MEMORY_LOCAL_BANKED 0x0000003d @@ -7698,7 +7737,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50TCL_DMA_TIC 0x000001a0 #define NV50TCL_DMA_TEXTURE 0x000001a4 #define NV50TCL_DMA_STRMOUT 0x000001a8 -#define NV50TCL_DMA_UNK01AC 0x000001ac +#define NV50TCL_DMA_CLIPID 0x000001ac #define NV50TCL_DMA_COLOR(x) (0x000001c0+((x)*4)) #define NV50TCL_DMA_COLOR__SIZE 0x00000008 #define NV50TCL_RT_ADDRESS_HIGH(x) (0x00000200+((x)*32)) @@ -7915,8 +7954,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50TCL_DEPTH_RANGE_FAR__SIZE 0x00000010 #define NV50TCL_VIEWPORT_CLIP_HORIZ(x) (0x00000d00+((x)*8)) #define NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008 +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MIN_SHIFT 0 +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MIN_MASK 0x0000ffff +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MAX_SHIFT 16 +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MAX_MASK 0xffff0000 #define NV50TCL_VIEWPORT_CLIP_VERT(x) (0x00000d04+((x)*8)) #define NV50TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008 +#define NV50TCL_VIEWPORT_CLIP_VERT_MIN_SHIFT 0 +#define NV50TCL_VIEWPORT_CLIP_VERT_MIN_MASK 0x0000ffff +#define NV50TCL_VIEWPORT_CLIP_VERT_MAX_SHIFT 16 +#define NV50TCL_VIEWPORT_CLIP_VERT_MAX_MASK 0xffff0000 +#define NV50TCL_CLIPID_REGION_HORIZ(x) (0x00000d40+((x)*8)) +#define NV50TCL_CLIPID_REGION_HORIZ__SIZE 0x00000004 +#define NV50TCL_CLIPID_REGION_VERT(x) (0x00000d44+((x)*8)) +#define NV50TCL_CLIPID_REGION_VERT__SIZE 0x00000004 #define NV50TCL_VERTEX_BUFFER_FIRST 0x00000d74 #define NV50TCL_VERTEX_BUFFER_COUNT 0x00000d78 #define NV50TCL_CLEAR_COLOR(x) (0x00000d80+((x)*4)) @@ -7974,14 +8025,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50TCL_GP_ADDRESS_LOW 0x00000f74 #define NV50TCL_VP_ADDRESS_HIGH 0x00000f7c #define NV50TCL_VP_ADDRESS_LOW 0x00000f80 -#define NV50TCL_UNK0F84_ADDRESS_HIGH 0x00000f84 -#define NV50TCL_UNK0F84_ADDRESS_LOW 0x00000f88 +#define NV50TCL_VERTEX_RUNOUT_HIGH 0x00000f84 +#define NV50TCL_VERTEX_RUNOUT_LOW 0x00000f88 #define NV50TCL_DEPTH_BOUNDS(x) (0x00000f9c+((x)*4)) #define NV50TCL_DEPTH_BOUNDS__SIZE 0x00000002 #define NV50TCL_FP_ADDRESS_HIGH 0x00000fa4 #define NV50TCL_FP_ADDRESS_LOW 0x00000fa8 #define NV50TCL_MSAA_MASK(x) (0x00000fbc+((x)*4)) #define NV50TCL_MSAA_MASK__SIZE 0x00000004 +#define NV50TCL_CLIPID_ADDRESS_HIGH 0x00000fcc +#define NV50TCL_CLIPID_ADDRESS_LOW 0x00000fd0 #define NV50TCL_ZETA_ADDRESS_HIGH 0x00000fe0 #define NV50TCL_ZETA_ADDRESS_LOW 0x00000fe4 #define NV50TCL_ZETA_FORMAT 0x00000fe8 @@ -8111,37 +8164,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a #define NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b #define NV50TCL_BLEND_FUNC_SRC_RGB 0x00001344 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001 -#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301 -#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303 -#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305 -#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307 -#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308 -#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002 -#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00004000 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE 0x00004001 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00004300 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00004302 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00004304 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00004306 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x0000c001 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x0000c003 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC1_COLOR 0x0000c900 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC1_ALPHA 0x0000c902 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 #define NV50TCL_BLEND_FUNC_DST_RGB 0x00001348 -#define NV50TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001 -#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301 -#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303 -#define NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305 -#define NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307 -#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308 -#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002 -#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004 +#define NV50TCL_BLEND_FUNC_DST_RGB_ZERO 0x00004000 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE 0x00004001 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00004300 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00004302 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00004304 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00004306 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x0000c001 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x0000c003 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC1_COLOR 0x0000c900 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC1_ALPHA 0x0000c902 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 #define NV50TCL_BLEND_EQUATION_ALPHA 0x0000134c #define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006 #define NV50TCL_BLEND_EQUATION_ALPHA_MIN 0x00008007 @@ -8149,37 +8210,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a #define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b #define NV50TCL_BLEND_FUNC_SRC_ALPHA 0x00001350 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00000001 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00000300 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00000301 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00000302 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00000303 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00000304 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00000305 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00000306 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00000307 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00000308 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x00008001 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x00008002 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x00008003 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x00008004 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00004000 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00004001 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00004300 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00004302 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00004304 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00004306 -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1oinkl-0006vr...@alioth.debian.org