summaryrefslogtreecommitdiff
path: root/uxa
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@linux.intel.com>2012-02-01 19:47:28 +0800
committerChris Wilson <chris@chris-wilson.co.uk>2012-02-08 09:07:42 +0000
commit70092bfbc51ddc5a51c9cae21c6b2852c216a6fc (patch)
tree391915461b10e1bc4f917bb62a436b3babbf34b1 /uxa
parent798aad6c95a1a95fd587430dc7a6d59497a10ce1 (diff)
uxa/glamor: Refine CloseScreen and InitScreen process.
The previous version calls glamor_egl_close_screen and glamor_egl_free_screen manually which is not align with standard process. Now glamor change the way to follow standard method: glamor layer and glamor egl layer both have their internal CloseScreens. The correct sequence is after the I830CloseScreen is registered, then register glamor_egl_close_screen and the last one is glamor_close_screen. So we move out the intel_glamor_init from the intel_uxa_init to I830ScreenInit and just after the registration of I830CloseScreen. As the glamor interfaces changed, we need to check the glamor version when load the glamor egl module to make sure we are loading the right glamor module. If failed, it will switch back to UXA path. This depends upon glamor commit 1bc8bf tagged with version 0.3.0. Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'uxa')
-rw-r--r--uxa/uxa.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/uxa/uxa.h b/uxa/uxa.h
index 66b5f1eb..b8569f04 100644
--- a/uxa/uxa.h
+++ b/uxa/uxa.h
@@ -548,12 +548,18 @@ typedef struct _UxaDriver {
/**
* UXA_USE_GLAMOR indicates to use glamor acceleration to perform rendering.
* And if glamor fail to accelerate the rendering, then goto fallback to
- * use CPU to do the rendering.
+ * use CPU to do the rendering. This flag will be set only when glamor get
+ * initialized successfully.
+ * Note, in ddx close screen, this bit need to be cleared.
*/
#define UXA_USE_GLAMOR (1 << 3)
-/** @} */
+/* UXA_GLAMOR_EGL_INITIALIZED indicates glamor egl layer get initialized
+ * successfully. UXA layer does not use this flag, before call to
+ * glamor_init, ddx need to check this flag. */
+#define UXA_GLAMOR_EGL_INITIALIZED (1 << 4)
+/** @} */
/** @name UXA CreatePixmap hint flags
* @{
*/