On 12/16/2015 05:27 PM, Marek Olšák wrote:
What is this good for?

Marek
KotOR uses a series of scratch framebuffers for drawing the framebuffer effects. These have no depth and no stencil, so check_compatible() rejects them, subsequent GL calls are no-op, and the screen becomes garbage. I also experimented successfully with disabling the visuals that have no depth or no stencil in gallium/state_trackers/dri/dri_screen.c, but I concluded that this one was a smaller hack.

MM


On Wed, Dec 16, 2015 at 12:05 AM, Miklós Máté <[email protected]> wrote:
this works with radeonsi, but crashes with llvmpipe
---
  src/mesa/main/context.c | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 888c461..dcaf524 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1550,10 +1550,10 @@ check_compatible(const struct gl_context *ctx,
        return GL_FALSE;
     if (ctxvis->haveAccumBuffer && !bufvis->haveAccumBuffer)
        return GL_FALSE;
-   if (ctxvis->haveDepthBuffer && !bufvis->haveDepthBuffer)
-      return GL_FALSE;
+   /*if (ctxvis->haveDepthBuffer && !bufvis->haveDepthBuffer)
+         return GL_FALSE;
     if (ctxvis->haveStencilBuffer && !bufvis->haveStencilBuffer)
-      return GL_FALSE;
+      return GL_FALSE;*/
     if (ctxvis->redMask && ctxvis->redMask != bufvis->redMask)
        return GL_FALSE;
     if (ctxvis->greenMask && ctxvis->greenMask != bufvis->greenMask)
@@ -1565,8 +1565,8 @@ check_compatible(const struct gl_context *ctx,
     if (ctxvis->depthBits && ctxvis->depthBits != bufvis->depthBits)
        return GL_FALSE;
  #endif
-   if (ctxvis->stencilBits && ctxvis->stencilBits != bufvis->stencilBits)
-      return GL_FALSE;
+   /*if (ctxvis->stencilBits && ctxvis->stencilBits != bufvis->stencilBits)
+      return GL_FALSE;*/

     return GL_TRUE;
  }
--
2.6.4

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to