diff --git a/src/libANGLE/es3_copy_conversion_table_autogen.cpp b/src/libANGLE/es3_copy_conversion_table_autogen.cpp index 3647445c50..d0d46fa14d 100644 --- a/src/libANGLE/es3_copy_conversion_table_autogen.cpp +++ b/src/libANGLE/es3_copy_conversion_table_autogen.cpp @@ -35,6 +35,8 @@ bool ValidES3CopyConversion(GLenum textureFormat, GLenum framebufferFormat) { case GL_BGRA_EXT: return true; + case GL_RGBA: + return true; default: break; } diff --git a/src/libANGLE/validationES1.cpp b/src/libANGLE/validationES1.cpp index 59f3d25005..9c6107cd74 100644 --- a/src/libANGLE/validationES1.cpp +++ b/src/libANGLE/validationES1.cpp @@ -16,7 +16,9 @@ #include "libANGLE/queryutils.h" #include "libANGLE/validationES.h" -#define ANGLE_VALIDATE_IS_GLES1(state, errors, entryPoint) \ +// Hack(Pojav): allow callung ES1 functions in ES2 context for gl4es +#define ANGLE_VALIDATE_IS_GLES1(state, errors, entryPoint) +#define ANGLE_VALIDATE_IS_GLES1_REAL(state, errors, entryPoint) \ do \ { \ if (state.getClientType() != EGL_OPENGL_API && state.getClientMajorVersion() > 1) \ @@ -27,7 +29,7 @@ } while (0) #define ANGLE_VALIDATE_IS_GLES1_CONTEXT(context, entryPoint) \ - ANGLE_VALIDATE_IS_GLES1(context->getPrivateState(), \ + ANGLE_VALIDATE_IS_GLES1_REAL(context->getPrivateState(), \ context->getMutableErrorSetForValidation(), entryPoint) namespace gl diff --git a/src/libANGLE/validationES3.cpp b/src/libANGLE/validationES3.cpp index 6f06eab7e3..dc184e2eab 100644 --- a/src/libANGLE/validationES3.cpp +++ b/src/libANGLE/validationES3.cpp @@ -1023,6 +1023,7 @@ bool GetUnsizedEffectiveInternalFormatInfo(const InternalFormat &srcFormat, { GL_RGBA4, GL_RGBA, 1, 4, 1, 4, 1, 4, 1, 4 }, { GL_RGB5_A1, GL_RGBA, 5, 5, 5, 5, 5, 5, 1, 1 }, { GL_RGBA8, GL_RGBA, 5, 8, 5, 8, 5, 8, 5, 8 }, + { GL_RGBA8, GL_BGRA_EXT, 5, 8, 5, 8, 5, 8, 5, 8 }, }; // clang-format on