Trigger a texture creation, which then set VIRGL_TEXTURE_ID

This commit is contained in:
Duy Tran Khanh 2021-12-18 11:31:41 +07:00 committed by GitHub
parent a57091ad2b
commit b1fc61648b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -604,6 +604,7 @@ GLubyte* (*glGetString_p) (GLenum name);
void (*glFinish_p) (void);
void (*glClearColor_p) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
void (*glClear_p) (GLbitfield mask);
void (*glReadPixels_p) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * data);
/*EGL functions */
EGLBoolean (*eglMakeCurrent_p) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
@ -716,6 +717,7 @@ void dlsym_OSMesa(void* dl_handle) {
glClearColor_p = dlsym(dl_handle, "glClearColor");
glClear_p = dlsym(dl_handle,"glClear");
glFinish_p = dlsym(dl_handle,"glFinish");
glReadPixels_p = dlsym(dl_handle,"glReadPixels");
}
bool loadSymbols() {
@ -1040,6 +1042,11 @@ void pojavMakeCurrent(void* window) {
printf("OSMDroid: renderer: %s\n",glGetString_p(GL_RENDERER));
glClear_p(GL_COLOR_BUFFER_BIT);
glClearColor_p(0.4f, 0.4f, 0.4f, 1.0f);
// Trigger a texture creation, which then set VIRGL_TEXTURE_ID
int pixelsArr[4];
glReadPixels_p(0, 0, 1, 1, GL_RGB, GL_INT, &pixelsArr);
pojavSwapBuffers();
return;
}