search for: fence_wr

Displaying 15 results from an estimated 15 matches for "fence_wr".

2014 May 26
2
Implement buffer_clear for nvc0
Hi, please review the following patch! Thanks, Tobias Klausmann
2013 Nov 30
1
[PATCH 1/2] nouveau: avoid leaking fences while waiting
This fixes a memory leak in some situations. Also avoids emitting an extra fence if the kick handler does the call to nouveau_fence_next itself. Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> Cc: "9.2 10.0" <mesa-stable at lists.freedesktop.org> --- TBH I'm pretty confused by the whole fence refcounting logic and its interaction with emits, updates, etc. However
2014 May 26
0
[PATCH] nvc0: Implement buffer_clear for this type of hardware
...+ struct nvc0_context *nvc0 = nvc0_context(pipe); + struct nouveau_pushbuf *push = nvc0->base.pushbuf; + struct nv04_resource *buf = nv04_resource(res); + + struct pipe_transfer *pt; + struct pipe_box pb; + unsigned elements, i; + union pipe_color_union color; + + if (buf->fence_wr && !nouveau_fence_signalled(buf->fence_wr)) + nouveau_fence_wait(buf->fence_wr); + + memcpy(&color.ui, data, 12); + memset(&color.ui[3], 0, 4); + + elements = size / data_size; + + memset(&pb, 0, sizeof(pb)); + pb.height = elements; + pb....
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...ct nouveau_context *nv, struct nouveau_transfer *tx, else nv->push_data(nv, buf->bo, buf->offset + base, buf->domain, size, data); - nouveau_fence_ref(nv->screen->fence.current, &buf->fence); - nouveau_fence_ref(nv->screen->fence.current, &buf->fence_wr); + nouveau_fence_ref(nv->fence.current, &buf->fence); + nouveau_fence_ref(nv->fence.current, &buf->fence_wr); } /* Does a CPU wait for the buffer's backing data to become reliably accessible @@ -288,7 +288,7 @@ nouveau_buffer_transfer_del(struct nouveau_context *nv,...
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 +-
2014 Mar 01
1
[PATCH] nouveau: add valid range tracking to nouveau_buffer
...gt;address = buf->bo->offset + buf->offset; + util_range_set_empty(&buf->valid_buffer_range); + return TRUE; } @@ -124,6 +126,8 @@ nouveau_buffer_destroy(struct pipe_screen *pscreen, nouveau_fence_ref(NULL, &res->fence); nouveau_fence_ref(NULL, &res->fence_wr); + util_range_destroy(&res->valid_buffer_range); + FREE(res); NOUVEAU_DRV_STAT(nouveau_screen(pscreen), buf_obj_current_count, -1); @@ -387,6 +391,17 @@ nouveau_buffer_transfer_map(struct pipe_context *pipe, if (usage & PIPE_TRANSFER_WRITE) NOUVEAU_DRV_STAT(nv-&...
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...struct nouveau_transfer *tx, > else > nv->push_data(nv, buf->bo, buf->offset + base, buf->domain, size, data); > > - nouveau_fence_ref(nv->screen->fence.current, &buf->fence); > - nouveau_fence_ref(nv->screen->fence.current, &buf->fence_wr); > + nouveau_fence_ref(nv->fence.current, &buf->fence); > + nouveau_fence_ref(nv->fence.current, &buf->fence_wr); > } > > /* Does a CPU wait for the buffer's backing data to become reliably accessible > @@ -288,7 +288,7 @@ nouveau_buffer_transfer_del...
2014 Jun 16
2
[PATCH 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
2014 May 27
1
[PATCH V3] nvc0: implement clear_buffer
...+ PUSH_DATA (push, width * data_size); + PUSH_DATA (push, height); + + IMMED_NVC0(push, NVC0_3D(CLEAR_BUFFERS), 0x3c); + } + + nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence); + nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence_wr); + nvc0->dirty |= NVC0_NEW_FRAMEBUFFER; +} + +static void nvc0_clear_depth_stencil(struct pipe_context *pipe, struct pipe_surface *dst, unsigned clear_flags, @@ -1363,4 +1513,5 @@ nvc0_init_surface_functions(struct nvc0_context *nvc0) p...
2014 May 26
1
[PATCH V2] nvc0: implement clear_buffer
...A (push, width * data_size); + PUSH_DATA (push, height); + + IMMED_NVC0(push, NVC0_3D(CLEAR_BUFFERS), 0x3c); + } + + nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence); + nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence_wr); + } + + nvc0->dirty |= NVC0_NEW_FRAMEBUFFER; +} + +static void nvc0_clear_depth_stencil(struct pipe_context *pipe, struct pipe_surface *dst, unsigned clear_flags, @@ -1363,4 +1513,5 @@ nvc0_init_surface_functions(struct nvc0_context *nvc...
2014 Jul 10
3
[PATCH 0/3] nvc0: ARB_(multi_)draw_indirect support
The main patches are from Christoph. Unfortunately they're a little beyond my understanding of all the vertex-related details, but they generally seemed fine. I'm just going to push these unless someone steps up to review them. Christoph Bumiller (2): nvc0: add support for indirect drawing nvc0: fix translate path for PRIM_RESTART_WITH_DRAW_ARRAYS Ilia Mirkin (1): nouveau: check if
2015 Jul 01
8
[Bug 91170] New: World of Zoo (in Wine) has rendering issues
https://bugs.freedesktop.org/show_bug.cgi?id=91170 Bug ID: 91170 Summary: World of Zoo (in Wine) has rendering issues Product: Mesa Version: git Hardware: Other URL: http://store.steampowered.com/app/43100/ OS: All Status: NEW Severity: normal Priority: medium Component:
2013 Dec 02
2
[PATCH] nouveau: Add lots of comments to the buffer transfer logic
...we actually need to do this. */ static boolean nouveau_transfer_read(struct nouveau_context *nv, struct nouveau_transfer *tx) { @@ -210,7 +217,9 @@ nouveau_transfer_write(struct nouveau_context *nv, struct nouveau_transfer *tx, nouveau_fence_ref(nv->screen->fence.current, &buf->fence_wr); } - +/* Does a CPU wait for the buffer's backing data to become reliably accessible + * for write/read by waiting on the buffer's relevant fences. + */ static INLINE boolean nouveau_buffer_sync(struct nv04_resource *buf, unsigned rw) { @@ -283,6 +292,7 @@ nouveau_buffer_transfer_del...
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...4 | NVC0_IB_ENTRY_1_NO_PREFETCH); } + pipe_mutex_unlock(nvc0->screen->base.push_mutex); + if (buf->mm) { nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence); nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence_wr); diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw_sm.c b/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw_sm.c index 27cbbc4..d416e00 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw_sm.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw_sm.c @@ -1662,6 +1662,7 @@ nve4_hw_sm...
2013 May 07
34
[Bug 64323] New: Severe misrendering in Left 4 Dead 2
https://bugs.freedesktop.org/show_bug.cgi?id=64323 Priority: medium Bug ID: 64323 Assignee: nouveau at lists.freedesktop.org Summary: Severe misrendering in Left 4 Dead 2 Severity: normal Classification: Unclassified OS: Linux (All) Reporter: bryancain3+fdo at gmail.com Hardware: x86 (IA32)