diff options
-rw-r--r-- | src/gallium/state_trackers/glx/xlib/xm_api.c | 7 |
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 4aac08a108..1798faa0f3 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; + } } |