#include "fg_internal.h"
#include "egl/fg_window_egl.h"
#include <screen/screen.h>
-#include <bps/screen.h>
/*
* Opens a window. Requires a SFG_Window object created and attached
/* Set window properties */
int orientation = atoi(getenv("ORIENTATION"));
- int screenFormat = SCREEN_FORMAT_RGBA8888; //XXX Should this be determined by config?
+ int screenFormat = SCREEN_FORMAT_RGBA8888; //Only SCREEN_FORMAT_RGBA8888 and SCREEN_FORMAT_RGB565 are supported. See fg_window_egl for more info
#ifdef GL_ES_VERSION_2_0
int screenUsage = SCREEN_USAGE_OPENGL_ES2 | SCREEN_USAGE_ROTATION;
#elif GL_VERSION_ES_CM_1_0 || GL_VERSION_ES_CL_1_0 || GL_VERSION_ES_CM_1_1 || GL_VERSION_ES_CL_1_1
int screenUsage = SCREEN_USAGE_OPENGL_ES1 | SCREEN_USAGE_ROTATION;
#endif
-#ifndef __X86__
+#if !defined(__X86__) && !defined(__PLAYBOOK__)
screenUsage |= SCREEN_USAGE_DISPLAY; // Physical device copy directly into physical display
#endif
if (screen_set_window_property_iv(sWindow, SCREEN_PROPERTY_FORMAT, &screenFormat)) {
/* Create context */
fghChooseConfig(&window->Window.pContext.egl.Config);
- window->Window.Context = fghCreateNewContextEGL(window);
+ window->Window.Context = EGL_NO_CONTEXT;
+ if( fgState.UseCurrentContext == GL_TRUE )
+ window->Window.Context = eglGetCurrentContext();
+ if( window->Window.Context == EGL_NO_CONTEXT )
+ window->Window.Context = fghCreateNewContextEGL(window);
/* Create EGL window */
fghPlatformOpenWindowEGL(window);