[Xfce4-commits] [xfce/xfwm4] 06/11: compositor: Configurable number of buffers
noreply at xfce.org
noreply at xfce.org
Wed May 15 22:51:27 CEST 2019
This is an automated email from the git hooks/post-receive script.
o l i v i e r p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository xfce/xfwm4.
commit 8803c299a64fa2d9e664e4290459cdb099ca72e0
Author: Olivier Fourdan <fourdan at xfce.org>
Date: Tue May 14 23:46:41 2019 +0200
compositor: Configurable number of buffers
The number of buffers we need to allocate/manage depends on the feature
enabled at build time.
Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
---
src/compositor.c | 9 +++++----
src/screen.h | 13 ++++++++++---
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/src/compositor.c b/src/compositor.c
index 3ba9b4b..1d6d8d2 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2447,7 +2447,8 @@ repair_screen (ScreenInfo *screen_info)
#ifdef HAVE_PRESENT_EXTENSION
if (screen_info->use_present)
{
- screen_info->current_buffer = (screen_info->current_buffer + 1) % 2;
+ screen_info->current_buffer =
+ (screen_info->current_buffer + 1) % N_BUFFERS;
if (screen_info->prevDamage)
{
@@ -4517,7 +4518,7 @@ compositorManageScreen (ScreenInfo *screen_info)
screen_info->transform.matrix[1][1] = 1 << 16;
screen_info->transform.matrix[2][2] = 1 << 16;
screen_info->zoomBuffer = None;
- for (buffer = 0; buffer < 2; buffer++)
+ for (buffer = 0; buffer < N_BUFFERS; buffer++)
{
screen_info->rootPixmap[buffer] = None;
screen_info->rootBuffer[buffer] = None;
@@ -4650,7 +4651,7 @@ compositorUnmanageScreen (ScreenInfo *screen_info)
free_glx_data (screen_info);
#endif /* HAVE_EPOXY */
- for (buffer = 0; buffer < 2; buffer++)
+ for (buffer = 0; buffer < N_BUFFERS; buffer++)
{
if (screen_info->rootPixmap[buffer])
{
@@ -4840,7 +4841,7 @@ compositorUpdateScreenSize (ScreenInfo *screen_info)
}
#endif /* HAVE_EPOXY */
- for (buffer = 0; buffer < 2; buffer++)
+ for (buffer = 0; buffer < N_BUFFERS; buffer++)
{
if (screen_info->rootPixmap[buffer])
{
diff --git a/src/screen.h b/src/screen.h
index 0370ed6..1496325 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -63,6 +63,13 @@
#ifdef HAVE_COMPOSITOR
+
+#ifdef HAVE_PRESENT_EXTENSION
+#define N_BUFFERS 2
+#else
+#define N_BUFFERS 1
+#endif /* HAVE_PRESENT_EXTENSION */
+
struct _gaussian_conv {
int size;
double *data;
@@ -184,8 +191,8 @@ struct _ScreenInfo
guchar *shadowTop;
gushort current_buffer;
- Pixmap rootPixmap[2];
- Picture rootBuffer[2];
+ Pixmap rootPixmap[N_BUFFERS];
+ Picture rootBuffer[N_BUFFERS];
Picture zoomBuffer;
Picture rootPicture;
Picture blackPicture;
@@ -227,7 +234,7 @@ struct _ScreenInfo
GLXContext glx_context;
GLXWindow glx_window;
#ifdef HAVE_XSYNC
- XSyncFence fence[2];
+ XSyncFence fence[N_BUFFERS];
#endif /* HAVE_XSYNC */
#endif /* HAVE_EPOXY */
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list