From d2daf543795ebe8cfc259f6dbd5282315623377c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Tue, 25 Dec 2018 23:20:14 -0800 Subject: [PATCH] Metal: Fixed MSAA detection. --- src/renderer_mtl.mm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 505c6f312..db47e58e4 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -304,7 +304,7 @@ namespace bgfx { namespace mtl }; BX_STATIC_ASSERT(TextureFormat::Count == BX_COUNTOF(s_textureFormat) ); - int s_msaa[] = + int32_t s_msaa[] = { 1, 2, @@ -600,11 +600,18 @@ namespace bgfx { namespace mtl } } - for (uint32_t ii = 1; ii < 5; ++ii) + for (uint32_t ii = 1, last = 0; ii < BX_COUNTOF(s_msaa); ++ii) { - if (!m_device.supportsTextureSampleCount(s_msaa[ii]) ) + const int32_t sampleCount = 1<<(ii-1); + + if (!m_device.supportsTextureSampleCount(sampleCount) ) { - s_msaa[ii] = s_msaa[ii-1]; + s_msaa[ii] = sampleCount; + last = ii; + } + else + { + s_msaa[ii] = s_msaa[last]; } }