radv: allocate thin textures as linear.
This is ported from radeonsi, and avoids the bug in the addrlib code. This should probably be something addrlib does for us, but for now this fixes the regression without changing addrlib and aligns us with radeonsi. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
9ced105a52
commit
4bcebe10ca
|
@ -41,6 +41,13 @@ radv_choose_tiling(struct radv_device *Device,
|
|||
return RADEON_SURF_MODE_LINEAR_ALIGNED;
|
||||
}
|
||||
|
||||
/* Textures with a very small height are recommended to be linear. */
|
||||
if (pCreateInfo->imageType == VK_IMAGE_TYPE_1D ||
|
||||
/* Only very thin and long 2D textures should benefit from
|
||||
* linear_aligned. */
|
||||
(pCreateInfo->extent.width > 8 && pCreateInfo->extent.height <= 2))
|
||||
return RADEON_SURF_MODE_LINEAR_ALIGNED;
|
||||
|
||||
/* MSAA resources must be 2D tiled. */
|
||||
if (pCreateInfo->samples > 1)
|
||||
return RADEON_SURF_MODE_2D;
|
||||
|
|
Loading…
Reference in New Issue