mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 03:00:24 +01:00
Revert "glx: Fix drawable refcounting for naked Windows"
This reverts commit768238fdc0which is not only leading to memory leaks, but also reportedly breaks KDE pretty badly. Fixes: #7674, #7435 Acked-by: Michel Dänzer <mdaenzer@redhat.com> Acked-by: Tapani Pälli <tapani.palli@intel.com> Acked-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19972> (cherry picked from commit0cee008fee)
This commit is contained in:
parent
27b92b131c
commit
ac18e931fa
24 changed files with 59 additions and 10 deletions
|
|
@ -1156,7 +1156,7 @@
|
|||
"description": "Revert \"glx: Fix drawable refcounting for naked Windows\"",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "768238fdc06eed3dce36da3baf811cb70db42b5c"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-event_async,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
glx@glx-visuals-stencil -pixmap,Crash
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ spec@glsl-1.20@execution@tex-miplevel-selection gl2:textureproj 3d,Fail
|
|||
spec@glsl-1.20@execution@tex-miplevel-selection gl2:textureproj(bias) 3d,Fail
|
||||
spec@khr_texture_compression_astc@basic-gl,Fail
|
||||
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multithread-buffer,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Fail
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_x_and_neg_x_n
|
|||
dEQP-GLES2.functional.draw.random.51
|
||||
dEQP-GLES2.functional.texture.size.cube.256x256_rgb888
|
||||
|
||||
glx@glx-multi-window-single-context
|
||||
shaders@glsl-vs-loop
|
||||
shaders@glsl-vs-loop-nested
|
||||
spec@arb_framebuffer_srgb@blit renderbuffer srgb single_sampled enabled clear
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-multithread-buffer,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
|
|
|
|||
|
|
@ -156,6 +156,8 @@ spec@glsl-1.30@execution@interpolation@interpolation-noperspective-gl_frontsecon
|
|||
spec@glsl-1.30@execution@interpolation@interpolation-noperspective-other-flat-fixed,Fail
|
||||
spec@glsl-1.30@execution@interpolation@interpolation-noperspective-other-smooth-fixed,Fail
|
||||
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
glx@glx-visuals-stencil -pixmap,Crash
|
||||
|
|
|
|||
|
|
@ -291,6 +291,8 @@ spec@!opengl 2.1@polygon-stipple-fs,Fail
|
|||
spec@ext_packed_float@query-rgba-signed-components,Fail
|
||||
|
||||
# Uncategorized piglit failures
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-query-drawable-glx_fbconfig_id-window,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
|
|
|
|||
|
|
@ -594,6 +594,8 @@ KHR-GLES3.texture_repeat_mode.rgba32ui_49x23_2_mirrored_repeat,Fail
|
|||
KHR-GLES3.texture_repeat_mode.rgba32ui_49x23_2_repeat,Fail
|
||||
|
||||
glx@glx-multithread-buffer,Fail
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-tfp,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
|
|
|
|||
|
|
@ -86,6 +86,8 @@ glx@glx_ext_import_context@imported context has same context id,Fail
|
|||
glx@glx_ext_import_context@make current- multi process,Fail
|
||||
glx@glx_ext_import_context@make current- single process,Fail
|
||||
glx@glx_ext_import_context@query context info,Fail
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
glx@glx-visuals-stencil -pixmap,Crash
|
||||
|
|
|
|||
|
|
@ -29,6 +29,13 @@ spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
|
|||
glx@glx-copy-sub-buffer,Fail
|
||||
glx@glx-copy-sub-buffer samples=2,Fail
|
||||
glx@glx-copy-sub-buffer samples=4,Fail
|
||||
|
||||
# X Error of failed request: BadMatch (invalid parameter attributes)
|
||||
# Major opcode of failed request: 150 (GLX)
|
||||
# Minor opcode of failed request: 11 (X_GLXSwapBuffers)
|
||||
glx@glx-make-current,Crash
|
||||
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-copy,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
# LLVM 15.0.1
|
||||
|
||||
# piglit failures
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
glx@glx-visuals-stencil -pixmap,Crash
|
||||
glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,8 @@
|
|||
# LLVM 15.0.1
|
||||
|
||||
# piglit failures
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-event_interval,Fail
|
||||
glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail
|
||||
glx@glx_arb_create_context_no_error@no error,Fail
|
||||
|
|
|
|||
|
|
|
@ -1,10 +1,12 @@
|
|||
# piglit failures
|
||||
|
||||
glx@extension string sanity,Fail
|
||||
glx@glx-buffer-age vblank_mode=0,Fail
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-make-glxdrawable-current,Fail
|
||||
glx@glx-multithread-makecurrent-1,Fail
|
||||
glx@glx-multithread-texture,Fail
|
||||
glx@glx-multithread-texture,Fail
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-event_async,Fail
|
||||
glx@glx-tfp,Fail
|
||||
glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,6 @@
|
|||
# piglit failures
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
glx@glx-visuals-stencil -pixmap,Crash
|
||||
glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail
|
||||
|
|
|
|||
|
|
|
@ -5,6 +5,8 @@ spec@!opengl 1.1@windowoverlap,Fail
|
|||
spec@arb_shader_clock@execution@clock,Fail
|
||||
spec@egl_chromium_sync_control@conformance,Fail
|
||||
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test,Fail
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-visuals-depth -pixmap,Fail
|
||||
glx@glx-visuals-stencil -pixmap,Fail
|
||||
glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail
|
||||
|
|
|
|||
|
|
|
@ -908,8 +908,14 @@ KHR-GLES31.core.texture_storage_multisample.GLCoverage.gl_tex_parameter_handlers
|
|||
|
||||
fast_color_clear@fcc-front-buffer-distraction,Fail
|
||||
|
||||
# X Error of failed request: BadMatch (invalid parameter attributes)
|
||||
# Major opcode of failed request: 150 (GLX)
|
||||
# Minor opcode of failed request: 11 (X_GLXSwapBuffers)
|
||||
glx@glx-make-current,Crash
|
||||
|
||||
|
||||
glx@glx-multi-context-front,Fail
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-copy,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
|
||||
|
|
|
|||
|
|
@ -83,6 +83,8 @@ KHR-GL43.transform_feedback_overflow_query_ARB.basic-single-stream-separate-attr
|
|||
KHR-GL43.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream,Fail
|
||||
KHR-GL43.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream,Fail
|
||||
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-multithread-clearbuffer,Crash
|
||||
glx@glx-multithread-texture,Crash
|
||||
glx@glx-swap-copy,Fail
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_mirror_l8_pot
|
||||
spec@khr_debug@push-pop-group_gl.*
|
||||
glx@glx-multi-window-single-context
|
||||
|
||||
# "Pending expose event- rerunning."
|
||||
# exit status: signal: 11"
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ KHR-GL46.shader_ballot_tests.ShaderBallotFunctionRead
|
|||
|
||||
# ignores copied from the old runner script
|
||||
spec@arb_map_buffer_alignment@arb_map_buffer_alignment-map-invalidate-range
|
||||
glx@glx-make-current
|
||||
spec@arb_timer_query.*
|
||||
spec@arb_sample_shading@builtin-gl-sample-mask
|
||||
spec@glsl-1.30@execution@tex-miplevel-selection.*
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dsh
|
|||
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_vertex,Fail
|
||||
|
||||
# kopper
|
||||
glx@glx-multi-window-single-context,Crash
|
||||
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_ust_test,Fail
|
||||
|
||||
# #6115
|
||||
|
|
@ -29,6 +30,7 @@ glx@glx_ext_import_context@imported context has same context id,Fail
|
|||
glx@glx_ext_import_context@make current- multi process,Fail
|
||||
glx@glx_ext_import_context@make current- single process,Fail
|
||||
glx@glx_ext_import_context@query context info,Fail
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-swap-copy,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
|
||||
|
|
|
|||
|
|
@ -416,14 +416,7 @@ driFetchDrawable(struct glx_context *gc, GLXDrawable glxDrawable)
|
|||
(*pdraw->destroyDrawable) (pdraw);
|
||||
return NULL;
|
||||
}
|
||||
/* This sure does look suspicious, doesn't it? We're on this path because
|
||||
* this is a naked Window. GLX 1.3 drawables have an explicit creation
|
||||
* step (setting refcount to 1), and those we would have found in the
|
||||
* hash lookup above, bumped their refcount for the bind_context we're
|
||||
* being called for, and then returned. But since we just created the
|
||||
* internal naked-Window state, we need to account for both here.
|
||||
*/
|
||||
pdraw->refcount = 2;
|
||||
pdraw->refcount = 1;
|
||||
|
||||
return pdraw;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,15 @@ dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.8x5,Fail
|
|||
dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.8x6,Fail
|
||||
dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.8x8,Fail
|
||||
|
||||
# X Error of failed request: BadMatch (invalid parameter attributes)
|
||||
# Major opcode of failed request: 151 (GLX)
|
||||
# Minor opcode of failed request: 11 (X_GLXSwapBuffers)
|
||||
# Serial number of failed request: 79
|
||||
# Current serial number in output stream: 80
|
||||
glx@glx-make-current,Crash
|
||||
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
|
||||
# failed to create drawable
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ glx@glx_ext_import_context@imported context has same context id,Fail
|
|||
glx@glx_ext_import_context@make current- multi process,Fail
|
||||
glx@glx_ext_import_context@make current- single process,Fail
|
||||
glx@glx_ext_import_context@query context info,Fail
|
||||
glx@glx-make-current,Crash
|
||||
glx@glx-multithread-clearbuffer,Crash
|
||||
glx@glx-multi-window-single-context,Fail
|
||||
glx@glx-swap-pixmap-bad,Fail
|
||||
glx@glx-visuals-depth -pixmap,Crash
|
||||
glx@glx-visuals-stencil -pixmap,Crash
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue