mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 19:00:13 +01:00
nvc0: do not clear surfaces bins in the validate function
We should not call nouveau_bufctx_reset() inside a validate function. This only affects Fermi where images are aliased between 3D and CP. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
43d3ecfb33
commit
be365f34f0
2 changed files with 2 additions and 5 deletions
|
|
@ -324,6 +324,7 @@ nvc0_compute_validate_surfaces(struct nvc0_context *nvc0)
|
|||
nvc0_validate_suf(nvc0, 5);
|
||||
|
||||
/* Invalidate all FRAGMENT images because they are aliased with COMPUTE. */
|
||||
nouveau_bufctx_reset(nvc0->bufctx_3d, NVC0_BIND_3D_SUF);
|
||||
nvc0->dirty_3d |= NVC0_NEW_3D_SURFACES;
|
||||
nvc0->images_dirty[4] |= nvc0->images_valid[4];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -994,11 +994,6 @@ nvc0_validate_suf(struct nvc0_context *nvc0, int s)
|
|||
struct nouveau_pushbuf *push = nvc0->base.pushbuf;
|
||||
struct nvc0_screen *screen = nvc0->screen;
|
||||
|
||||
if (s == 5)
|
||||
nouveau_bufctx_reset(nvc0->bufctx_cp, NVC0_BIND_CP_SUF);
|
||||
else
|
||||
nouveau_bufctx_reset(nvc0->bufctx_3d, NVC0_BIND_3D_SUF);
|
||||
|
||||
for (int i = 0; i < NVC0_MAX_IMAGES; ++i) {
|
||||
struct pipe_image_view *view = &nvc0->images[s][i];
|
||||
int width, height, depth;
|
||||
|
|
@ -1099,6 +1094,7 @@ nvc0_update_surface_bindings(struct nvc0_context *nvc0)
|
|||
nvc0_validate_suf(nvc0, 4);
|
||||
|
||||
/* Invalidate all COMPUTE images because they are aliased with FRAGMENT. */
|
||||
nouveau_bufctx_reset(nvc0->bufctx_cp, NVC0_BIND_CP_SUF);
|
||||
nvc0->dirty_cp |= NVC0_NEW_CP_SURFACES;
|
||||
nvc0->images_dirty[5] |= nvc0->images_valid[5];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue