From b0dfd11a010f19e0ef51807b88f9c8cafcf1567e Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 19 May 2023 16:39:07 +0200 Subject: [PATCH] Fix missing 4X MSAA support on some OpenGL backends (#3780) * Always support 4x MSAA on GL * Update changelog --- CHANGELOG.md | 1 + wgpu-hal/src/gles/adapter.rs | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79d0309259..9af353b393 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,7 @@ Bottom level categories: ### Bug Fixes - Fix order of arguments to glPolygonOffset by @komadori in [#3783](https://github.com/gfx-rs/wgpu/pull/3783). +- Fix missing 4X MSAA support on some OpenGL backends. By @emilk in [#3780](https://github.com/gfx-rs/wgpu/pull/3780) #### General diff --git a/wgpu-hal/src/gles/adapter.rs b/wgpu-hal/src/gles/adapter.rs index b14857ae22..dac13f27df 100644 --- a/wgpu-hal/src/gles/adapter.rs +++ b/wgpu-hal/src/gles/adapter.rs @@ -713,10 +713,12 @@ impl crate::Adapter for super::Adapter { | Tfc::MULTISAMPLE_X16 } else if max_samples >= 8 { Tfc::MULTISAMPLE_X2 | Tfc::MULTISAMPLE_X4 | Tfc::MULTISAMPLE_X8 - } else if max_samples >= 4 { - Tfc::MULTISAMPLE_X2 | Tfc::MULTISAMPLE_X4 } else { - Tfc::MULTISAMPLE_X2 + // The lowest supported level in GLE3.0/WebGL2 is 4X + // (see GL_MAX_SAMPLES in https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glGet.xhtml). + // On some platforms, like iOS Safari, `get_parameter_i32(MAX_SAMPLES)` returns 0, + // so we always fall back to supporting 4x here. + Tfc::MULTISAMPLE_X2 | Tfc::MULTISAMPLE_X4 } };