radv: don't overallocate depth/stencil formats
authorDave Airlie <airlied@redhat.com>
Thu, 6 Jul 2017 06:23:25 +0000 (07:23 +0100)
committerDave Airlie <airlied@redhat.com>
Thu, 6 Jul 2017 22:23:22 +0000 (23:23 +0100)
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@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_image.c

index 147ebed7341b5513d6ab705616af2ca757a9a352..115e5a5cc31c966b436fdd930c7bddd3e9d5aa74 100644 (file)
@@ -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;