EmuGL: refinements to GLESv1 image_external

* EGLImageTargetRenderbufferStorageOES was incorrectly accepting
  TEXTURE_EXTERNAL_OES as a target. Revert that; the host GL will
  correctly reject it with INVALID_ENUM.

* Handle the REQUIRED_TEXTURE_IMAGE_UNITS_OES texparameter query.

* Validate texture parameters set on TEXTURE_EXTERNAL textures;
  otherwise invalid parameters would work on the emulator but not on a
  real device.

Change-Id: I49a088608d58a9822f33e5916bd354eee3709127
This commit is contained in:
Jesse Hall
2011-11-23 10:03:11 -08:00
parent ac018fe3f6
commit 00e61338b8
2 changed files with 58 additions and 10 deletions

View File

@@ -73,13 +73,9 @@ void glEGLImageTargetRenderbufferStorageOES(void *self, GLenum target, GLeglImag
return;
}
GET_CONTEXT;
DEFINE_AND_VALIDATE_HOST_CONNECTION();
ctx->override2DTextureTarget(target);
rcEnc->rcBindRenderbuffer(rcEnc,
((cb_handle_t *)(native_buffer->handle))->hostHandle);
ctx->restore2DTextureTarget();
return;
}