search for: nouveau_pixmap_bo

Displaying 14 results from an estimated 14 matches for "nouveau_pixmap_bo".

2015 Mar 14
1
[PATCH ddx] Add support for VRAM-less devices to the ddx
...git a/src/nouveau_exa.c b/src/nouveau_exa.c index def66ac..3a93d02 100644 --- a/src/nouveau_exa.c +++ b/src/nouveau_exa.c @@ -263,7 +263,7 @@ nouveau_exa_download_from_screen(PixmapPtr pspix, int x, int y, int w, int h, goto memcpy; if (!NVAccelM2MF(pNv, w, lines, cpp, 0, tmp_offset, - nouveau_pixmap_bo(pspix), NOUVEAU_BO_VRAM, + nouveau_pixmap_bo(pspix), NOUVEAU_BO_APER, src_pitch, pspix->drawable.height, x, y, tmp, NOUVEAU_BO_GART, tmp_pitch, lines, 0, 0)) @@ -361,7 +361,7 @@ nouveau_exa_upload_to_screen(PixmapPtr pdpix, int x, int y, int w, int h, if (!NVAccelM2MF(...
2009 Dec 11
2
[PATCH 1/2] exa: Pre-G80 tiling support.
...h_align); + tile_mode = *new_pitch; + } + } } else { *new_pitch = (width * bitsPerPixel + 7) / 8; } @@ -437,12 +445,13 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv) } bool -nouveau_exa_pixmap_is_tiled(PixmapPtr ppix) +nv50_style_tiled_pixmap(PixmapPtr ppix) { - if (!nouveau_pixmap_bo(ppix)->tile_flags) - return false; + ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum]; + NVPtr pNv = NVPTR(pScrn); - return true; + return pNv->Architecture == NV_ARCH_50 && + nouveau_pixmap_bo(ppix)->tile_flags; } static void * @@ -453,7 +462,7 @@ nouve...
2015 Jul 14
3
[PATCH] avoid build fail without COMPOSITE
...creenPtr pScreen, DrawablePtr pDraw, RegionPtr pRegio if (extents->x1 == 0 && extents->y1 == 0 && extents->x2 == pDraw->width && extents->y2 == pDraw->height) { - PixmapPtr fpix = get_drawable_pixmap(dst_draw); - struct nouveau_bo *bo = nouveau_pixmap_bo(fpix); + pPix = get_drawable_pixmap(dst_draw); + struct nouveau_bo *bo = nouveau_pixmap_bo(pPix); if (bo) nouveau_bo_wait(bo, NOUVEAU_BO_RD, pNv->client); } -- 2.3.6
2019 Oct 13
0
[PATCH xf86-video-nouveau] dri2, present: move in pixmap before getting addresses
...o *pixmap_bo; + + PixmapPtr pixmap; + int r; if (draw->type == DRAWABLE_PIXMAP) pixmap = (PixmapPtr)draw; @@ -259,8 +263,16 @@ update_front(DrawablePtr draw, DRI2BufferPtr front) pixmap->refcnt++; + pNv->exa_force_cp = TRUE; exaMoveInPixmap(pixmap); - r = nouveau_bo_name_get(nouveau_pixmap_bo(pixmap), &front->name); + pNv->exa_force_cp = FALSE; + pixmap_bo = nouveau_pixmap_bo(pixmap); + + if (!pixmap_bo) + r = -1; + else + r = nouveau_bo_name_get(pixmap_bo, &front->name); + if (r) { (*draw->pScreen->DestroyPixmap)(pixmap); return FALSE; diff --git a/src/...
2009 Mar 08
4
[PATCH 1/5] nv50: implement wfb
...((aw * cpp) + 63) & ~63; + /* This allignment is very important. */ + devkind = (width * cpp + 63) & ~63; nvpix->size = devkind * ah; } @@ -390,8 +393,11 @@ nouveau_exa_pixmap_is_tiled(PixmapPtr ppix) NVPtr pNv = NVPTR(pScrn); if (pNv->exa_driver_pixmaps) { - if (!nouveau_pixmap_bo(ppix)->tiled) + if (!nouveau_pixmap_bo(ppix)) + return false; + if (nouveau_pixmap_bo(ppix)->tiled == 0) return false; + return true; } else if (pNv->Architecture < NV_ARCH_50 || exaGetPixmapOffset(ppix) < pNv->EXADriverPtr->offScreenBase) @@ -403,10 +409,12...
2012 Apr 20
3
[Bug 48954] New: nv25 PGRAPH error and X freeze
https://bugs.freedesktop.org/show_bug.cgi?id=48954 Bug #: 48954 Summary: nv25 PGRAPH error and X freeze Classification: Unclassified Product: xorg Version: git Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Driver/nouveau
2013 Oct 15
4
[Bug 70511] New: nouveau_bo_name_get segmentation fault while running root tutorials/gl/glbox.C
https://bugs.freedesktop.org/show_bug.cgi?id=70511 Priority: medium Bug ID: 70511 Assignee: nouveau at lists.freedesktop.org Summary: nouveau_bo_name_get segmentation fault while running root tutorials/gl/glbox.C QA Contact: xorg-team at lists.x.org Severity: normal Classification: Unclassified
2009 Oct 31
0
[PATCH] nv/exa: fix 15/16 bits solid fill
...letions(-) diff --git a/src/nv04_exa.c b/src/nv04_exa.c index 132c9d5..1852f99 100644 --- a/src/nv04_exa.c +++ b/src/nv04_exa.c @@ -81,7 +81,7 @@ NV04EXAPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) struct nouveau_grobj *rect = pNv->NvRectangle; struct nouveau_bo *bo = nouveau_pixmap_bo(pPixmap); unsigned delta = nouveau_pixmap_offset(pPixmap); - unsigned int fmt, pitch, color; + unsigned int fmt, pitch, fmt2 = NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8; WAIT_RING(chan, 64); @@ -102,13 +102,12 @@ NV04EXAPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg)...
2010 Apr 20
0
[PATCH] nv10/exa : demagify tex and rt format
...8b8, 0x108 }, + { PICT_r5g6b5, NV10TCL_RT_FORMAT_COLOR_R5G6B5 }, + { PICT_x8r8g8b8, NV10TCL_RT_FORMAT_COLOR_X8R8G8B8 }, + { PICT_a8r8g8b8, NV10TCL_RT_FORMAT_COLOR_A8R8G8B8 }, {}, }; @@ -432,7 +435,7 @@ setup_render_target(NVPtr pNv, PicturePtr pict, PixmapPtr pixmap) struct nouveau_bo *bo = nouveau_pixmap_bo(pixmap); BEGIN_RING(chan, celsius, NV10TCL_RT_FORMAT, 2); - OUT_RING (chan, get_rt_format(pict)); + OUT_RING (chan, get_rt_format(pict) | NV10TCL_RT_FORMAT_TYPE_LINEAR); OUT_RING (chan, (exaGetPixmapPitch(pixmap) << 16 | exaGetPixmapPitch(pixmap))); -- 1.7.0.5
2012 Feb 15
11
[Patches][nouveau/ddx]: Improvements to bufferswap implementation and timestamping
Hi, here a set of patches against the nouveau-ddx. This is an extended and revised set, based on Francisco Jerez feedback from autumn last year. [1/9] Makes pageflipping work again on X-Server 1.12rc. It apparently stopped working somewhere around Xorg 1.11+. [2/9] Implements handling of pageflip completion events from the kernel. Francisco Jerez argument against including it was that the
2010 Apr 20
1
[PATCH] nv30/exa : cleanup from nv40 exa
...| dblend); + OUT_RING (chan, sblend); + OUT_RING (chan, dblend); } } @@ -305,43 +255,47 @@ NV30EXATexture(ScrnInfoPtr pScrn, PixmapPtr pPix, PicturePtr pPict, int unit) struct nouveau_channel *chan = pNv->chan; struct nouveau_grobj *rankine = pNv->Nv3D; struct nouveau_bo *bo = nouveau_pixmap_bo(pPix); - nv_pict_texture_format_t *fmt; - uint32_t card_filter, card_repeat; uint32_t tex_reloc = NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RD; + uint32_t pitch; + nv_pict_texture_format_t *fmt; NV30EXA_STATE; fmt = NV30_GetPictTextureFormat(pPict->format); if (!fmt) return FAL...
2012 May 23
1
[PATCH (nouveau)] Add xwayland support
...VT(pScrn->scrnIndex, 0)) return FALSE; @@ -425,6 +502,27 @@ NVCreateScreenResources(ScreenPtr pScreen) return TRUE; } +#ifdef XORG_WAYLAND +static int nouveau_create_window_buffer(struct xwl_window *xwl_window, + PixmapPtr pixmap) +{ + uint32_t name; + struct nouveau_bo *bo; + + bo = nouveau_pixmap_bo(pixmap); + if (bo == NULL || nouveau_bo_name_get(bo, &name) != 0) + return BadDrawable; + + return xwl_create_window_buffer_drm(xwl_window, pixmap, name); +} + +static struct xwl_driver xwl_driver = { + .version = 1, + .use_drm = 1, + .create_window_buffer = nouveau_create_window_buffer +}; +#...
2009 Nov 04
1
[PATCH] nv10/exa: Spring-cleaning
...E; } -static void NV10SetTexture(NVPtr pNv, int unit, PicturePtr Pict, PixmapPtr pixmap) +static void +setup_texture(NVPtr pNv, int unit, PicturePtr pict, PixmapPtr pixmap) { struct nouveau_channel *chan = pNv->chan; struct nouveau_grobj *celsius = pNv->Nv3D; struct nouveau_bo *bo = nouveau_pixmap_bo(pixmap); unsigned delta = nouveau_pixmap_offset(pixmap); - int log2w = log2i(Pict->pDrawable->width); - int log2h = log2i(Pict->pDrawable->height); - int w; + long w = pict->pDrawable->width, + h = pict->pDrawable->height; unsigned int txfmt = - (NV10TCL_TX_FORMAT...
2012 Jul 04
0
[PATCH] Add xwayland support (v2)
...opy(pScreen); if (!NVEnterVT(VT_FUNC_ARGS(0))) return FALSE; @@ -418,6 +481,25 @@ NVCreateScreenResources(ScreenPtr pScreen) return TRUE; } +static int nouveau_create_window_buffer(struct xwl_window *xwl_window, + PixmapPtr pixmap) +{ + uint32_t name; + struct nouveau_bo *bo; + + bo = nouveau_pixmap_bo(pixmap); + if (bo == NULL || nouveau_bo_name_get(bo, &name) != 0) + return BadDrawable; + + return xwl_create_window_buffer_drm(xwl_window, pixmap, name); +} + +static struct xwl_driver xwl_driver = { + .version = 1, + .use_drm = 1, + .create_window_buffer = nouveau_create_window_buffer +}; +...