Compare commits
	
		
			1 Commits
		
	
	
		
			wip/run-te
			...
			wip/carlos
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					162d6d45a0 | 
@@ -147,3 +147,11 @@ COGL_WINSYS_FEATURE_BEGIN (surfaceless_context,
 | 
			
		||||
                           "surfaceless_context\0",
 | 
			
		||||
                           COGL_EGL_WINSYS_FEATURE_SURFACELESS_CONTEXT)
 | 
			
		||||
COGL_WINSYS_FEATURE_END ()
 | 
			
		||||
 | 
			
		||||
#ifdef EGL_IMG_context_priority
 | 
			
		||||
COGL_WINSYS_FEATURE_BEGIN (context_priority,
 | 
			
		||||
                           "IMG\0",
 | 
			
		||||
                           "context_priority\0",
 | 
			
		||||
                           COGL_EGL_WINSYS_FEATURE_CONTEXT_PRIORITY)
 | 
			
		||||
COGL_WINSYS_FEATURE_END ()
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -105,7 +105,8 @@ typedef enum _CoglEGLWinsysFeature
 | 
			
		||||
  COGL_EGL_WINSYS_FEATURE_CREATE_CONTEXT                =1L<<3,
 | 
			
		||||
  COGL_EGL_WINSYS_FEATURE_BUFFER_AGE                    =1L<<4,
 | 
			
		||||
  COGL_EGL_WINSYS_FEATURE_FENCE_SYNC                    =1L<<5,
 | 
			
		||||
  COGL_EGL_WINSYS_FEATURE_SURFACELESS_CONTEXT           =1L<<6
 | 
			
		||||
  COGL_EGL_WINSYS_FEATURE_SURFACELESS_CONTEXT           =1L<<6,
 | 
			
		||||
  COGL_EGL_WINSYS_FEATURE_CONTEXT_PRIORITY              =1L<<7,
 | 
			
		||||
} CoglEGLWinsysFeature;
 | 
			
		||||
 | 
			
		||||
typedef struct _CoglRendererEGL
 | 
			
		||||
 
 | 
			
		||||
@@ -345,7 +345,7 @@ try_create_context (CoglDisplay *display,
 | 
			
		||||
  CoglRendererEGL *egl_renderer = renderer->winsys;
 | 
			
		||||
  EGLDisplay edpy;
 | 
			
		||||
  EGLConfig config;
 | 
			
		||||
  EGLint attribs[9];
 | 
			
		||||
  EGLint attribs[11];
 | 
			
		||||
  EGLint cfg_attribs[MAX_EGL_CONFIG_ATTRIBS];
 | 
			
		||||
  GError *config_error = NULL;
 | 
			
		||||
  const char *error_message;
 | 
			
		||||
@@ -394,7 +394,15 @@ try_create_context (CoglDisplay *display,
 | 
			
		||||
      attribs[5] = EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR;
 | 
			
		||||
      attribs[6] = EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR;
 | 
			
		||||
      attribs[7] = EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR;
 | 
			
		||||
      attribs[8] = EGL_NONE;
 | 
			
		||||
 | 
			
		||||
      if (egl_renderer->private_features & COGL_EGL_WINSYS_FEATURE_CONTEXT_PRIORITY)
 | 
			
		||||
        {
 | 
			
		||||
          attribs[8] = EGL_CONTEXT_PRIORITY_LEVEL_IMG;
 | 
			
		||||
          attribs[9] = EGL_CONTEXT_PRIORITY_HIGH_IMG;
 | 
			
		||||
          attribs[10] = EGL_NONE;
 | 
			
		||||
        }
 | 
			
		||||
      else
 | 
			
		||||
        attribs[8] = EGL_NONE;
 | 
			
		||||
    }
 | 
			
		||||
  else if (display->renderer->driver == COGL_DRIVER_GLES2)
 | 
			
		||||
    {
 | 
			
		||||
@@ -416,6 +424,17 @@ try_create_context (CoglDisplay *display,
 | 
			
		||||
      goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  if (egl_renderer->private_features & COGL_EGL_WINSYS_FEATURE_CONTEXT_PRIORITY)
 | 
			
		||||
    {
 | 
			
		||||
      EGLint value = EGL_CONTEXT_PRIORITY_MEDIUM_IMG;
 | 
			
		||||
 | 
			
		||||
      eglQueryContext(egl_renderer->edpy, egl_display->egl_context,
 | 
			
		||||
                      EGL_CONTEXT_PRIORITY_LEVEL_IMG, &value);
 | 
			
		||||
 | 
			
		||||
      if (value != EGL_CONTEXT_PRIORITY_HIGH_IMG)
 | 
			
		||||
        g_warning ("Failed to obtain high priority context");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  if (egl_renderer->platform_vtable->context_created &&
 | 
			
		||||
      !egl_renderer->platform_vtable->context_created (display, error))
 | 
			
		||||
    return FALSE;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user