mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 22:20:09 +01:00
nvc0: re-validate images after launching a grid on Fermi
Images invalidation is a bit weird on Fermi and there is already a hack which forces invalidating all images when launching a computer shader to help in fixing 3D<->CP interaction. However, we need to re-validate images for compute because nvc0_compute_invalidate_surfaces() will destroy the previous binding. This is not really good for performance purposes but this might be improved later. This fixes the following piglits: - spec/arb_compute_shader/execution/basic-uniform-access - spec/arb_compute_shader/execution/mutiple-texture-reading - spec/arb_compute_shader/execution/multiple-workgroups - spec/glsl-4.30/execution/built-in-functions/cs-* (207 tests) 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
3b44864ab7
commit
43d3ecfb33
1 changed files with 3 additions and 0 deletions
|
|
@ -458,4 +458,7 @@ nvc0_launch_grid(struct pipe_context *pipe, const struct pipe_grid_info *info)
|
|||
|
||||
/* TODO: Not sure if this is really necessary. */
|
||||
nvc0_compute_invalidate_surfaces(nvc0, 5);
|
||||
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