From ccd84848f0ff71ccc4a257ee2628f5ebc94be3b5 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 29 Dec 2015 15:50:15 -0800 Subject: [PATCH] anv/state: Fix reversed MIN vs. MAX in levelCount handling. The point is to promote a levelCount of 0 to 1 before subtracting 1. This needs MAX, not MIN. --- src/vulkan/gen7_state.c | 4 ++-- src/vulkan/gen8_state.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vulkan/gen7_state.c b/src/vulkan/gen7_state.c index cb299a3278b..88a508a1be9 100644 --- a/src/vulkan/gen7_state.c +++ b/src/vulkan/gen7_state.c @@ -329,7 +329,7 @@ genX(image_view_init)(struct anv_image_view *iview, * sampler engine is [SurfaceMinLOD, SurfaceMinLOD + MIPCountLOD]. */ surface_state.SurfaceMinLOD = range->baseMipLevel; - surface_state.MIPCountLOD = MIN2(range->levelCount, 1) - 1; + surface_state.MIPCountLOD = MAX2(range->levelCount, 1) - 1; GENX(RENDER_SURFACE_STATE_pack)(NULL, iview->nonrt_surface_state.map, &surface_state); @@ -369,7 +369,7 @@ genX(image_view_init)(struct anv_image_view *iview, format->surface_format); surface_state.SurfaceMinLOD = range->baseMipLevel; - surface_state.MIPCountLOD = MIN2(range->levelCount, 1) - 1; + surface_state.MIPCountLOD = MAX2(range->levelCount, 1) - 1; GENX(RENDER_SURFACE_STATE_pack)(NULL, iview->storage_surface_state.map, &surface_state); diff --git a/src/vulkan/gen8_state.c b/src/vulkan/gen8_state.c index 199905b60dc..34c4d26b20f 100644 --- a/src/vulkan/gen8_state.c +++ b/src/vulkan/gen8_state.c @@ -305,7 +305,7 @@ genX(image_view_init)(struct anv_image_view *iview, * sampler engine is [SurfaceMinLOD, SurfaceMinLOD + MIPCountLOD]. */ surface_state.SurfaceMinLOD = range->baseMipLevel; - surface_state.MIPCountLOD = MIN2(range->levelCount, 1) - 1; + surface_state.MIPCountLOD = MAX2(range->levelCount, 1) - 1; GENX(RENDER_SURFACE_STATE_pack)(NULL, iview->nonrt_surface_state.map, &surface_state); @@ -344,7 +344,7 @@ genX(image_view_init)(struct anv_image_view *iview, format_info->surface_format); surface_state.SurfaceMinLOD = range->baseMipLevel; - surface_state.MIPCountLOD = MIN2(range->levelCount, 1) - 1; + surface_state.MIPCountLOD = MAX2(range->levelCount, 1) - 1; GENX(RENDER_SURFACE_STATE_pack)(NULL, iview->storage_surface_state.map, &surface_state); -- 2.30.2