anv/hasvk: Clamping Scissor Rect values in a valid range
authorOtavio Pontes <otavio.pontes@intel.com>
Wed, 19 Oct 2022 21:39:24 +0000 (14:39 -0700)
committerMarge Bot <emma+marge@anholt.net>
Wed, 7 Dec 2022 12:19:42 +0000 (12:19 +0000)
commit2e775b8bdbc5cd0d120b5c757188f6e85bf0d59d
treecb72dea3b0a403eeaccd3f2569fb9396737bd663
parent029919f3c83f379065515708188d5c439c3fa6bc
anv/hasvk: Clamping Scissor Rect values in a valid range

On cmd_buffer_emit_scissor(), if VkViewport height or width are set to
a value lower than 1.0, y_max or x_max can be attributed negative values,
causing an overflow. That leads to ScissorRectangleYMax or
ScissorRectangleXMax to be set to values on an unsupported range.

Clamping x_max and y_max in the valid range solves the problem.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7471
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20200>
src/intel/vulkan/genX_cmd_buffer.c
src/intel/vulkan_hasvk/genX_cmd_buffer.c