OSDN Git Service

radeonsi: don't invoke DCC decompression in update_all_texture_descriptors
authorMarek Olšák <marek.olsak@amd.com>
Sun, 29 Jan 2017 22:59:59 +0000 (23:59 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Fri, 3 Feb 2017 11:08:58 +0000 (11:08 +0000)
commitb7f7dc7231440f36e82fabb7ebec1d294e79f71a
tree113fd2a47ae8db04f6e8dc70781f6ceeadf5b141
parent301c9b96f23b43bef25a6d8a6040f19ccb74891a
radeonsi: don't invoke DCC decompression in update_all_texture_descriptors

This fixes a bug uncovered by the 17-part patch series, specifically:
  "gallium/radeon: merge dirty_fb_counter and dirty_tex_descriptor_counter"

If dirty_tex_counter has been updated and set_shader_image invokes DCC
decompression, the DCC decompression itself checks the counter and updates
descriptors, which in turn invokes the same DCC decompression. The blitter
can't handle the recursion and the driver eventually crashes.

Cc: 17.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
(cherry picked from commit a0740d59aa97a08d89998cb57138e8217a331af6)
src/gallium/drivers/radeonsi/si_descriptors.c