mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-08 20:28:32 +09:00
[Fix] (MG_Backend/DirectGLES): fix Complementary shaders on Mali
- emulate RGBA8 SNORM fallback writes
This commit is contained in:
@@ -184,6 +184,7 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
||||
|
||||
Flags<PixelFormatNormalizeOptionBit> GetDriverPixelFormatNormalizeOptions() {
|
||||
Flags<PixelFormatNormalizeOptionBit> options = PixelFormatNormalizeOptionBit::NoDepthComponent32;
|
||||
options |= PixelFormatNormalizeOptionBit::NoRGBA8Snorm;
|
||||
if (!g_GLESCapabilities.SupportsNorm16Texture) {
|
||||
options |= PixelFormatNormalizeOptionBit::NoNorm16;
|
||||
}
|
||||
@@ -207,6 +208,10 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
||||
reasons.push_back(forced ? "SNORM8 fallback forced by backend policy"
|
||||
: "SNORM8 native path is not supported");
|
||||
}
|
||||
if (options & PixelFormatNormalizeOptionBit::NoRGBA8Snorm) {
|
||||
reasons.push_back(forced ? "RGBA8_SNORM fallback forced by backend policy"
|
||||
: "RGBA8_SNORM render target path is not supported");
|
||||
}
|
||||
if (options & PixelFormatNormalizeOptionBit::NoDepthComponent32) {
|
||||
reasons.push_back("GL_DEPTH_COMPONENT32 native probe failed on OpenGL ES");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user