Bug 30102

Summary: glean depthStencil test fails BadLength with indirect non-swrast rendering
Product: Mesa Reporter: Jon Turney <jon.turney>
Component: GLXAssignee: mesa-dev
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Have __glImageSize handle format GL_DEPTH_STENCIL_NV the same way as the server does
Synchronize mesa src/glx/compsize with Xserver glx/rensize.c
Synchronize Xserver glx/rensize.c with mesa src/glx/compsize.c

Description Jon Turney 2010-09-09 06:04:52 UTC
$ LIBGL_ALWAYS_INDIRECT=1 ./glean -r results -o --quick -t depthStencil
X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  148 (GLX)
  Minor opcode of failed request:  1 (X_GLXRender)
  Serial number of failed request:  26
  Current serial number in output stream:  27

Note that depthStencil requires GL_EXT_packed_depth_stencil, so this test does nothing against swrast and no failure is seen.
Comment 1 Jon Turney 2010-09-09 06:13:16 UTC
Created attachment 38578 [details] [review]
Have __glImageSize handle format GL_DEPTH_STENCIL_NV the same way as the server does

This failure occurs when testing that glDrawPixels with format GL_DEPTH_STENCIL_EXT generates an GL_INVALID_ENUM.

It appears that there is a mismatch between the client and server over the size of the image data in the GLX request: X server glx/rensize.c handles GL_DEPTH_STENCIL(|_NV|_EXT), whereas mesa GLX src/glx/compsize.c ignores it and returns an image size of 0.

Attached patch to mesa resolves that mismatch, allowing the test to successfully execute.
Comment 2 Jon Turney 2010-09-09 06:16:17 UTC
Created attachment 38579 [details] [review]
Synchronize mesa src/glx/compsize with Xserver glx/rensize.c

Comparing the client and server code for calculating image size, there are actually a few mismatches.  Assuming that these are errors, and there's not some deeper technical reason for them to be different, here is a patch to synchronize them.
Comment 3 Jon Turney 2010-09-09 06:22:07 UTC
Created attachment 38580 [details] [review]
Synchronize Xserver glx/rensize.c with mesa src/glx/compsize.c
Comment 4 GitLab Migration User 2019-09-18 17:21:41 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/67.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.