mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 12:40:09 +01:00
isl: Validate row pitch of stencil surfaces.
Also, silence an obnoxious finishme that started occurring for all
GL applications which use stencil after the i965 ISL conversion.
v2: Check against 3DSTATE_STENCIL_BUFFER's pitch bits when using
separate stencil, and 3DSTATE_DEPTH_BUFFER's bits when using
combined depth-stencil.
Cc: "17.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
26fbb9eacd
commit
5563872dbf
1 changed files with 7 additions and 2 deletions
|
|
@ -1367,8 +1367,13 @@ isl_calc_row_pitch(const struct isl_device *dev,
|
|||
!pitch_in_range(row_pitch, _3DSTATE_HIER_DEPTH_BUFFER_SurfacePitch_bits(dev->info)))
|
||||
return false;
|
||||
|
||||
if (surf_info->usage & ISL_SURF_USAGE_STENCIL_BIT)
|
||||
isl_finishme("validate row pitch of stencil surfaces");
|
||||
const uint32_t stencil_pitch_bits = dev->use_separate_stencil ?
|
||||
_3DSTATE_STENCIL_BUFFER_SurfacePitch_bits(dev->info) :
|
||||
_3DSTATE_DEPTH_BUFFER_SurfacePitch_bits(dev->info);
|
||||
|
||||
if ((surf_info->usage & ISL_SURF_USAGE_STENCIL_BIT) &&
|
||||
!pitch_in_range(row_pitch, stencil_pitch_bits))
|
||||
return false;
|
||||
|
||||
done:
|
||||
*out_row_pitch = row_pitch;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue