Mesa (master): radv: don't overallocate depth/stencil formats

Dave Airlie airlied at kemper.freedesktop.org
Thu Jul 6 22:23:58 UTC 2017


Module: Mesa
Branch: master
Commit: 8950fac6abacd8b2ca1ae1376ac72b48400816cf
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8950fac6abacd8b2ca1ae1376ac72b48400816cf

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Jul  6 07:23:25 2017 +0100

radv: don't overallocate depth/stencil formats

For depth/stencil formats the surface layer allocates the
stencil separately, so we don't need to include it in the
bpe.

This reduces the side of d32s8 allocates to something closer to pro.

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/radv_image.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 147ebed734..115e5a5cc3 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -72,7 +72,7 @@ radv_init_surface(struct radv_device *device,
 	surface->blk_w = vk_format_get_blockwidth(pCreateInfo->format);
 	surface->blk_h = vk_format_get_blockheight(pCreateInfo->format);
 
-	surface->bpe = vk_format_get_blocksize(pCreateInfo->format);
+	surface->bpe = vk_format_get_blocksize(vk_format_depth_only(pCreateInfo->format));
 	/* align byte per element on dword */
 	if (surface->bpe == 3) {
 		surface->bpe = 4;




More information about the mesa-commit mailing list