Displaying 7 results from an estimated 7 matches for "pipe_clear_depth".
2014 Jan 17
2
[PATCH] nv50, nvc0: only clear out the buffers that we were asked to clear
...buffers,
       PUSH_DATAf(push, color->f[1]);
       PUSH_DATAf(push, color->f[2]);
       PUSH_DATAf(push, color->f[3]);
-      mode =
-         NV50_3D_CLEAR_BUFFERS_R | NV50_3D_CLEAR_BUFFERS_G |
-         NV50_3D_CLEAR_BUFFERS_B | NV50_3D_CLEAR_BUFFERS_A;
    }
 
    if (buffers & PIPE_CLEAR_DEPTH) {
@@ -425,12 +422,16 @@ nv50_clear(struct pipe_context *pipe, unsigned buffers,
       mode |= NV50_3D_CLEAR_BUFFERS_S;
    }
 
-   BEGIN_NV04(push, NV50_3D(CLEAR_BUFFERS), 1);
-   PUSH_DATA (push, mode);
-
-   for (i = 1; i < fb->nr_cbufs; i++) {
+   if (mode) {
       BEGIN_NV04(push, NV50...
2014 Jan 23
2
[Mesa-dev] [PATCH] nv50, nvc0: only clear out the buffers that we were asked to clear
...stoph was really keen on doing the common-case color/depth clear
all in one clear buffers command, so yeah -- I redid it that way.
Enjoy the layered version of that in a later commit.
>
> That one is Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
>>     if (buffers & PIPE_CLEAR_DEPTH) {
>> @@ -425,12 +422,16 @@ nv50_clear(struct pipe_context *pipe, unsigned buffers,
>>        mode |= NV50_3D_CLEAR_BUFFERS_S;
>>     }
>>
>> -   BEGIN_NV04(push, NV50_3D(CLEAR_BUFFERS), 1);
>> -   PUSH_DATA (push, mode);
>> -
>> -   for (i = 1; i <...
2014 Jan 23
0
[Mesa-dev] [PATCH] nv50, nvc0: only clear out the buffers that we were asked to clear
...was that if there is a color buffer it must be at
cbuf[0].
The corrected version in your github branch looks alot better, it
handles the above case and does not overwrite the clear buffer on rt0.
That one is Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
>     if (buffers & PIPE_CLEAR_DEPTH) {
> @@ -425,12 +422,16 @@ nv50_clear(struct pipe_context *pipe, unsigned buffers,
>        mode |= NV50_3D_CLEAR_BUFFERS_S;
>     }
>  
> -   BEGIN_NV04(push, NV50_3D(CLEAR_BUFFERS), 1);
> -   PUSH_DATA (push, mode);
> -
> -   for (i = 1; i < fb->nr_cbufs; i++) {
>...
2014 Jan 23
0
[Mesa-dev] [PATCH] nv50, nvc0: only clear out the buffers that we were asked to clear
...ing the common-case color/depth clear
> all in one clear buffers command, so yeah -- I redid it that way.
> Enjoy the layered version of that in a later commit.
> 
>>
>> That one is Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
>>>     if (buffers & PIPE_CLEAR_DEPTH) {
>>> @@ -425,12 +422,16 @@ nv50_clear(struct pipe_context *pipe, unsigned buffers,
>>>        mode |= NV50_3D_CLEAR_BUFFERS_S;
>>>     }
>>>
>>> -   BEGIN_NV04(push, NV50_3D(CLEAR_BUFFERS), 1);
>>> -   PUSH_DATA (push, mode);
>>> -
&g...
2014 Jan 15
3
[PATCH] nv50, nvc0: don't crash on a null cbuf
This is needed since commit 9baa45f78b (st/mesa: bind NULL colorbuffers
as specified by glDrawBuffers).
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
Not sure whether something needs to be done to clear out the old RT_* settings
for that index buffer, or if things are cleared out implicitly. Perhaps
instead of skipping indices, RT_CONTROL needs to be adjusted with the
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
...NEW_3D_SCISSOR;
 }
 
@@ -376,6 +387,8 @@ nv50_clear_depth_stencil(struct pipe_context *pipe,
    assert(dst->texture->target != PIPE_BUFFER);
    assert(nouveau_bo_memtype(bo)); /* ZETA cannot be linear */
 
+   pipe_mutex_lock(nv50->screen->base.push_mutex);
+
    if (clear_flags & PIPE_CLEAR_DEPTH) {
       BEGIN_NV04(push, NV50_3D(CLEAR_DEPTH), 1);
       PUSH_DATAf(push, depth);
@@ -388,8 +401,10 @@ nv50_clear_depth_stencil(struct pipe_context *pipe,
       mode |= NV50_3D_CLEAR_BUFFERS_S;
    }
 
-   if (nouveau_pushbuf_space(push, 32 + sf->depth, 1, 0))
+   if (nouveau_pushbuf_space(p...