https://bugs.freedesktop.org/show_bug.cgi?id=60802 --- Comment #50 from Anthony Waters --- I believe I have the source of the bug, it appears that there is a special case for Caymen GPUs that isn't handled in the DMA code path. In evergreen_state.c within the method evergreen_create_sampler_view_custom there is the chunk of code /* 128 bit formats require tile type = 1 */ if (rscreen->chip_class == CAYMAN) { if (util_format_get_blocksize(pipe_format) >= 16) non_disp_tiling = 1; } however, within evergreen_dma_copy_tile in the same source file no such code exists. I tested whether this was the case or not by placing the lines of code if (util_format_get_blocksize(dst->format) >= 16) { printf("Caymen non disp tiling skipping dma tile\n"); return FALSE; } before the call to evergreen_dma_copy_tile in evergreen_dma_blit, and the corruption no longer appeared. (having this checks skips the DMA path for this case and goes through the normal path, which would be evergreen_create_sampler_view_custom I believe) I'm not sure which bits in the DMA packet control this setting. -- You are receiving this mail because: You are the assignee for the bug.