Displaying 20 results from an estimated 45 matches for "nouveau_bo_rd".
Did you mean:
nouveau_bo_rd32
2015 Mar 14
1
[PATCH ddx] Add support for VRAM-less devices to the ddx
...--- a/src/nouveau_dri2.c
+++ b/src/nouveau_dri2.c
@@ -684,7 +684,7 @@ nouveau_dri2_finish_swap(DrawablePtr draw, unsigned int frame,
/* Reference the back buffer to sync it to vblank */
nouveau_pushbuf_refn(push, &(struct nouveau_pushbuf_refn) {
src_bo,
- NOUVEAU_BO_VRAM | NOUVEAU_BO_RD
+ NOUVEAU_BO_APER | NOUVEAU_BO_RD
}, 1);
if (pNv->Architecture >= NV_FERMI)
@@ -725,7 +725,7 @@ nouveau_dri2_finish_swap(DrawablePtr draw, unsigned int frame,
* on occluded drawables. */
nouveau_pushbuf_refn(push, &(struct nouveau_pushbuf_refn) {
dst_...
2009 Oct 10
0
[PATCH 1/7] nv50: use SIFC for TIC, TSC upload
...2*8*4, &screen->tic);
+ ret = nouveau_bo_new(dev, NOUVEAU_BO_VRAM, 0, 64*8*4, &screen->tic);
if (ret) {
nv50_screen_destroy(pscreen);
return NULL;
}
- so_method(so, screen->tesla, NV50TCL_CB_DEF_ADDRESS_HIGH, 3);
- so_reloc (so, screen->tic, 0, NOUVEAU_BO_VRAM |
- NOUVEAU_BO_RD | NOUVEAU_BO_HIGH, 0, 0);
- so_reloc (so, screen->tic, 0, NOUVEAU_BO_VRAM |
- NOUVEAU_BO_RD | NOUVEAU_BO_LOW, 0, 0);
- so_data (so, (NV50_CB_TIC << 16) | 0x0800);
so_method(so, screen->tesla, NV50TCL_TIC_ADDRESS_HIGH, 3);
so_reloc (so, screen->tic, 0, NOUVEAU_BO_VRAM |
N...
2015 May 25
3
[PATCH 1/2] nv30/draw: rework some of the output vertex buffer logic
...nv30_render_draw_elements(struct vbuf_render *render,
for (i = 0; i < r->vertex_info.num_attribs; i++) {
PUSH_RESRC(push, NV30_3D(VTXBUF(i)), BUFCTX_VTXTMP,
nv04_resource(r->buffer), r->offset + r->vtxptr[i],
- NOUVEAU_BO_LOW | NOUVEAU_BO_RD, 0, 0);
+ NOUVEAU_BO_LOW | NOUVEAU_BO_RD, 0, NV30_3D_VTXBUF_DMA1);
}
if (!nv30_state_validate(nv30, ~0, FALSE))
return;
+ if (nv30->base.vbo_dirty) {
+ BEGIN_NV04(push, NV30_3D(VTX_CACHE_INVALIDATE_1710), 1);
+ PUSH_DATA (push, 0);
+ nv30...
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 +++++++++++++
2015 Jul 14
3
[PATCH] avoid build fail without COMPOSITE
...;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
2015 May 24
2
[PATCH 1/2] nv30: avoid doing extra work on clear and hitting unexpected states
...raw.c b/src/gallium/drivers/nouveau/nv30/nv30_draw.c
index 3575c3d..38c31e9 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_draw.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_draw.c
@@ -129,7 +129,7 @@ nv30_render_draw_elements(struct vbuf_render *render,
NOUVEAU_BO_LOW | NOUVEAU_BO_RD, 0, 0);
}
- if (!nv30_state_validate(nv30, FALSE))
+ if (!nv30_state_validate(nv30, ~0, FALSE))
return;
BEGIN_NV04(push, NV30_3D(VERTEX_BEGIN_END), 1);
@@ -174,7 +174,7 @@ nv30_render_draw_arrays(struct vbuf_render *render, unsigned start, uint nr)
NOU...
2009 Dec 05
1
[PATCH] nouveau: avoid running out of relocs (attempt 4)
...t 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_pushbuf_emit_reloc(chan,...
2014 Nov 19
5
[PATCH v2 0/3] nouveau: support for custom VRAM domains
This series is to allow NVIDIA chips with shared memory to operate more
efficiently (and to operate at all once we disable VRAM from the kernel
driver) by allowing nouveau_screen to specify a domain to use for objects
originally allocated into VRAM. If the domain is not overridden, the default
NOUVEAU_BO_VRAM is used. A NV_VRAM_DOMAIN() macro is then introduced to be
used in place of
2009 May 06
2
nv50: shader generation patches
Hi ! I've been trying to improve NV50 shader generation a bit the last couple of weeks, so here is
what I've produced. I don't know if it's usable for you or just a pile of horrible hacks, but at
least it makes some mesa demos render more correcly, p.e. the teapot (aside from mip-mapping issues
of the floor texture), arbfplight, and I think the gears also didn't appear as they
2009 Dec 20
2
[PATCH 1/2] nv50: don't emit reloc markers after a referenced vtxbuf is mapped
...50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c
index db54380..ce6e4eb 100644
--- a/src/gallium/drivers/nv50/nv50_vbo.c
+++ b/src/gallium/drivers/nv50/nv50_vbo.c
@@ -325,8 +325,10 @@ nv50_vbo_static_attrib(struct nv50_context *nv50, unsigned attrib,
return FALSE;
ret = nouveau_bo_map(bo, NOUVEAU_BO_RD);
- if (ret)
+ if (ret) {
+ nouveau_bo_unmap(bo);
return FALSE;
+ }
v = (float *)(bo->map + (vb->buffer_offset + ve->src_offset));
so = *pso;
--
1.6.5.4
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...d) {
struct nv04_resource *res = bref->priv;
if (res && res->mm) {
- nouveau_fence_ref(screen->fence.current, &res->fence);
+ nouveau_fence_ref(nv30->base.fence.current, &res->fence);
if (bref->flags & NOUVEAU_BO_RD)
res->status |= NOUVEAU_BUFFER_STATUS_GPU_READING;
if (bref->flags & NOUVEAU_BO_WR) {
- nouveau_fence_ref(screen->fence.current, &res->fence_wr);
+ nouveau_fence_ref(nv30->base.fence.current, &res->fence_wr);...
2014 Jun 17
2
[PATCH try 2 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
---
src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++-------------
src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++--
src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++
src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++---
src/gallium/drivers/nouveau/nv30/nv30_context.c | 4 +-
2009 Dec 11
2
[PATCH 1/2] exa: Pre-G80 tiling support.
...nouveau_pixmap(ppix);
if (--nvpix->map_refcount)
diff --git a/src/nv50_exa.c b/src/nv50_exa.c
index 7081d72..c7609b3 100644
--- a/src/nv50_exa.c
+++ b/src/nv50_exa.c
@@ -119,7 +119,7 @@ NV50EXAAcquireSurface2D(PixmapPtr ppix, int is_src)
bo_flags = NOUVEAU_BO_VRAM;
bo_flags |= is_src ? NOUVEAU_BO_RD : NOUVEAU_BO_WR;
- if (!nouveau_exa_pixmap_is_tiled(ppix)) {
+ if (!nv50_style_tiled_pixmap(ppix)) {
BEGIN_RING(chan, eng2d, mthd, 2);
OUT_RING (chan, fmt);
OUT_RING (chan, 1);
@@ -465,7 +465,7 @@ NV50EXARenderTarget(PixmapPtr ppix, PicturePtr ppict)
unsigned format;
/*XXX: Scano...
2014 Nov 19
0
[PATCH v2 2/3] nvc0: use NV_VRAM_DOMAIN() macro
...6731a1c0..a0189f528e6f 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
@@ -322,7 +322,7 @@ nvc0_create(struct pipe_screen *pscreen, void *priv)
/* add permanently resident buffers to bufctxts */
- flags = NOUVEAU_BO_VRAM | NOUVEAU_BO_RD;
+ flags = NV_VRAM_DOMAIN(&screen->base) | NOUVEAU_BO_RD;
BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->text);
BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->uniform_bo);
@@ -333,7 +333,7 @@ nvc0_create(struct pipe_screen *pscreen, void *priv)
BCTX...
2009 Dec 20
1
[PATCH] nv50: remove vtxbuf stateobject after a referenced vtxbuf is mapped
...50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c
index db54380..ce6e4eb 100644
--- a/src/gallium/drivers/nv50/nv50_vbo.c
+++ b/src/gallium/drivers/nv50/nv50_vbo.c
@@ -325,8 +325,10 @@ nv50_vbo_static_attrib(struct nv50_context *nv50, unsigned attrib,
return FALSE;
ret = nouveau_bo_map(bo, NOUVEAU_BO_RD);
- if (ret)
+ if (ret) {
+ nouveau_bo_unmap(bo);
return FALSE;
+ }
v = (float *)(bo->map + (vb->buffer_offset + ve->src_offset));
so = *pso;
--
1.6.5.4
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...v04_resource *res = bref->priv;
> if (res && res->mm) {
> - nouveau_fence_ref(screen->fence.current, &res->fence);
> + nouveau_fence_ref(nv30->base.fence.current, &res->fence);
>
> if (bref->flags & NOUVEAU_BO_RD)
> res->status |= NOUVEAU_BUFFER_STATUS_GPU_READING;
>
> if (bref->flags & NOUVEAU_BO_WR) {
> - nouveau_fence_ref(screen->fence.current, &res->fence_wr);
> + nouveau_fence_ref(nv30->base.fence.current, &a...
2014 Nov 19
1
[PATCH v2 2/3] nvc0: use NV_VRAM_DOMAIN() macro
...a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
> @@ -322,7 +322,7 @@ nvc0_create(struct pipe_screen *pscreen, void *priv)
>
> /* add permanently resident buffers to bufctxts */
>
> - flags = NOUVEAU_BO_VRAM | NOUVEAU_BO_RD;
> + flags = NV_VRAM_DOMAIN(&screen->base) | NOUVEAU_BO_RD;
>
> BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->text);
> BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->uniform_bo);
> @@ -333,7 +333,7 @@ nvc0_create(struct pipe_screen *pscr...
2009 Dec 05
0
[PATCH] nouveau: avoid running out of relocs (attempt 3)
...bj_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_pushbuf_emit_reloc(chan,...
2012 Jul 27
1
[PATCH] nvc0: Add and enable vblank support
...utput(s) to use with zaphod mode for a particular driver
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index 0b3cc38..62333b1 100644
--- a/src/nouveau_dri2.c
+++ b/src/nouveau_dri2.c
@@ -316,6 +316,9 @@ nouveau_dri2_finish_swap(DrawablePtr draw, unsigned int frame,
NOUVEAU_BO_VRAM | NOUVEAU_BO_RD
}, 1);
+ if (pNv->Architecture >= NV_ARCH_C0)
+ NVC0SyncToVBlank(dst_pix, REGION_EXTENTS(0, ®));
+ else
if (pNv->Architecture >= NV_ARCH_50)
NV50SyncToVBlank(dst_pix, REGION_EXTENTS(0, ®));
else
diff --git a/src/nv_dma.c b/src/nv_dma.c
index d2a6d...
2009 Oct 22
1
[PATCH] nv04-nv40/exa: Reorder the commands in PrepareCopy to match the blob.
...stPixmap->drawable.bitsPerPixel == 32)
+ return FALSE;
if (!NVAccelGetCtxSurf2DFormatFromPixmap(pDstPixmap, &fmt))
return FALSE;
@@ -218,6 +211,15 @@ NV04EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int dx, int dy,
OUT_RELOCl(chan, src_bo, src_delta, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
OUT_RELOCl(chan, dst_bo, dst_delta, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
+ if (planemask != ~0 || alu != GXcopy) {
+ BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_OPERATION, 1);
+ OUT_RING (chan, 1); /* ROP_AND */
+ NV04EXASetROP(pScrn, alu, planemask);
+ } else {
+ BEGIN_RING(chan, blit, NV04_IMA...