switch (param) {
case GL_MAJOR_VERSION:
- *ptr = ctx->m_currMajorVersion;
+ *ptr = ctx->m_deviceMajorVersion;
break;
case GL_MINOR_VERSION:
- *ptr = ctx->m_currMinorVersion;
+ *ptr = ctx->m_deviceMinorVersion;
break;
case GL_NUM_SHADER_BINARY_FORMATS:
*ptr = 0;
void setClientState(GLClientState *state) {
m_state = state;
}
- void setClientStateMakeCurrent(GLClientState *state, int majorVersion, int minorVersion) {
+ void setClientStateMakeCurrent(GLClientState *state,
+ int majorVersion,
+ int minorVersion,
+ int deviceMajorVersion,
+ int deviceMinorVersion) {
m_state = state;
m_state->fromMakeCurrent();
m_currMajorVersion = majorVersion;
m_currMinorVersion = minorVersion;
+ m_deviceMajorVersion = deviceMajorVersion;
+ m_deviceMinorVersion = deviceMinorVersion;
}
void setSharedGroup(GLSharedGroupPtr shared) {
m_shared = shared;
int m_currMajorVersion;
int m_currMinorVersion;
+ int m_deviceMajorVersion;
+ int m_deviceMinorVersion;
std::string m_currExtensions;
bool m_initialized;
deletePending(0),
goldfishSyncFd(-1)
{
+
+ DEFINE_HOST_CONNECTION;
+ switch (rcEnc->getGLESMaxVersion()) {
+ case GLES_MAX_VERSION_3_0:
+ deviceMajorVersion = 3;
+ deviceMinorVersion = 0;
+ break;
+ case GLES_MAX_VERSION_3_1:
+ deviceMajorVersion = 3;
+ deviceMinorVersion = 1;
+ break;
+ case GLES_MAX_VERSION_3_2:
+ deviceMajorVersion = 3;
+ deviceMinorVersion = 2;
+ break;
+ default:
+ deviceMajorVersion = 2;
+ deviceMinorVersion = 0;
+ break;
+ }
+
flags = 0;
clientState = new GLClientState(majorVersion, minorVersion);
if (shareCtx)
hostCon->gl2Encoder()->setClientStateMakeCurrent(
contextState,
context->majorVersion,
- context->minorVersion);
+ context->minorVersion,
+ context->deviceMajorVersion,
+ context->deviceMinorVersion);
hostCon->gl2Encoder()->setSharedGroup(context->getSharedGroup());
}
else {
const char* versionString;
EGLint majorVersion;
EGLint minorVersion;
+ EGLint deviceMajorVersion;
+ EGLint deviceMinorVersion;
const char* vendorString;
const char* rendererString;
const char* shaderVersionString;