On 08/15/2017 09:32 AM, Michel Dänzer wrote:
On 11/08/17 11:14 PM, Thomas Hellstrom wrote:
With GLX_SWAP_COPY_OML and GLX_SWAP_EXCHANGE_OML it may happen in situations
when glXSwapBuffers() is immediately followed by for example another
glXSwapBuffers() or glXCopyBuffers() or back buffer age querying, that we
haven't yet allocated and initialized a new back buffer because there was
no GL rendering in between.

Make sure that we have a back buffer in those situations.

Signed-off-by: Thomas Hellstrom <thellst...@vmware.com>
---
  src/loader/loader_dri3_helper.c | 64 ++++++++++++++++++++++++++++++++++-------
  src/loader/loader_dri3_helper.h |  3 ++
  2 files changed, 57 insertions(+), 10 deletions(-)

diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
index dee0df8..0440633 100644
--- a/src/loader/loader_dri3_helper.c
+++ b/src/loader/loader_dri3_helper.c
@@ -35,6 +35,7 @@
  #include <c11/threads.h>
  #include "loader_dri3_helper.h"
+
  /* From xmlpool/options.h, user exposed so should be stable */
  #define DRI_CONF_VBLANK_NEVER 0
  #define DRI_CONF_VBLANK_DEF_INTERVAL_0 1
Drop this hunk.

Sure.

diff --git a/src/loader/loader_dri3_helper.h b/src/loader/loader_dri3_helper.h
index c8f63fd..b06a9ad 100644
--- a/src/loader/loader_dri3_helper.h
+++ b/src/loader/loader_dri3_helper.h
@@ -159,6 +159,9 @@ struct loader_dri3_drawable {
bool have_image_blit;
     unsigned int swap_method;
+
+   bool have_back_format;
+   unsigned int back_format;
  };
Is 0 a valid value for the back_format field? If not, the
have_back_format field is redundant.


I'll see if I can eliminate that field.

Thomas


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to