mesa: Prevent _MaxLevel from being less than zero
authorThong Thai <thong.thai@amd.com>
Tue, 7 Jan 2020 21:38:25 +0000 (16:38 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 8 Jan 2020 21:44:20 +0000 (16:44 -0500)
When decoding using VDPAU, the _MaxLevel value becomes -1 due to
NumLevels being equal to 0 at a certain point, and decoding fails
due to an assertion later on.

Signed-off-by: Thong Thai <thong.thai@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Cc: 19.2 19.3 <mesa-stable@lists.freedesktop.org>
src/mesa/main/texobj.c

index 0f124459f7597ecff710822907dc93492117b0de..c5459f4540f6475dc0d114908f497fde26067152 100644 (file)
@@ -757,7 +757,7 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx,
       /* Adjust max level for views: the data store may have more levels than
        * the view exposes.
        */
-      t->_MaxLevel = MIN2(t->_MaxLevel, t->NumLevels - 1);
+      t->_MaxLevel = MAX2(MIN2(t->_MaxLevel, t->NumLevels - 1), 0);
    }
 
    /* Compute _MaxLambda = q - p in the spec used during mipmapping */