summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/glx/xlib/xm_api.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
index 4aac08a1084..1798faa0f31 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
@@ -376,7 +376,8 @@ create_xmesa_buffer(Drawable d, BufferType type,
#endif
if (vis->mesa_visual.stencilBits == 8) {
- if (depthFormat == PIPE_FORMAT_S8Z24_UNORM)
+ if (depthFormat == PIPE_FORMAT_S8Z24_UNORM ||
+ depthFormat == PIPE_FORMAT_Z24S8_UNORM)
stencilFormat = depthFormat;
else
stencilFormat = PIPE_FORMAT_S8_UNORM;
@@ -388,6 +389,10 @@ create_xmesa_buffer(Drawable d, BufferType type,
/* use 24-bit Z, undefined stencil channel */
depthFormat = PIPE_FORMAT_X8Z24_UNORM;
}
+ else if (depthFormat == PIPE_FORMAT_Z24S8_UNORM) {
+ /* use 24-bit Z, undefined stencil channel */
+ depthFormat = PIPE_FORMAT_Z24X8_UNORM;
+ }
}