gitextract_7aik6jye/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── other.md │ └── workflows/ │ ├── artifacts.yml │ └── test-build-windows.yml ├── .gitmodules ├── LICENSE ├── README.md ├── RELEASE ├── VP_DXVK_requirements.json ├── build-win32.txt ├── build-win64.txt ├── buildenv.h.in ├── dxvk.conf ├── include/ │ ├── native/ │ │ ├── meson.build │ │ ├── windows/ │ │ │ ├── oaidl.h │ │ │ ├── objbase.h │ │ │ ├── ocidl.h │ │ │ ├── ole2.h │ │ │ ├── poppack.h │ │ │ ├── pshpack4.h │ │ │ ├── rpc.h │ │ │ ├── rpcndr.h │ │ │ ├── unknwn.h │ │ │ ├── windows.h │ │ │ └── windows_base.h │ │ └── wsi/ │ │ ├── native_glfw.h │ │ ├── native_sdl2.h │ │ ├── native_sdl3.h │ │ └── native_wsi.h │ └── openvr/ │ ├── LICENSE │ └── openvr.hpp ├── meson.build ├── meson_options.txt ├── package-native.sh ├── package-release.sh ├── src/ │ ├── d3d10/ │ │ ├── d3d10_blend.cpp │ │ ├── d3d10_blend.h │ │ ├── d3d10_buffer.cpp │ │ ├── d3d10_buffer.h │ │ ├── d3d10_core.cpp │ │ ├── d3d10_depth_stencil.cpp │ │ ├── d3d10_depth_stencil.h │ │ ├── d3d10_device.cpp │ │ ├── d3d10_device.h │ │ ├── d3d10_include.h │ │ ├── d3d10_input_layout.cpp │ │ ├── d3d10_input_layout.h │ │ ├── d3d10_multithread.cpp │ │ ├── d3d10_multithread.h │ │ ├── d3d10_query.cpp │ │ ├── d3d10_query.h │ │ ├── d3d10_rasterizer.cpp │ │ ├── d3d10_rasterizer.h │ │ ├── d3d10_sampler.cpp │ │ ├── d3d10_sampler.h │ │ ├── d3d10_shader.h │ │ ├── d3d10_texture.cpp │ │ ├── d3d10_texture.h │ │ ├── d3d10_util.cpp │ │ ├── d3d10_util.h │ │ ├── d3d10_view_dsv.cpp │ │ ├── d3d10_view_dsv.h │ │ ├── d3d10_view_rtv.cpp │ │ ├── d3d10_view_rtv.h │ │ ├── d3d10_view_srv.cpp │ │ ├── d3d10_view_srv.h │ │ ├── d3d10core.def │ │ ├── d3d10core.sym │ │ ├── meson.build │ │ └── version10_core.rc │ ├── d3d11/ │ │ ├── d3d11.def │ │ ├── d3d11.sym │ │ ├── d3d11_annotation.cpp │ │ ├── d3d11_annotation.h │ │ ├── d3d11_blend.cpp │ │ ├── d3d11_blend.h │ │ ├── d3d11_buffer.cpp │ │ ├── d3d11_buffer.h │ │ ├── d3d11_class_linkage.cpp │ │ ├── d3d11_class_linkage.h │ │ ├── d3d11_cmd.h │ │ ├── d3d11_cmdlist.cpp │ │ ├── d3d11_cmdlist.h │ │ ├── d3d11_context.cpp │ │ ├── d3d11_context.h │ │ ├── d3d11_context_def.cpp │ │ ├── d3d11_context_def.h │ │ ├── d3d11_context_ext.cpp │ │ ├── d3d11_context_ext.h │ │ ├── d3d11_context_imm.cpp │ │ ├── d3d11_context_imm.h │ │ ├── d3d11_context_state.h │ │ ├── d3d11_cuda.cpp │ │ ├── d3d11_cuda.h │ │ ├── d3d11_depth_stencil.cpp │ │ ├── d3d11_depth_stencil.h │ │ ├── d3d11_device.cpp │ │ ├── d3d11_device.h │ │ ├── d3d11_device_child.h │ │ ├── d3d11_enums.cpp │ │ ├── d3d11_enums.h │ │ ├── d3d11_features.cpp │ │ ├── d3d11_features.h │ │ ├── d3d11_fence.cpp │ │ ├── d3d11_fence.h │ │ ├── d3d11_gdi.cpp │ │ ├── d3d11_gdi.h │ │ ├── d3d11_include.h │ │ ├── d3d11_initializer.cpp │ │ ├── d3d11_initializer.h │ │ ├── d3d11_input_layout.cpp │ │ ├── d3d11_input_layout.h │ │ ├── d3d11_interfaces.h │ │ ├── d3d11_interop.cpp │ │ ├── d3d11_interop.h │ │ ├── d3d11_main.cpp │ │ ├── d3d11_on_12.cpp │ │ ├── d3d11_on_12.h │ │ ├── d3d11_on_12_interfaces.h │ │ ├── d3d11_options.cpp │ │ ├── d3d11_options.h │ │ ├── d3d11_query.cpp │ │ ├── d3d11_query.h │ │ ├── d3d11_rasterizer.cpp │ │ ├── d3d11_rasterizer.h │ │ ├── d3d11_resource.cpp │ │ ├── d3d11_resource.h │ │ ├── d3d11_sampler.cpp │ │ ├── d3d11_sampler.h │ │ ├── d3d11_shader.cpp │ │ ├── d3d11_shader.h │ │ ├── d3d11_state.cpp │ │ ├── d3d11_state.h │ │ ├── d3d11_state_object.cpp │ │ ├── d3d11_state_object.h │ │ ├── d3d11_swapchain.cpp │ │ ├── d3d11_swapchain.h │ │ ├── d3d11_texture.cpp │ │ ├── d3d11_texture.h │ │ ├── d3d11_util.cpp │ │ ├── d3d11_util.h │ │ ├── d3d11_video.cpp │ │ ├── d3d11_video.h │ │ ├── d3d11_view.h │ │ ├── d3d11_view_dsv.cpp │ │ ├── d3d11_view_dsv.h │ │ ├── d3d11_view_rtv.cpp │ │ ├── d3d11_view_rtv.h │ │ ├── d3d11_view_srv.cpp │ │ ├── d3d11_view_srv.h │ │ ├── d3d11_view_uav.cpp │ │ ├── d3d11_view_uav.h │ │ ├── meson.build │ │ ├── shaders/ │ │ │ ├── d3d11_video_blit_frag.frag │ │ │ └── d3d11_video_blit_vert.vert │ │ └── version.rc │ ├── d3d8/ │ │ ├── d3d8.def │ │ ├── d3d8.sym │ │ ├── d3d8_batch.h │ │ ├── d3d8_buffer.cpp │ │ ├── d3d8_buffer.h │ │ ├── d3d8_caps.h │ │ ├── d3d8_device.cpp │ │ ├── d3d8_device.h │ │ ├── d3d8_device_child.h │ │ ├── d3d8_format.h │ │ ├── d3d8_include.h │ │ ├── d3d8_interface.cpp │ │ ├── d3d8_interface.h │ │ ├── d3d8_main.cpp │ │ ├── d3d8_multithread.cpp │ │ ├── d3d8_multithread.h │ │ ├── d3d8_options.cpp │ │ ├── d3d8_options.h │ │ ├── d3d8_resource.h │ │ ├── d3d8_shader.cpp │ │ ├── d3d8_shader.h │ │ ├── d3d8_state_block.cpp │ │ ├── d3d8_state_block.h │ │ ├── d3d8_subresource.h │ │ ├── d3d8_surface.cpp │ │ ├── d3d8_surface.h │ │ ├── d3d8_swapchain.cpp │ │ ├── d3d8_swapchain.h │ │ ├── d3d8_texture.cpp │ │ ├── d3d8_texture.h │ │ ├── d3d8_util.h │ │ ├── d3d8_volume.cpp │ │ ├── d3d8_volume.h │ │ ├── d3d8_wrapped_object.h │ │ ├── meson.build │ │ └── version.rc │ ├── d3d9/ │ │ ├── d3d9.def │ │ ├── d3d9.sym │ │ ├── d3d9_adapter.cpp │ │ ├── d3d9_adapter.h │ │ ├── d3d9_annotation.cpp │ │ ├── d3d9_annotation.h │ │ ├── d3d9_bridge.cpp │ │ ├── d3d9_bridge.h │ │ ├── d3d9_buffer.cpp │ │ ├── d3d9_buffer.h │ │ ├── d3d9_caps.h │ │ ├── d3d9_common_buffer.cpp │ │ ├── d3d9_common_buffer.h │ │ ├── d3d9_common_texture.cpp │ │ ├── d3d9_common_texture.h │ │ ├── d3d9_constant_buffer.cpp │ │ ├── d3d9_constant_buffer.h │ │ ├── d3d9_constant_layout.h │ │ ├── d3d9_constant_set.h │ │ ├── d3d9_cursor.cpp │ │ ├── d3d9_cursor.h │ │ ├── d3d9_device.cpp │ │ ├── d3d9_device.h │ │ ├── d3d9_device_child.h │ │ ├── d3d9_fixed_function.cpp │ │ ├── d3d9_fixed_function.h │ │ ├── d3d9_format.cpp │ │ ├── d3d9_format.h │ │ ├── d3d9_format_helpers.cpp │ │ ├── d3d9_format_helpers.h │ │ ├── d3d9_hud.cpp │ │ ├── d3d9_hud.h │ │ ├── d3d9_include.h │ │ ├── d3d9_initializer.cpp │ │ ├── d3d9_initializer.h │ │ ├── d3d9_interface.cpp │ │ ├── d3d9_interface.h │ │ ├── d3d9_interfaces.h │ │ ├── d3d9_interop.cpp │ │ ├── d3d9_interop.h │ │ ├── d3d9_main.cpp │ │ ├── d3d9_mem.cpp │ │ ├── d3d9_mem.h │ │ ├── d3d9_monitor.cpp │ │ ├── d3d9_monitor.h │ │ ├── d3d9_multithread.cpp │ │ ├── d3d9_multithread.h │ │ ├── d3d9_names.cpp │ │ ├── d3d9_names.h │ │ ├── d3d9_on_12.cpp │ │ ├── d3d9_on_12.h │ │ ├── d3d9_options.cpp │ │ ├── d3d9_options.h │ │ ├── d3d9_query.cpp │ │ ├── d3d9_query.h │ │ ├── d3d9_resource.h │ │ ├── d3d9_shader.cpp │ │ ├── d3d9_shader.h │ │ ├── d3d9_shader_validator.cpp │ │ ├── d3d9_shader_validator.h │ │ ├── d3d9_spec_constants.h │ │ ├── d3d9_state.cpp │ │ ├── d3d9_state.h │ │ ├── d3d9_stateblock.cpp │ │ ├── d3d9_stateblock.h │ │ ├── d3d9_subresource.h │ │ ├── d3d9_surface.cpp │ │ ├── d3d9_surface.h │ │ ├── d3d9_swapchain.cpp │ │ ├── d3d9_swapchain.h │ │ ├── d3d9_swvp_emu.cpp │ │ ├── d3d9_swvp_emu.h │ │ ├── d3d9_texture.cpp │ │ ├── d3d9_texture.h │ │ ├── d3d9_util.cpp │ │ ├── d3d9_util.h │ │ ├── d3d9_vertex_declaration.cpp │ │ ├── d3d9_vertex_declaration.h │ │ ├── d3d9_volume.cpp │ │ ├── d3d9_volume.h │ │ ├── d3d9_window.cpp │ │ ├── d3d9_window.h │ │ ├── meson.build │ │ ├── shaders/ │ │ │ ├── d3d9_convert_a2w10v10u10.comp │ │ │ ├── d3d9_convert_common.h │ │ │ ├── d3d9_convert_l6v5u5.comp │ │ │ ├── d3d9_convert_nv12.comp │ │ │ ├── d3d9_convert_w11v11u10.comp │ │ │ ├── d3d9_convert_x8l8v8u8.comp │ │ │ ├── d3d9_convert_yuy2_uyvy.comp │ │ │ ├── d3d9_convert_yv12.comp │ │ │ ├── d3d9_fixed_function_common.glsl │ │ │ ├── d3d9_fixed_function_frag.frag │ │ │ ├── d3d9_fixed_function_frag.glsl │ │ │ ├── d3d9_fixed_function_frag_sample.frag │ │ │ └── d3d9_fixed_function_vert.vert │ │ └── version.rc │ ├── dxgi/ │ │ ├── dxgi.def │ │ ├── dxgi.sym │ │ ├── dxgi_adapter.cpp │ │ ├── dxgi_adapter.h │ │ ├── dxgi_enums.cpp │ │ ├── dxgi_enums.h │ │ ├── dxgi_factory.cpp │ │ ├── dxgi_factory.h │ │ ├── dxgi_format.cpp │ │ ├── dxgi_format.h │ │ ├── dxgi_include.h │ │ ├── dxgi_interfaces.h │ │ ├── dxgi_main.cpp │ │ ├── dxgi_monitor.cpp │ │ ├── dxgi_monitor.h │ │ ├── dxgi_object.h │ │ ├── dxgi_options.cpp │ │ ├── dxgi_options.h │ │ ├── dxgi_output.cpp │ │ ├── dxgi_output.h │ │ ├── dxgi_surface.cpp │ │ ├── dxgi_surface.h │ │ ├── dxgi_swapchain.cpp │ │ ├── dxgi_swapchain.h │ │ ├── dxgi_swapchain_dispatcher.h │ │ ├── meson.build │ │ └── version.rc │ ├── dxso/ │ │ ├── dxso_analysis.cpp │ │ ├── dxso_analysis.h │ │ ├── dxso_code.cpp │ │ ├── dxso_code.h │ │ ├── dxso_common.cpp │ │ ├── dxso_common.h │ │ ├── dxso_compiler.cpp │ │ ├── dxso_compiler.h │ │ ├── dxso_ctab.cpp │ │ ├── dxso_ctab.h │ │ ├── dxso_decoder.cpp │ │ ├── dxso_decoder.h │ │ ├── dxso_enums.cpp │ │ ├── dxso_enums.h │ │ ├── dxso_header.cpp │ │ ├── dxso_header.h │ │ ├── dxso_include.h │ │ ├── dxso_isgn.h │ │ ├── dxso_modinfo.h │ │ ├── dxso_module.cpp │ │ ├── dxso_module.h │ │ ├── dxso_options.cpp │ │ ├── dxso_options.h │ │ ├── dxso_reader.cpp │ │ ├── dxso_reader.h │ │ ├── dxso_tables.cpp │ │ ├── dxso_tables.h │ │ ├── dxso_util.cpp │ │ ├── dxso_util.h │ │ └── meson.build │ ├── dxvk/ │ │ ├── dxvk_access.cpp │ │ ├── dxvk_access.h │ │ ├── dxvk_adapter.cpp │ │ ├── dxvk_adapter.h │ │ ├── dxvk_allocator.cpp │ │ ├── dxvk_allocator.h │ │ ├── dxvk_annotation.h │ │ ├── dxvk_barrier.cpp │ │ ├── dxvk_barrier.h │ │ ├── dxvk_bind_mask.h │ │ ├── dxvk_buffer.cpp │ │ ├── dxvk_buffer.h │ │ ├── dxvk_cmdlist.cpp │ │ ├── dxvk_cmdlist.h │ │ ├── dxvk_compute.cpp │ │ ├── dxvk_compute.h │ │ ├── dxvk_constant_state.cpp │ │ ├── dxvk_constant_state.h │ │ ├── dxvk_context.cpp │ │ ├── dxvk_context.h │ │ ├── dxvk_context_state.h │ │ ├── dxvk_cs.cpp │ │ ├── dxvk_cs.h │ │ ├── dxvk_descriptor.h │ │ ├── dxvk_descriptor_heap.cpp │ │ ├── dxvk_descriptor_heap.h │ │ ├── dxvk_descriptor_info.cpp │ │ ├── dxvk_descriptor_info.h │ │ ├── dxvk_descriptor_pool.cpp │ │ ├── dxvk_descriptor_pool.h │ │ ├── dxvk_descriptor_worker.cpp │ │ ├── dxvk_descriptor_worker.h │ │ ├── dxvk_device.cpp │ │ ├── dxvk_device.h │ │ ├── dxvk_device_filter.cpp │ │ ├── dxvk_device_filter.h │ │ ├── dxvk_device_info.cpp │ │ ├── dxvk_device_info.h │ │ ├── dxvk_extension_provider.h │ │ ├── dxvk_fence.cpp │ │ ├── dxvk_fence.h │ │ ├── dxvk_format.cpp │ │ ├── dxvk_format.h │ │ ├── dxvk_framebuffer.cpp │ │ ├── dxvk_framebuffer.h │ │ ├── dxvk_gpu_event.cpp │ │ ├── dxvk_gpu_event.h │ │ ├── dxvk_gpu_query.cpp │ │ ├── dxvk_gpu_query.h │ │ ├── dxvk_graphics.cpp │ │ ├── dxvk_graphics.h │ │ ├── dxvk_graphics_state.h │ │ ├── dxvk_hash.h │ │ ├── dxvk_image.cpp │ │ ├── dxvk_image.h │ │ ├── dxvk_implicit_resolve.cpp │ │ ├── dxvk_implicit_resolve.h │ │ ├── dxvk_include.h │ │ ├── dxvk_instance.cpp │ │ ├── dxvk_instance.h │ │ ├── dxvk_latency.h │ │ ├── dxvk_latency_builtin.cpp │ │ ├── dxvk_latency_builtin.h │ │ ├── dxvk_latency_reflex.cpp │ │ ├── dxvk_latency_reflex.h │ │ ├── dxvk_limits.h │ │ ├── dxvk_memory.cpp │ │ ├── dxvk_memory.h │ │ ├── dxvk_meta_blit.cpp │ │ ├── dxvk_meta_blit.h │ │ ├── dxvk_meta_clear.cpp │ │ ├── dxvk_meta_clear.h │ │ ├── dxvk_meta_copy.cpp │ │ ├── dxvk_meta_copy.h │ │ ├── dxvk_meta_mipgen.cpp │ │ ├── dxvk_meta_mipgen.h │ │ ├── dxvk_meta_resolve.cpp │ │ ├── dxvk_meta_resolve.h │ │ ├── dxvk_objects.h │ │ ├── dxvk_openvr.cpp │ │ ├── dxvk_openvr.h │ │ ├── dxvk_openxr.cpp │ │ ├── dxvk_openxr.h │ │ ├── dxvk_options.cpp │ │ ├── dxvk_options.h │ │ ├── dxvk_pipelayout.cpp │ │ ├── dxvk_pipelayout.h │ │ ├── dxvk_pipemanager.cpp │ │ ├── dxvk_pipemanager.h │ │ ├── dxvk_platform_exts.cpp │ │ ├── dxvk_platform_exts.h │ │ ├── dxvk_presenter.cpp │ │ ├── dxvk_presenter.h │ │ ├── dxvk_queue.cpp │ │ ├── dxvk_queue.h │ │ ├── dxvk_recycler.h │ │ ├── dxvk_renderpass.h │ │ ├── dxvk_sampler.cpp │ │ ├── dxvk_sampler.h │ │ ├── dxvk_shader.cpp │ │ ├── dxvk_shader.h │ │ ├── dxvk_shader_cache.cpp │ │ ├── dxvk_shader_cache.h │ │ ├── dxvk_shader_io.cpp │ │ ├── dxvk_shader_io.h │ │ ├── dxvk_shader_ir.cpp │ │ ├── dxvk_shader_ir.h │ │ ├── dxvk_shader_key.cpp │ │ ├── dxvk_shader_key.h │ │ ├── dxvk_shader_spirv.cpp │ │ ├── dxvk_shader_spirv.h │ │ ├── dxvk_signal.cpp │ │ ├── dxvk_signal.h │ │ ├── dxvk_sparse.cpp │ │ ├── dxvk_sparse.h │ │ ├── dxvk_staging.cpp │ │ ├── dxvk_staging.h │ │ ├── dxvk_stats.cpp │ │ ├── dxvk_stats.h │ │ ├── dxvk_swapchain_blitter.cpp │ │ ├── dxvk_swapchain_blitter.h │ │ ├── dxvk_unbound.cpp │ │ ├── dxvk_unbound.h │ │ ├── dxvk_util.cpp │ │ ├── dxvk_util.h │ │ ├── hud/ │ │ │ ├── dxvk_hud.cpp │ │ │ ├── dxvk_hud.h │ │ │ ├── dxvk_hud_font.cpp │ │ │ ├── dxvk_hud_font.h │ │ │ ├── dxvk_hud_item.cpp │ │ │ ├── dxvk_hud_item.h │ │ │ ├── dxvk_hud_renderer.cpp │ │ │ ├── dxvk_hud_renderer.h │ │ │ └── shaders/ │ │ │ ├── hud_chunk_frag_background.frag │ │ │ ├── hud_chunk_frag_visualize.frag │ │ │ ├── hud_chunk_vert_background.vert │ │ │ ├── hud_chunk_vert_visualize.vert │ │ │ ├── hud_frag_common.glsl │ │ │ ├── hud_frame_time_eval.comp │ │ │ ├── hud_graph_frag.frag │ │ │ ├── hud_graph_vert.vert │ │ │ ├── hud_text_frag.frag │ │ │ └── hud_text_vert.vert │ │ ├── meson.build │ │ └── shaders/ │ │ ├── dxvk_blit_frag_1d.frag │ │ ├── dxvk_blit_frag_2d.frag │ │ ├── dxvk_blit_frag_2d_ms.frag │ │ ├── dxvk_blit_frag_3d.frag │ │ ├── dxvk_buffer_to_image_d.frag │ │ ├── dxvk_buffer_to_image_ds_export.frag │ │ ├── dxvk_buffer_to_image_f.frag │ │ ├── dxvk_buffer_to_image_s_discard.frag │ │ ├── dxvk_buffer_to_image_u.frag │ │ ├── dxvk_clear_buffer_f.comp │ │ ├── dxvk_clear_buffer_u.comp │ │ ├── dxvk_clear_image1d_f.comp │ │ ├── dxvk_clear_image1d_u.comp │ │ ├── dxvk_clear_image1darr_f.comp │ │ ├── dxvk_clear_image1darr_u.comp │ │ ├── dxvk_clear_image2d_f.comp │ │ ├── dxvk_clear_image2d_u.comp │ │ ├── dxvk_clear_image2darr_f.comp │ │ ├── dxvk_clear_image2darr_u.comp │ │ ├── dxvk_clear_image3d_f.comp │ │ ├── dxvk_clear_image3d_u.comp │ │ ├── dxvk_color_space.glsl │ │ ├── dxvk_copy_buffer_image.comp │ │ ├── dxvk_copy_color_1d.frag │ │ ├── dxvk_copy_color_2d.frag │ │ ├── dxvk_copy_color_ms.frag │ │ ├── dxvk_copy_depth_stencil_1d.frag │ │ ├── dxvk_copy_depth_stencil_2d.frag │ │ ├── dxvk_copy_depth_stencil_ms.frag │ │ ├── dxvk_cursor_frag.frag │ │ ├── dxvk_cursor_vert.vert │ │ ├── dxvk_dummy_frag.frag │ │ ├── dxvk_formats.glsl │ │ ├── dxvk_fullscreen_geom.geom │ │ ├── dxvk_fullscreen_layer_vert.vert │ │ ├── dxvk_fullscreen_vert.vert │ │ ├── dxvk_image_to_buffer_ds.comp │ │ ├── dxvk_image_to_buffer_f.comp │ │ ├── dxvk_mipgen.comp │ │ ├── dxvk_present_common.glsl │ │ ├── dxvk_present_frag.frag │ │ ├── dxvk_present_frag_blit.frag │ │ ├── dxvk_present_frag_ms.frag │ │ ├── dxvk_present_frag_ms_blit.frag │ │ ├── dxvk_present_vert.vert │ │ ├── dxvk_resolve_common.glsl │ │ ├── dxvk_resolve_frag_d.frag │ │ ├── dxvk_resolve_frag_ds.frag │ │ ├── dxvk_resolve_frag_f.frag │ │ ├── dxvk_resolve_frag_i.frag │ │ └── dxvk_resolve_frag_u.frag │ ├── meson.build │ ├── spirv/ │ │ ├── meson.build │ │ ├── spirv_code_buffer.cpp │ │ ├── spirv_code_buffer.h │ │ ├── spirv_compression.cpp │ │ ├── spirv_compression.h │ │ ├── spirv_include.h │ │ ├── spirv_instruction.h │ │ ├── spirv_module.cpp │ │ └── spirv_module.h │ ├── util/ │ │ ├── com/ │ │ │ ├── com_destruction_notifier.cpp │ │ │ ├── com_destruction_notifier.h │ │ │ ├── com_guid.cpp │ │ │ ├── com_guid.h │ │ │ ├── com_include.h │ │ │ ├── com_object.h │ │ │ ├── com_pointer.h │ │ │ ├── com_private_data.cpp │ │ │ └── com_private_data.h │ │ ├── config/ │ │ │ ├── config.cpp │ │ │ └── config.h │ │ ├── log/ │ │ │ ├── log.cpp │ │ │ ├── log.h │ │ │ ├── log_debug.cpp │ │ │ └── log_debug.h │ │ ├── meson.build │ │ ├── rc/ │ │ │ ├── util_rc.h │ │ │ └── util_rc_ptr.h │ │ ├── sha1/ │ │ │ ├── sha1.c │ │ │ ├── sha1.h │ │ │ ├── sha1_util.cpp │ │ │ └── sha1_util.h │ │ ├── sync/ │ │ │ ├── sync_recursive.cpp │ │ │ ├── sync_recursive.h │ │ │ ├── sync_signal.h │ │ │ ├── sync_spinlock.h │ │ │ └── sync_ticketlock.h │ │ ├── thread.cpp │ │ ├── thread.h │ │ ├── util_bit.h │ │ ├── util_enum.h │ │ ├── util_env.cpp │ │ ├── util_env.h │ │ ├── util_error.h │ │ ├── util_file.cpp │ │ ├── util_file.h │ │ ├── util_flags.h │ │ ├── util_flush.cpp │ │ ├── util_flush.h │ │ ├── util_fps_limiter.cpp │ │ ├── util_fps_limiter.h │ │ ├── util_gdi.cpp │ │ ├── util_gdi.h │ │ ├── util_lazy.h │ │ ├── util_likely.h │ │ ├── util_lru.h │ │ ├── util_luid.cpp │ │ ├── util_luid.h │ │ ├── util_math.h │ │ ├── util_matrix.cpp │ │ ├── util_matrix.h │ │ ├── util_misc.h │ │ ├── util_ratio.h │ │ ├── util_shared_res.cpp │ │ ├── util_shared_res.h │ │ ├── util_singleton.h │ │ ├── util_sleep.cpp │ │ ├── util_sleep.h │ │ ├── util_small_vector.h │ │ ├── util_string.cpp │ │ ├── util_string.h │ │ ├── util_time.h │ │ ├── util_vector.h │ │ ├── util_version.h │ │ └── util_win32_compat.h │ ├── vulkan/ │ │ ├── meson.build │ │ ├── vulkan_loader.cpp │ │ ├── vulkan_loader.h │ │ ├── vulkan_names.cpp │ │ ├── vulkan_names.h │ │ └── vulkan_util.h │ └── wsi/ │ ├── glfw/ │ │ ├── wsi_monitor_glfw.cpp │ │ ├── wsi_platform_glfw.cpp │ │ ├── wsi_platform_glfw.h │ │ ├── wsi_platform_glfw_funcs.h │ │ └── wsi_window_glfw.cpp │ ├── meson.build │ ├── sdl2/ │ │ ├── wsi_monitor_sdl2.cpp │ │ ├── wsi_platform_sdl2.cpp │ │ ├── wsi_platform_sdl2.h │ │ ├── wsi_platform_sdl2_funcs.h │ │ └── wsi_window_sdl2.cpp │ ├── sdl3/ │ │ ├── wsi_monitor_sdl3.cpp │ │ ├── wsi_platform_sdl3.cpp │ │ ├── wsi_platform_sdl3.h │ │ ├── wsi_platform_sdl3_funcs.h │ │ └── wsi_window_sdl3.cpp │ ├── win32/ │ │ ├── wsi_monitor_win32.cpp │ │ ├── wsi_platform_win32.cpp │ │ ├── wsi_platform_win32.h │ │ └── wsi_window_win32.cpp │ ├── wsi_edid.cpp │ ├── wsi_edid.h │ ├── wsi_monitor.h │ ├── wsi_platform.cpp │ ├── wsi_platform.h │ └── wsi_window.h └── version.h.in