[all Bisected]Piglit reports failure instead of skipping when indirect rendering is disabled in the X server
Submitted by lu hua
Assigned to Eric Anholt @anholt
Description
System Environment:
Platform: IVB Libdrm: (master)libdrm-2.4.56-21-g8c2ae1695913990cbe6c6a8aa294f354eba33bd0 Mesa: (master)ca29c4c3b0e779909467c0739fc176c64a829142 Xserver: (master)xorg-server-1.16.0-176-gd3427717 Xf86_video_intel:(master)2.99.916-39-g11444619457aa8121efc937291f1d944ac42265d Libva: (master)e0d25ece01e7aba819c910e98c4fb4706cdab055 Libva_intel_driver:(master)238d8077705711036d62a6d536311def3ef35035 Kernel: (drm-intel-nightly)43df30da20447e2856b2761215ff274886a9f931
Bug detailed description:
It fails on all platforms with mesa master branch. It works well on 10.3 branch. Following cases also fail with same bisect commit: glx_GLX_EXT_import_context_free_context glx_GLX_EXT_import_context_get_context_ID glx_GLX_EXT_import_context_get_current_display glx_GLX_EXT_import_context_imported_context_has_same_context_ID glx_GLX_EXT_import_context_import_context,_multi_process glx_GLX_EXT_import_context_import_context,_single_process glx_GLX_EXT_import_context_make_current,_single_process glx_GLX_EXT_import_context_query_context_info glx_GLX_MESA_query_renderer_coverage
Bisect shows: d0da0e9c is the first bad commit(but i can't find this commit on latest master branch). commit d0da0e9c Author: Eric Anholt Date: Thu Sep 4 10:59:40 2014 -0700
glx: Disable indirect GLX contexts by default.
Almost every situation of someone running indirect GLX is a mistake that results in X Server crashes. Indirect GLX is the cause of regular security vulnerabilities, and rarely provides any capability to the user. Just disable it unless someone wants to enable it for their special use case (using +iglx on the command line). output:
This test sanity-checks the ability to use multiple rendering contexts. It creates several contexts with differing characteristics (e.g., some are direct-rendering and some are indirect-rendering, if the window system binding supports that distinction). Then it runs through all pairs of contexts, making each one "current" in turn and verifying that simple rendering succeeds.
X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 153 (GLX) Minor opcode of failed request: 3 (X_GLXCreateContext) Value in failed request: 0x0 Serial number of failed request: 38 Current serial number in output stream: 39
Reproduce steps:
- xinit
- bin/glean -o -v -v -v -t +makeCurrent --quick