pvr: amend tile buffer size calculation for eot
Fixes: a67120cda3 ("pvr, pco: full support for tile buffer eot handling")
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37724>
This commit is contained in:
@@ -88,11 +88,22 @@ pco_shader *pvr_usc_eot(pco_ctx *ctx,
|
||||
|
||||
assert(props->msaa_samples);
|
||||
if (props->msaa_samples > 1) {
|
||||
if (PVR_HAS_FEATURE(dev_info, pbe2_in_xe) &&
|
||||
PVR_GET_FEATURE_VALUE(dev_info, isp_samples_per_pixel, 0U) ==
|
||||
if (PVR_HAS_FEATURE(dev_info, pbe2_in_xe)) {
|
||||
if (PVR_GET_FEATURE_VALUE(dev_info, isp_samples_per_pixel, 0U) ==
|
||||
4) {
|
||||
data_size *= props->msaa_samples;
|
||||
/* Scale the size according to the number of samples. */
|
||||
data_size *= props->msaa_samples;
|
||||
}
|
||||
|
||||
/* Else, the size is reduced proportionally so the
|
||||
* total amount of data remains the same as for non-MSAA, i.e.
|
||||
* data_size is unchanged.
|
||||
*/
|
||||
} else {
|
||||
/* The size is multiplied by the number of samples, but, for the
|
||||
* 4x and 8x modes the size is reduced proportionally so the
|
||||
* total amount of data remains the same as for 2x.
|
||||
*/
|
||||
data_size *= 2;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user