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.
This commit is contained in:
@@ -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);
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user