mesa/src/gallium/drivers/d3d12
Jan Alexander Steffens (heftig) b3d1ae19f2 d3d12: Don't crash when libd3d12.so can't be found
`d3d12_destroy_screen` is called by `d3d12_create_dxcore_screen` after
`d3d12_init_screen_base` fails and attempts to call `util_dl_close` on
a NULL pointer, leading to an abort.

To fix this, only close the library after if it was actually opened.

Cc: mesa-stable
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20145>
2022-12-04 01:06:48 +00:00
..
ci d3d12: Set Agility SDK parameters and update test expectations 2022-11-03 23:54:45 +00:00
.clang-format d3d12: Add .clang_format file 2022-05-17 21:02:25 +00:00
d3d12_batch.cpp d3d12: Record a state fixup command list when necessary 2022-07-22 14:42:56 +00:00
d3d12_batch.h d3d12: Move shared code that include d3d12 headers into d3d12_common.h 2022-06-03 16:33:00 +00:00
d3d12_blit.cpp d3d12: Don't multiply cube array sizes by 6 2022-10-27 23:17:47 +00:00
d3d12_blit.h
d3d12_bufmgr.cpp d3d12: Don't align already-aligned size in d3d12_bufmgr_create_buffer 2022-10-28 19:46:25 +00:00
d3d12_bufmgr.h d3d12: Swap the remainder of state tracking to new method 2022-07-22 14:42:56 +00:00
d3d12_cmd_signature.cpp d3d12: Move indirect compute to real indirect dispatches 2022-01-31 13:30:49 -08:00
d3d12_cmd_signature.h d3d12: Move indirect compute to real indirect dispatches 2022-01-31 13:30:49 -08:00
d3d12_common.h d3d12: Add pipe_video_codec::process_frame implementation 2022-07-21 22:40:31 +00:00
d3d12_compiler.cpp d3d12: Move lower_sample_pos to microsoft/compiler 2022-11-04 01:40:17 +00:00
d3d12_compiler.h d3d12: Support clip halfz 2022-07-22 00:00:54 +00:00
d3d12_compute_transforms.cpp d3d12: Cache a modifyable copy of the nir options in d3d12_screen 2022-02-04 00:07:53 +00:00
d3d12_compute_transforms.h d3d12: Move compute transform state save/restore to compute_transforms.cpp 2022-01-31 13:31:22 -08:00
d3d12_context.cpp util: normalize include files under src/util/*.h with util/ prefix in mesa code base 2022-11-10 06:27:25 +00:00
d3d12_context.h d3d12: Use ID3D12DeviceConfiguration for root signature serialization 2022-10-20 00:30:21 +00:00
d3d12_debug.h
d3d12_descriptor_pool.cpp d3d12: Add helpers to build with correct ABI for MinGW 2022-07-15 16:27:11 +00:00
d3d12_descriptor_pool.h d3d12: Move shared code that include d3d12 headers into d3d12_common.h 2022-06-03 16:33:00 +00:00
d3d12_draw.cpp util: normalize include files under src/util/*.h with util/ prefix in mesa code base 2022-11-10 06:27:25 +00:00
d3d12_dxcore_screen.cpp utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
d3d12_dxgi_screen.cpp utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
d3d12_fence.cpp d3d12: Export some util functions from d3d12_fence for d3d12 video 2022-09-21 23:31:15 +00:00
d3d12_fence.h d3d12: Export some util functions from d3d12_fence for d3d12 video 2022-09-21 23:31:15 +00:00
d3d12_format.c util: Move src/gallium/include/pipe/p_format.h to src/util/format/u_formats.h 2022-11-19 03:38:19 +00:00
d3d12_format.h util: Move src/gallium/include/pipe/p_format.h to src/util/format/u_formats.h 2022-11-19 03:38:19 +00:00
d3d12_gs_variant.cpp d3d12: Handle structs in GS variants 2022-02-04 00:07:53 +00:00
d3d12_interop_public.h d3d12: Hook up driver-private interop data 2022-11-02 18:11:41 +00:00
d3d12_lower_image_casts.c d3d12: Handle bitcasting of shader images 2022-01-07 03:31:16 +00:00
d3d12_lower_point_sprite.c d3d12: Enable PIPE_CAP_TGSI_TEXCOORD 2022-01-26 01:31:35 +00:00
d3d12_nir_passes.c d3d12: Move lower_sample_pos to microsoft/compiler 2022-11-04 01:40:17 +00:00
d3d12_nir_passes.h d3d12: Move lower_sample_pos to microsoft/compiler 2022-11-04 01:40:17 +00:00
d3d12_pipeline_state.cpp microsoft/compiler: Support gl_Layer 2022-06-15 22:04:00 +00:00
d3d12_pipeline_state.h d3d12: Move shared code that include d3d12 headers into d3d12_common.h 2022-06-03 16:33:00 +00:00
d3d12_public.h d3d12: Only support DXGI and GDI APIs on Windows 2020-12-16 16:25:54 +00:00
d3d12_query.cpp d3d12: Rename bind invalidate options to transition flags 2022-07-22 14:42:56 +00:00
d3d12_query.h d3d12: Fix re-enabling predication after temporary disablement 2022-01-14 15:54:33 +00:00
d3d12_residency.cpp d3d12: Don't put permanently-resident resources in the residency bo list 2022-10-27 23:17:47 +00:00
d3d12_residency.h d3d12: Add d3d12_promote_to_permanent_residency 2022-05-17 21:02:25 +00:00
d3d12_resource.cpp d3d12: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT 2022-10-31 18:17:41 +00:00
d3d12_resource.h d3d12: Fix winsys displaytarget leak in d3d12_resource 2022-09-15 11:19:39 -04:00
d3d12_resource_state.cpp d3d12: Remove state tracking implementation details from header 2022-07-22 14:42:56 +00:00
d3d12_resource_state.h d3d12: Remove state tracking implementation details from header 2022-07-22 14:42:56 +00:00
d3d12_root_signature.cpp d3d12: Use ID3D12DeviceConfiguration for root signature serialization 2022-10-20 00:30:21 +00:00
d3d12_root_signature.h d3d12: Support compute root signatures 2022-01-11 01:36:56 +00:00
d3d12_screen.cpp d3d12: Don't crash when libd3d12.so can't be found 2022-12-04 01:06:48 +00:00
d3d12_screen.h d3d12: Add cache managers for separate buffer usage cases 2022-10-24 23:35:39 +00:00
d3d12_surface.cpp d3d12: Improve planar resource support to handle video requirements 2022-05-17 21:02:25 +00:00
d3d12_surface.h d3d12: Move shared code that include d3d12 headers into d3d12_common.h 2022-06-03 16:33:00 +00:00
d3d12_tcs_variant.cpp d3d12: Handle structs in TCS variants 2022-02-04 00:07:53 +00:00
d3d12_util.h d3d12: Add video decode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_array_of_textures_dpb_manager.cpp d3d12: Fix debug_printf format strings for cross platform builds 2022-06-29 01:56:39 +00:00
d3d12_video_array_of_textures_dpb_manager.h d3d12: Add video decode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_buffer.cpp d3d12: Create d3d12_resource objects for video usage keeping their DXGI_..._UNORM formats 2022-10-20 20:37:10 +00:00
d3d12_video_buffer.h d3d12: Add support for importing d3d12_video_buffer from handle 2022-09-15 11:19:39 -04:00
d3d12_video_dec.cpp d3d12: Add VP9 Decode support 2022-10-11 15:15:11 +00:00
d3d12_video_dec.h d3d12: Avoid heap allocations on hot path d3d12_video_decoder_dxva_picparams_from_pipe_picparams_hevc 2022-09-15 11:19:39 -04:00
d3d12_video_dec_av1.cpp d3d12: Style variable fix in d3d12_video_decoder_prepare_dxva_slices_control_av1 2022-09-29 15:50:04 -04:00
d3d12_video_dec_av1.h d3d12: Add support for AV1 Video Decode 2022-09-29 15:50:04 -04:00
d3d12_video_dec_h264.cpp d3d12: Fix aliased usage of m_SliceControlBuffer in d3d12_video_decoder_prepare_dxva_slices_control_XXXX 2022-09-29 15:50:04 -04:00
d3d12_video_dec_h264.h d3d12: Avoid extra allocation, copies when generating DXVA_Slice_Hxxx_Short arrays 2022-09-15 11:19:39 -04:00
d3d12_video_dec_hevc.cpp d3d12: HEVC Decode - Fix slice size and offsets translation from VA to DXVA 2022-10-21 17:56:38 +00:00
d3d12_video_dec_hevc.h d3d12: Avoid heap allocations on hot path d3d12_video_decoder_dxva_picparams_from_pipe_picparams_hevc 2022-09-15 11:19:39 -04:00
d3d12_video_dec_references_mgr.cpp d3d12: Fix get_index7bits - Reuse previously freed indices 2022-10-11 15:15:11 +00:00
d3d12_video_dec_references_mgr.h d3d12: Fix get_index7bits - Reuse previously freed indices 2022-10-11 15:15:11 +00:00
d3d12_video_dec_vp9.cpp d3d12: Add VP9 Decode support 2022-10-11 15:15:11 +00:00
d3d12_video_dec_vp9.h d3d12: Add VP9 Decode support 2022-10-11 15:15:11 +00:00
d3d12_video_dpb_storage_manager.h d3d12: Add video decode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_enc.cpp d3d12: Replace size_t with uint64_t in d3d12_video_encoder definitions for cross-plat compatibility 2022-09-26 19:02:30 +00:00
d3d12_video_enc.h d3d12: Replace size_t with uint64_t in d3d12_video_encoder definitions for cross-plat compatibility 2022-09-26 19:02:30 +00:00
d3d12_video_enc_h264.cpp d3d12: Updating refactored fields in pipe_h264_enc_picture_desc 2022-10-03 16:45:27 +00:00
d3d12_video_enc_h264.h d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_enc_hevc.cpp d3d12: Fix HEVC wrong caps detection due to bad parenthesis in condition 2022-10-17 20:33:19 +00:00
d3d12_video_enc_hevc.h d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_bitstream.cpp d3d12: Initialize d3d12_video_encoder_bitstream member m_uiOffset. 2022-05-27 22:14:00 +00:00
d3d12_video_encoder_bitstream.h d3d12: Add video encode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_encoder_bitstream_builder.h d3d12: Add video encode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_encoder_bitstream_builder_h264.cpp d3d12: add missing cmath includes 2022-05-23 14:02:28 +00:00
d3d12_video_encoder_bitstream_builder_h264.h d3d12: Add video encode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_encoder_bitstream_builder_hevc.cpp d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_bitstream_builder_hevc.h d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_nalu_writer_h264.cpp d3d12: Add video encode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_encoder_nalu_writer_h264.h d3d12: Add video encode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_encoder_nalu_writer_hevc.cpp d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_nalu_writer_hevc.h d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_references_manager.h d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_references_manager_h264.cpp d3d12: Add debug verbosity for output reconstructed picture 2022-09-22 22:03:44 +00:00
d3d12_video_encoder_references_manager_h264.h d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_references_manager_hevc.cpp d3d12: Add HEVC Decode/Encode 2022-09-15 11:19:39 -04:00
d3d12_video_encoder_references_manager_hevc.h d3d12: Initialize d3d12_video_encoder_references_manager_hevc::m_current_frame_idx. 2022-09-22 05:45:21 +00:00
d3d12_video_proc.cpp d3d12: Video process - Remove unnecessary batches flush 2022-09-21 23:31:15 +00:00
d3d12_video_proc.h d3d12: Video process - Remove unnecessary batches flush 2022-09-21 23:31:15 +00:00
d3d12_video_screen.cpp d3d12: Video Screen - Do not crash if HEVC not supported, return no support instead 2022-11-17 16:02:55 +00:00
d3d12_video_screen.h d3d12: Move shared code that include d3d12 headers into d3d12_common.h 2022-06-03 16:33:00 +00:00
d3d12_video_texture_array_dpb_manager.cpp d3d12: Fix debug_printf format strings for cross platform builds 2022-06-29 01:56:39 +00:00
d3d12_video_texture_array_dpb_manager.h d3d12: Add video decode implementation of pipe_video_codec 2022-05-17 21:02:25 +00:00
d3d12_video_types.h d3d12: Add VP9 Decode support 2022-10-11 15:15:11 +00:00
meson.build d3d12: Add VP9 Decode support 2022-10-11 15:15:11 +00:00