FYI, I've reviewed all patches now. Marek
On Sat, Sep 5, 2015 at 12:28 AM, Marek Olšák <mar...@gmail.com> wrote: > Thank you very much. I'm impressed. > > Sorry, but this will take some time for me to review because I'm very > busy currently. I will have to check with internal documentation if > everything is correct. The idea of not using DCC for scanout/shared > buffers is great. > > Marek > > On Fri, Sep 4, 2015 at 9:47 PM, Bas Nieuwenhuizen > <b...@basnieuwenhuizen.nl> wrote: >> This patch series enables delta color compression (DCC) for Vulcanic >> Islands GPU's. This should reduce memory bandwidth to increase >> performance. >> >> I have found no documentation on this feature, so most of the work is >> based on guesswork, register names and Catalyst traces. >> >> Some benchmarks I've ran: >> >> nexuiz 68.83 -> 81.62 >> openarena 50.90 -> 50.80 >> heaven 5.47 -> 6.26 >> valley 9.58 -> 10.40 >> xonotic 60.32 -> 60.27 >> >> Note that DCC for SCANOUT surfaces is still disabled, as the X server >> can be rendering to it as front buffer, which has no resource flush. >> >> As a side effect, the main framebuffers of clients (at least on DRI2) >> are also not DCC enabled. As passing a surface to the X server and >> display are the most common reasons for decompressing, games should not >> pretty much never trigger the DCC decompression path. We therefore >> should have only very minor performance regressions. If I enable DCC >> for SCANOUT buffers in applications I get >> >> nexuiz 68.83 -> 78.81 >> openarena 50.90 -> 56.10 >> heaven 5.47 -> 6.28 >> valley 9.58 -> 10.54 >> xonotic 60.32 -> 56.26 >> >> This change would have somewhat mixed results, with a regression for >> xonotic. >> >> As for testing, I run this systemwide for a few days now and a piglit >> test minus a few tests that locked up on the baseline or >> seemingly gave random results, did not result in regressions. >> >> >> Bas Nieuwenhuizen (8): >> radeonsi: Allocate buffers for DCC. >> radeonsi: Add DCC compression tracking machinery. >> radeonsi: Enable DCC. >> radeonsi: Add DCC fast clear. >> radeonsi: Invalidate the L2 cache on framebuffer change. >> radeonsi: Add sampling of DCC compressed textures. >> radeonsi: Do not decompress DCC textures for sampling. >> radeonsi: Add DCC for multisampled textures. >> >> src/gallium/drivers/radeon/r600_buffer_common.c | 20 +++++++ >> src/gallium/drivers/radeon/r600_pipe_common.h | 9 ++++ >> src/gallium/drivers/radeon/r600_texture.c | 69 >> +++++++++++++++++++++---- >> src/gallium/drivers/radeon/r600d_common.h | 1 + >> src/gallium/drivers/radeon/radeon_winsys.h | 5 ++ >> src/gallium/drivers/radeonsi/cik_sdma.c | 6 ++- >> src/gallium/drivers/radeonsi/si_blit.c | 39 +++++++++----- >> src/gallium/drivers/radeonsi/si_descriptors.c | 5 ++ >> src/gallium/drivers/radeonsi/si_dma.c | 6 ++- >> src/gallium/drivers/radeonsi/si_pipe.c | 2 + >> src/gallium/drivers/radeonsi/si_pipe.h | 3 ++ >> src/gallium/drivers/radeonsi/si_state.c | 47 ++++++++++++++--- >> src/gallium/drivers/radeonsi/si_state_draw.c | 14 +++++ >> src/gallium/drivers/radeonsi/sid.h | 1 + >> src/gallium/winsys/amdgpu/drm/amdgpu_surface.c | 47 +++++++++++++++-- >> 15 files changed, 237 insertions(+), 37 deletions(-) >> >> -- >> 2.5.1 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev