diff options
author | Bo Hu <bohu@google.com> | 2020-06-17 03:34:13 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-06-17 03:34:13 +0000 |
commit | c1c81bba12e79edeaed94c25e1e104c17ffad32b (patch) | |
tree | 7085e840cf6a8d34b14bf64ab8f946ba75b5e01d | |
parent | 98910efe0a15f6ad50d235434e86f44b4ace5919 (diff) | |
parent | a260d5b0d4f0c90230e0450ad0c45e15eda5d0a7 (diff) | |
download | goldfish-opengl-android-mainline-11.0.0_r17.tar.gz |
Merge "Squelch negative counts/lengths in glInvalidate(Sub)Framebuffer" into rvc-dev am: a260d5b0d4android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android11-mainline-tethering-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-release
Original change: https://googleplex-android-review.googlesource.com/c/device/generic/goldfish-opengl/+/11885298
Change-Id: I3a895b9df5efb6d35890847830e01cf32b992543
-rwxr-xr-x | system/GLESv2_enc/GL2Encoder.cpp | 17 | ||||
-rw-r--r-- | system/GLESv2_enc/GL2Encoder.h | 8 |
2 files changed, 25 insertions, 0 deletions
diff --git a/system/GLESv2_enc/GL2Encoder.cpp b/system/GLESv2_enc/GL2Encoder.cpp index 1f0b7a01..bafd1b6a 100755 --- a/system/GLESv2_enc/GL2Encoder.cpp +++ b/system/GLESv2_enc/GL2Encoder.cpp @@ -372,6 +372,9 @@ GL2Encoder::GL2Encoder(IOStream *stream, ChecksumCalculator *protocol) OVERRIDE_CUSTOM(glReadnPixelsEXT); OVERRIDE_CUSTOM(glGetnUniformfvEXT); OVERRIDE_CUSTOM(glGetnUniformivEXT); + + OVERRIDE(glInvalidateFramebuffer); + OVERRIDE(glInvalidateSubFramebuffer); } GL2Encoder::~GL2Encoder() @@ -5441,3 +5444,17 @@ void GL2Encoder::s_glGetnUniformivEXT(void *self, GLuint program, GLint location location)), GL_INVALID_OPERATION); s_glGetUniformiv(self, program, location, params); } + +void GL2Encoder::s_glInvalidateFramebuffer(void* self, GLenum target, GLsizei numAttachments, const GLenum *attachments) { + GL2Encoder *ctx = (GL2Encoder*)self; + SET_ERROR_IF(numAttachments < 0, GL_INVALID_VALUE); + ctx->m_glInvalidateFramebuffer_enc(ctx, target, numAttachments, attachments); +} + +void GL2Encoder::s_glInvalidateSubFramebuffer(void* self, GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { + GL2Encoder *ctx = (GL2Encoder*)self; + SET_ERROR_IF(numAttachments < 0, GL_INVALID_VALUE); + SET_ERROR_IF(width < 0, GL_INVALID_VALUE); + SET_ERROR_IF(height < 0, GL_INVALID_VALUE); + ctx->m_glInvalidateSubFramebuffer_enc(ctx, target, numAttachments, attachments, x, y, width, height); +} diff --git a/system/GLESv2_enc/GL2Encoder.h b/system/GLESv2_enc/GL2Encoder.h index b85bc0da..0ceb9deb 100644 --- a/system/GLESv2_enc/GL2Encoder.h +++ b/system/GLESv2_enc/GL2Encoder.h @@ -761,6 +761,14 @@ private: GLsizei bufSize, GLfloat* params); static void s_glGetnUniformivEXT(void *self, GLuint program, GLint location, GLsizei bufSize, GLint* params); + + // Invalidate framebuffer + static void s_glInvalidateFramebuffer(void* self, GLenum target, GLsizei numAttachments, const GLenum *attachments); + static void s_glInvalidateSubFramebuffer(void* self, GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); + + glInvalidateFramebuffer_client_proc_t m_glInvalidateFramebuffer_enc; + glInvalidateSubFramebuffer_client_proc_t m_glInvalidateSubFramebuffer_enc;; + public: glEGLImageTargetTexture2DOES_client_proc_t m_glEGLImageTargetTexture2DOES_enc; |