From 39490f3c3a79e9c2e1acad37609108b4c14bd459 Mon Sep 17 00:00:00 2001 From: Triang3l Date: Thu, 9 Jul 2020 12:22:45 +0300 Subject: [PATCH] [GPU] Centroid interpolation usage comment --- src/xenia/gpu/xenos.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/xenia/gpu/xenos.h b/src/xenia/gpu/xenos.h index 7b8105556..7bd8c3cf7 100644 --- a/src/xenia/gpu/xenos.h +++ b/src/xenia/gpu/xenos.h @@ -558,6 +558,12 @@ enum class SampleControl : uint32_t { // - sample_control is SQ_CONTEXT_MISC::sc_sample_cntl. // - interpolator_control_sampling_pattern is // SQ_INTERPOLATOR_CNTL::sampling_pattern. +// Centroid interpolation can be tested in Red Dead Redemption. If the GPU host +// backend implements guest MSAA properly, using host MSAA, with everything +// interpolated at centers, the Diez Coronas start screen background may have +// a few distinctly bright pixels on the mesas/buttes, where extrapolation +// happens. Interpolating certain values (ones that aren't used for gradient +// calculation, not texture coordinates) at centroids fixes this issue. inline uint32_t GetInterpolatorSamplingPattern( MsaaSamples msaa_samples, SampleControl sample_control, uint32_t interpolator_control_sampling_pattern) {