search for: pipe_clear_color

Displaying 6 results from an estimated 6 matches for "pipe_clear_color".

2014 Feb 13
2
[PATCH] nv50: make sure to clear _all_ layers of all attachments
...xtures, they can't be arrays. The + * above nv50_state_validate call will have written to rt_array_mode. */ + if (!(nv50->rt_array_mode & NV50_3D_RT_ARRAY_MODE_MODE_3D)) { + BEGIN_NV04(push, NV50_3D(RT_ARRAY_MODE), 1); + PUSH_DATA (push, 512); + } + if (buffers & PIPE_CLEAR_COLOR && fb->nr_cbufs) { BEGIN_NV04(push, NV50_3D(CLEAR_COLOR(0)), 4); PUSH_DATAf(push, color->f[0]); @@ -459,6 +470,10 @@ nv50_clear(struct pipe_context *pipe, unsigned buffers, (j << NV50_3D_CLEAR_BUFFERS_LAYER__SHIFT)); } } + + /* res...
2009 Apr 10
0
[PATCH/Gallium] nv50_clear again (might work better)
...L_BITS 0x03 +#define NV50TCL_CLEAR_COLOR_BITS(i) (0x3c + (0x40 * (i))) + void nv50_clear(struct pipe_context *pipe, unsigned buffers, const float *rgba, double depth, unsigned stencil) @@ -40,26 +47,32 @@ nv50_clear(struct pipe_context *pipe, unsigned buffers, return; if (buffers & PIPE_CLEAR_COLOR) { - BEGIN_RING(chan, tesla, NV50TCL_CLEAR_COLOR(0), 4*fb->nr_cbufs); - for (i = 0; i < fb->nr_cbufs; i++) { - OUT_RING (chan, fui(rgba[0])); - OUT_RING (chan, fui(rgba[1])); - OUT_RING (chan, fui(rgba[2])); - OUT_RING (chan, fui(rgba[3])); - } - mode |= 0x3c; + assert(fb-...
2009 Apr 08
0
[PATCH/Gallium] nv50: update nv50_clear to new interface
...nge this to if/return */ + assert(buffers && (s_fb.nr_cbufs > 0 || s_fb.zsbuf != NULL)); + nv50->dirty = 0; + fb.nr_cbufs = 0; - if (ps->format == PIPE_FORMAT_Z24S8_UNORM || - ps->format == PIPE_FORMAT_Z16_UNORM) { - fb.nr_cbufs = 0; - fb.zsbuf = ps; + if (buffers & PIPE_CLEAR_COLOR) { + /* Should we clear all color buffers (nv40 doesn't), clear_with_quad + * from the mesa state tracker seems to ? */ + for (unsigned i = 0; i < s_fb.nr_cbufs; ++i) { + unsigned color; + ps = s_fb.cbufs[i]; + + if (ps->format == PIPE_FORMAT_A8R8G8B8_UNORM) { + fb.cbufs[fb.n...
2015 May 24
2
[PATCH 1/2] nv30: avoid doing extra work on clear and hitting unexpected states
...pipe, unsigned buffers, struct pipe_framebuffer_state *fb = &nv30->framebuffer; uint32_t colr = 0, zeta = 0, mode = 0; - if (!nv30_state_validate(nv30, TRUE)) + if (!nv30_state_validate(nv30, NV30_NEW_FRAMEBUFFER | NV30_NEW_SCISSOR, TRUE)) return; if (buffers & PIPE_CLEAR_COLOR && fb->nr_cbufs) { diff --git a/src/gallium/drivers/nouveau/nv30/nv30_context.h b/src/gallium/drivers/nouveau/nv30/nv30_context.h index 7b32aae..592cdbe 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_context.h +++ b/src/gallium/drivers/nouveau/nv30/nv30_context.h @@ -204,7 +204,7 @@...
2014 Jan 13
20
[PATCH 00/19] nv50: add sampler2DMS/GP support to get OpenGL 3.2
OK, so there's a bunch of stuff in here. The geometry stuff is based on the work started by Bryan Cain and Christoph Bumiller. Patches 01-12: Add support for geometry shaders and fix related issues Patches 13-14: Make it possible for fb clears to operate on texture attachments with an explicit layer set (as is allowed in gl 3.2). Patches 15-17: Make ARB_texture_multisample work
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...eed NEW_BLEND, COLOR_MASK doesn't affect CLEAR_BUFFERS */ - if (!nvc0_state_validate_3d(nvc0, NVC0_NEW_3D_FRAMEBUFFER)) + if (!nvc0_state_validate_3d(nvc0, NVC0_NEW_3D_FRAMEBUFFER)) { + pipe_mutex_unlock(nvc0->screen->base.push_mutex); return; + } if (buffers & PIPE_CLEAR_COLOR && fb->nr_cbufs) { BEGIN_NVC0(push, NVC0_3D(CLEAR_COLOR(0)), 4); @@ -755,6 +784,8 @@ nvc0_clear(struct pipe_context *pipe, unsigned buffers, (j << NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT)); } } + + pipe_mutex_unlock(nvc0->screen->base.push_...