nv50: maintain pipe surface status field
This commit is contained in:
@@ -9,4 +9,5 @@ nv50_clear(struct pipe_context *pipe, struct pipe_surface *ps,
|
||||
unsigned clearValue)
|
||||
{
|
||||
pipe->surface_fill(pipe, ps, 0, 0, ps->width, ps->height, clearValue);
|
||||
ps->status = PIPE_SURFACE_STATUS_CLEAR;
|
||||
}
|
||||
|
||||
@@ -157,10 +157,17 @@ nv50_state_emit(struct nv50_context *nv50)
|
||||
boolean
|
||||
nv50_state_validate(struct nv50_context *nv50)
|
||||
{
|
||||
const struct pipe_framebuffer_state *fb = &nv50->framebuffer;
|
||||
struct nouveau_grobj *tesla = nv50->screen->tesla;
|
||||
struct nouveau_stateobj *so;
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < fb->num_cbufs; i++)
|
||||
fb->cbufs[i]->status = PIPE_SURFACE_STATUS_DEFINED;
|
||||
|
||||
if (fb->zsbuf)
|
||||
fb->zsbuf->status = PIPE_SURFACE_STATUS_DEFINED;
|
||||
|
||||
if (nv50->dirty & NV50_NEW_FRAMEBUFFER)
|
||||
nv50_state_validate_fb(nv50);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user