nvk: Disable sampleLocationsSampleCounts for 1x MSAA

Suggested-by: Mel Henning <mhenning@darkrefraction.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14108
Fixes: a34edc7500 ("nvk: Fill out sample locations on Maxwell B+")
(cherry picked from commit aa0f404f7b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38167>
This commit is contained in:
Faith Ekstrand 2025-10-22 16:23:48 -04:00 committed by Dylan Baker
parent cd253df92a
commit 3f9f4d79d3
2 changed files with 8 additions and 3 deletions

View file

@ -954,7 +954,7 @@
"description": "nvk: Disable sampleLocationsSampleCounts for 1x MSAA",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "a34edc7500c84bfd52cf71cb78db46c34d436ae2",
"notes": null

View file

@ -1141,8 +1141,13 @@ nvk_get_device_properties(const struct nvk_instance *instance,
.robustStorageBufferAccessSizeAlignment = NVK_SSBO_BOUNDS_CHECK_ALIGNMENT,
.robustUniformBufferAccessSizeAlignment = nvk_min_cbuf_alignment(info),
/* VK_EXT_sample_locations */
.sampleLocationSampleCounts = sample_counts,
/* VK_EXT_sample_locations
*
* There's a weird HW issue with per-sample interpolation for 1x. It
* always interpolates at (0.5, 0.5) so we just disable custom sample
* locations for 1x.
*/
.sampleLocationSampleCounts = sample_counts & ~VK_SAMPLE_COUNT_1_BIT,
.maxSampleLocationGridSize = (VkExtent2D){ 1, 1 },
.sampleLocationCoordinateRange[0] = 0.0f,
.sampleLocationCoordinateRange[1] = 0.9375f,