radv: Fix mipmap views on GFX10+
As explained in the previous commit, GFX9+ has issues with addressing mipmaps in block-compressed images. In the case of copy commands, we fix this by doing an extra copy for the missing blocks. For GFX10, the mipmap layout in memory allows us to do better than that. We can change the base level of the descriptor to one level bigger than the requested level and adjust the extent and address to match. This is done by ComputeNonBlockCompressedView in addrlib. Thus on GFX10 we can skip the fixup copy workaround, and this will also fix cases outside of explicit copy commands. Signed-off-by:John Brooks <john@fastquake.com> Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Acked-by:
Acked-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!17970>
Showing
- src/amd/common/ac_surface.c 47 additions, 0 deletionssrc/amd/common/ac_surface.c
- src/amd/common/ac_surface.h 15 additions, 0 deletionssrc/amd/common/ac_surface.h
- src/amd/vulkan/radv_image.c 59 additions, 18 deletionssrc/amd/vulkan/radv_image.c
- src/amd/vulkan/radv_meta_bufimage.c 7 additions, 2 deletionssrc/amd/vulkan/radv_meta_bufimage.c
Loading
Please register or sign in to comment