opengles emulator: support glEGLImageTargetRenderbufferStorageOES

needed changes to support glEGLImageTargetRenderbufferStorageOES,
added implementation in egl and added tokens to renderControl.

Also fixed function pointers returned by eglGetProcAddress to
return functions that works independant of the current context,
see system/egl/ClientAPIExts.cpp

That makes the egl_image conformance test to pass on the guest.

Change-Id: I580cda82ba0fb44f12b75aa0bbacf5cd9f15f744
This commit is contained in:
Guy Zadickario
2011-08-07 13:48:32 +03:00
committed by David 'Digit' Turner
parent f1d98dd318
commit f6b9241094
14 changed files with 538 additions and 50 deletions

View File

@@ -282,6 +282,16 @@ static void rcBindTexture(uint32_t colorBuffer)
fb->bindColorBufferToTexture(colorBuffer);
}
static void rcBindRenderbuffer(uint32_t colorBuffer)
{
FrameBuffer *fb = FrameBuffer::getFB();
if (!fb) {
return;
}
fb->bindColorBufferToRenderbuffer(colorBuffer);
}
static EGLint rcColorBufferCacheFlush(uint32_t colorBuffer,
EGLint postCount, int forRead)
{
@@ -333,6 +343,7 @@ void initRenderControlContext(renderControl_decoder_context_t *dec)
dec->set_rcFBPost(rcFBPost);
dec->set_rcFBSetSwapInterval(rcFBSetSwapInterval);
dec->set_rcBindTexture(rcBindTexture);
dec->set_rcBindRenderbuffer(rcBindRenderbuffer);
dec->set_rcColorBufferCacheFlush(rcColorBufferCacheFlush);
dec->set_rcReadColorBuffer(rcReadColorBuffer);
dec->set_rcUpdateColorBuffer(rcUpdateColorBuffer);