search for: nvc0_clear_buffer

Displaying 11 results from an estimated 11 matches for "nvc0_clear_buffer".

2014 May 27
1
[PATCH V3] nvc0: implement clear_buffer
v2: - change patch name to "nvc0: implement clear_buffer" - rename nvc0_clear_buffer_rgb32 -> nvc0_clear_buffer_cpu and make it work for all formats - remove superfluous fenciing in nvc0_clear_buffer_cpu - coding style fixes v3: - more coding style fixes - nvc0_clear_buffer() - don't mark the framebuffer dirty for if we don't touch the GPU Signed-off-by: To...
2014 May 26
2
Implement buffer_clear for nvc0
Hi, please review the following patch! Thanks, Tobias Klausmann
2014 May 26
1
[PATCH V2] nvc0: implement clear_buffer
...vc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c index 6b7c30c..242924a 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c @@ -345,6 +345,156 @@ nvc0_clear_render_target(struct pipe_context *pipe, } static void +nvc0_clear_buffer_cpu(struct pipe_context *pipe, + struct pipe_resource *res, + unsigned offset, unsigned size, + const void *data, int data_size) +{ + struct nv04_resource *buf = nv04_resource(res); + struct pipe_transfer *pt; + struct pipe_box bo...
2014 May 26
0
[PATCH] nvc0: Implement buffer_clear for this type of hardware
...vc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c index 6b7c30c..987b6c4 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c @@ -345,6 +345,176 @@ nvc0_clear_render_target(struct pipe_context *pipe, } static void +nvc0_clear_buffer_rgb32(struct pipe_context *pipe, + struct pipe_resource *res, + unsigned offset, unsigned size, + const void *data, int data_size) +{ + // FIXME: Find a way to do this with the GPU! + + struct nvc0_context *nvc0 = nvc0_context...
2014 Jun 14
0
[PATCH 2/3] nvc0: mark scissor in nvc0_clear_{}
...context *pipe, BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2); PUSH_DATA (push, ( width << 16) | dstx); PUSH_DATA (push, (height << 16) | dsty); + nvc0->scissors_dirty |= 1; BEGIN_NVC0(push, NVC0_3D(RT_CONTROL), 1); PUSH_DATA (push, 1); @@ -447,6 +448,7 @@ nvc0_clear_buffer(struct pipe_context *pipe, BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2); PUSH_DATA (push, width << 16); PUSH_DATA (push, height << 16); + nvc0->scissors_dirty |= 1; IMMED_NVC0(push, NVC0_3D(RT_CONTROL), 1); @@ -521,6 +523,7 @@ nvc0_clear_depth_stencil(stru...
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...O_WR); @@ -354,6 +363,8 @@ nvc0_clear_render_target(struct pipe_context *pipe, IMMED_NVC0(push, NVC0_3D(COND_MODE), nvc0->cond_condmode); nvc0->dirty_3d |= NVC0_NEW_3D_FRAMEBUFFER; + + pipe_mutex_unlock(nvc0->screen->base.push_mutex); } static void @@ -541,8 +552,11 @@ nvc0_clear_buffer(struct pipe_context *pipe, assert(size % data_size == 0); + pipe_mutex_lock(nvc0->screen->base.push_mutex); + if (data_size == 12) { nvc0_clear_buffer_push(pipe, res, offset, size, data, data_size); + pipe_mutex_unlock(nvc0->screen->base.push_mutex); ret...
2014 Jun 14
7
[PATCH 0/3] ARB_viewport_array for nvc0
This patch-series implements the ARB_viewport_array for nvc0 and does a little house-cleanig afterwords. Tobias Klausmann (3): nvc0: implement multiple viewports/scissors, enable ARB_viewport_array nvc0: mark scissor in nvc0_clear_{} nv50/ir: Remove NV50_SEMANTIC_VIEWPORTINDEX and its last consumer .../drivers/nouveau/codegen/nv50_ir_driver.h | 1 -
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...(ZETA_ENABLE), 0); /* tiled textures don't have to be fenced, they're not mapped directly */ - nvc0_resource_fence(res, NOUVEAU_BO_WR); + nvc0_resource_fence(nvc0, res, NOUVEAU_BO_WR); } BEGIN_NIC0(push, NVC0_3D(CLEAR_BUFFERS), sf->depth); @@ -479,8 +479,8 @@ nvc0_clear_buffer(struct pipe_context *pipe, 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); + nouveau_fence_ref(nvc0->base.fenc...
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 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
.../* tiled textures don't have to be fenced, they're not mapped directly */ > - nvc0_resource_fence(res, NOUVEAU_BO_WR); > + nvc0_resource_fence(nvc0, res, NOUVEAU_BO_WR); > } > > BEGIN_NIC0(push, NVC0_3D(CLEAR_BUFFERS), sf->depth); > @@ -479,8 +479,8 @@ nvc0_clear_buffer(struct pipe_context *pipe, > 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); > + nouveau_...
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