search for: nouveau_bo_gart

Displaying 20 results from an estimated 44 matches for "nouveau_bo_gart".

2014 Oct 29
3
[PATCH 3/3] gk20a: use NOUVEAU_BO_GART as VRAM domain
On Mon, Oct 27, 2014 at 6:34 AM, Alexandre Courbot <acourbot at nvidia.com> wrote: > GK20A does not have dedicated VRAM, therefore allocating in VRAM can be > sub-optimal and sometimes even harmful. Set its VRAM domain to > NOUVEAU_BO_GART so all objects are allocated in system memory. > > Signed-off-by: Alexandre Courbot <acourbot at nvidia.com> > --- > src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_...
2014 Oct 27
0
[PATCH 3/3] gk20a: use NOUVEAU_BO_GART as VRAM domain
GK20A does not have dedicated VRAM, therefore allocating in VRAM can be sub-optimal and sometimes even harmful. Set its VRAM domain to NOUVEAU_BO_GART so all objects are allocated in system memory. Signed-off-by: Alexandre Courbot <acourbot at nvidia.com> --- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/no...
2014 Nov 05
0
[PATCH 3/3] gk20a: use NOUVEAU_BO_GART as VRAM domain
On 10/30/2014 12:29 AM, Ilia Mirkin wrote: > On Mon, Oct 27, 2014 at 6:34 AM, Alexandre Courbot <acourbot at nvidia.com> wrote: >> GK20A does not have dedicated VRAM, therefore allocating in VRAM can be >> sub-optimal and sometimes even harmful. Set its VRAM domain to >> NOUVEAU_BO_GART so all objects are allocated in system memory. >> >> Signed-off-by: Alexandre Courbot <acourbot at nvidia.com> >> --- >> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/src/gall...
2015 Mar 14
1
[PATCH ddx] Add support for VRAM-less devices to the ddx
..._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(pNv, w, lines, cpp, tmp_offset, 0, tmp, NOUVEAU_BO_GART, tmp_pitch, lines, 0, 0, - nouveau_pixmap_bo(pdpix), NOUVEAU_BO_VRAM, + nouveau_p...
2009 Dec 30
0
Add NOUVEAU_VTXIDX_IN_VRAM variable to put vertex/index buffers in VRAM
...it doesn't make things worse, please describe your hardware configuration and software versions to nouveau at lists.freedesktop.org\n"); + } + + if (screen->base.get_param(&screen->base, NOUVEAU_CAP_HW_VTXBUF)) + screen->vertex_buffer_flags |= vram_hack ? NOUVEAU_BO_VRAM : NOUVEAU_BO_GART; + + if (screen->base.get_param(&screen->base, NOUVEAU_CAP_HW_IDXBUF)) + screen->index_buffer_flags |= vram_hack ? NOUVEAU_BO_VRAM : NOUVEAU_BO_GART; + } +} + static struct pipe_buffer * nouveau_screen_bo_new(struct pipe_screen *pscreen, unsigned alignment, unsigned usage...
2010 Mar 01
2
[PATCH] nouveau: make sure initial kalloc for user bo ends up in the right place
...loc.c +++ b/nouveau/nouveau_reloc.c @@ -73,6 +73,12 @@ nouveau_reloc_emit(struct nouveau_channel *chan, struct nouveau_bo *reloc_bo, return -EINVAL; } + /* We're about to reloc a user buffer, better make sure we don't cause + * a double migration. + */ + if (!(nvbo->flags & (NOUVEAU_BO_GART | NOUVEAU_BO_VRAM))) + nvbo->flags |= (flags & (NOUVEAU_BO_GART | NOUVEAU_BO_VRAM)); + rpbbo = nouveau_bo_emit_buffer(chan, reloc_bo); if (!rpbbo) return -ENOMEM; -- 1.7.0
2014 Oct 27
4
[PATCH 0/3] nouveau: support for custom VRAM domains
...mory. In that respect it seems to be the right thing to do, and all things taken is not very intrusive. Tested on GK20A with Wayland and several EGL clients running, and working fine. Alexandre Courbot (3): nouveau: support for custom VRAM domains nvc0: use NV_VRAM_DOMAIN() macro gk20a: use NOUVEAU_BO_GART as VRAM domain src/gallium/drivers/nouveau/nouveau_buffer.c | 6 ++---- src/gallium/drivers/nouveau/nouveau_screen.c | 6 ++++++ src/gallium/drivers/nouveau/nouveau_screen.h | 4 ++++ src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 4 ++-- src/gallium/drivers/nouveau/nv...
2014 Nov 19
5
[PATCH v2 0/3] nouveau: support for custom VRAM domains
...h Wayland and several EGL clients running, and working fine. Changes since v1: - When using GART as the VRAM domain, move all vidmem bindings to sysmem and set vidmem_bindings to 0. Alexandre Courbot (3): nouveau: support for custom VRAM domains nvc0: use NV_VRAM_DOMAIN() macro gk20a: use NOUVEAU_BO_GART as VRAM domain src/gallium/drivers/nouveau/nouveau_buffer.c | 6 ++--- src/gallium/drivers/nouveau/nouveau_screen.c | 6 +++++ src/gallium/drivers/nouveau/nouveau_screen.h | 4 ++++ src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 4 ++-- src/gallium/drivers/nouveau/nvc0...
2014 Nov 19
1
[PATCH v2 2/3] nvc0: use NV_VRAM_DOMAIN() macro
...if (buffer->base.bind & screen->vidmem_bindings) > - buffer->domain = NOUVEAU_BO_VRAM; > + buffer->domain = NV_VRAM_DOMAIN(screen); > else > if (buffer->base.bind & screen->sysmem_bindings) > buffer->domain = NOUVEAU_BO_GART; Both of these changes should be unnecessary if vidmem_bindings is cleared out, right? > diff --git a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c > index 1aacaec89acf..ddff508c475c 100644 > --- a/src/gallium/drivers/nouveau/nv50/nv50_...
2015 Jun 19
5
[PATCH v3 0/2] nouveau: support for custom VRAM domains
New revision of this patchset that prevents VRAM objects from being allocated on VRAM-less systems like Tegra. This is required for Mesa to work on such systems. Changes since v2: - Use vram_size to detect systems without VRAM and set the correct domain instead of expecting each chip to set its domain explicitly. Alexandre Courbot (2): nouveau: support for custom VRAM domains nvc0: use
2013 Jan 20
1
[PATCH] nouveau: put cursor BO in GART
...drmmode_display.c @@ -567,7 +567,7 @@ drmmode_crtc_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num) drmmode->mode_res->crtcs[num]); drmmode_crtc->drmmode = drmmode; - ret = nouveau_bo_new(pNv->dev, NOUVEAU_BO_VRAM | NOUVEAU_BO_MAP, 0, + ret = nouveau_bo_new(pNv->dev, NOUVEAU_BO_GART | NOUVEAU_BO_MAP, 0, 64*64*4, NULL, &drmmode_crtc->cursor); assert(ret == 0); --
2009 Dec 05
1
[PATCH] nouveau: avoid running out of relocs (attempt 4)
...cur_reloc; i++) { struct nouveau_stateobj_reloc *r = &so->reloc[i]; - nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->packet, 0, + if ((ret = nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->packet, 0, (r->flags & (NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RDWR)) | - NOUVEAU_BO_DUMMY, 0, 0); - nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->data, 0, + NOUVEAU_BO_DUMMY, 0, 0))) { + debug_printf("so_emit_reloc_markers failed reloc \ + with error %d\n", ret); + } + if ((ret = nouveau_...
2012 Jul 06
0
[PATCH] dri/nouveau: Add AllocTextureImageBuffer() implementation
...l_texture_image *ti) +{ + if (ti->TexFormat == MESA_FORMAT_A8 || + ti->TexFormat == MESA_FORMAT_L8 || + ti->TexFormat == MESA_FORMAT_I8) + /* 1 cpp formats will have to be swizzled by the CPU, + * so leave them in system RAM for now. */ + return NOUVEAU_BO_MAP; + else + return NOUVEAU_BO_GART | NOUVEAU_BO_MAP; +} + +static GLboolean +nouveau_alloc_texture_image_buffer(struct gl_context *ctx, + struct gl_texture_image *ti, + gl_format format, GLsizei width, + GLsizei height, GLsizei depth) +{ + struct nouveau_teximage *nti = to_nouveau_teximage(ti); + struct nouveau_surface *...
2009 Dec 30
4
[PATCH 1/3] nv50: remove vtxbuf stateobject after a referenced vtxbuf is mapped
- This avoids problematic "reloc'ed while mapped" messages and some associated corruption as well. Signed-off-by: Maarten Maathuis <madman2003 at gmail.com> --- src/gallium/drivers/nouveau/nouveau_screen.c | 21 +++++++++++++++++++++ src/gallium/drivers/nouveau/nouveau_screen.h | 3 +++ src/gallium/drivers/nouveau/nouveau_stateobj.h | 13 +++++++++++++
2014 Nov 19
0
[PATCH v2 2/3] nvc0: use NV_VRAM_DOMAIN() macro
...n, } } else { if (buffer->base.bind & screen->vidmem_bindings) - buffer->domain = NOUVEAU_BO_VRAM; + buffer->domain = NV_VRAM_DOMAIN(screen); else if (buffer->base.bind & screen->sysmem_bindings) buffer->domain = NOUVEAU_BO_GART; diff --git a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c index 1aacaec89acf..ddff508c475c 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c @@ -359,7 +359,7 @@ nv50_miptree_create...
2014 Nov 19
1
[PATCH v2 2/3] nvc0: use NV_VRAM_DOMAIN() macro
...if (buffer->base.bind & screen->vidmem_bindings) > - buffer->domain = NOUVEAU_BO_VRAM; > + buffer->domain = NV_VRAM_DOMAIN(screen); > else > if (buffer->base.bind & screen->sysmem_bindings) > buffer->domain = NOUVEAU_BO_GART; > diff --git a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c > index 1aacaec89acf..ddff508c475c 100644 > --- a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c > +++ b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c > @@ -359,7 +359...
2009 Dec 05
0
[PATCH] nouveau: avoid running out of relocs (attempt 3)
...{ struct nouveau_stateobj_reloc *r = &so->reloc[i]; + int ret = 0; - nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->packet, 0, + if ((ret = nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->packet, 0, (r->flags & (NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RDWR)) | - NOUVEAU_BO_DUMMY, 0, 0); - nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->data, 0, + NOUVEAU_BO_DUMMY, 0, 0))) { + debug_printf("so_emit_reloc_markers failed reloc \ + with error %d\n", ret); + } + if ((ret = nouveau_...
2009 Dec 13
3
[PATCH] nouveau: avoid running out of relocs (attempt 5)
...cur_reloc; i++) { struct nouveau_stateobj_reloc *r = &so->reloc[i]; - nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->packet, 0, + if ((ret = nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->packet, 0, (r->flags & (NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RDWR)) | - NOUVEAU_BO_DUMMY, 0, 0); - nouveau_pushbuf_emit_reloc(chan, pb->cur++, r->bo, r->data, 0, + NOUVEAU_BO_DUMMY, 0, 0))) { + debug_printf("so_emit_reloc_markers failed reloc \ + with error %d\n", ret); + pb->remaining += i;...
2013 Nov 09
5
[Bug 71438] New: Application Konqueror crashes when connecting to asus.com
https://bugs.freedesktop.org/show_bug.cgi?id=71438 Priority: medium Bug ID: 71438 Assignee: nouveau at lists.freedesktop.org Summary: Application Konqueror crashes when connecting to asus.com QA Contact: xorg-team at lists.x.org Severity: normal Classification: Unclassified OS: Linux (All)
2013 Jun 30
0
[PATCH v2] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...ase.base.get_video_param = nv84_screen_get_video_param; + screen->base.base.is_video_format_supported = nv84_screen_video_supported; + } else { + /* Unsupported, but need to init pointers. */ + nouveau_screen_init_vdec(&screen->base); + } ret = nouveau_bo_new(dev, NOUVEAU_BO_GART | NOUVEAU_BO_MAP, 0, 4096, NULL, &screen->fence.bo); diff --git a/src/gallium/drivers/nv50/nv50_winsys.h b/src/gallium/drivers/nv50/nv50_winsys.h index 145ee70..e04247b 100644 --- a/src/gallium/drivers/nv50/nv50_winsys.h +++ b/src/gallium/drivers/nv50/nv50_winsys.h @...