[macOS] [Vulkan] Suppress mvk-info messages from command line
originally posted on D4905 (26/Jan/23)
to reproduce
- enable
Vulkan
as renderbackend
- start
pyrogenesis
, for example
pyrogenesis -mod=public -mod=0ad-spirv -conf=rendererbackend:vulkan
- notice the terminal output fills up with
mvk-info
pyrogenesis -mod=public -mod=0ad-spirv -conf=rendererbackend:vulkan
Valid app bundle detected
TIMER| InitVfs: 2.166 ms
FILES| Main log written to '/Users/paria/Library/Application Support/0ad/logs/mainlog.html'
FILES| Interesting log written to '/Users/paria/Library/Application Support/0ad/logs/interestinglog.html'
TIMER| CONFIG_Init: 9.619 ms
Valid app bundle detected
Valid app bundle detected
Sound: AlcInit success, using Built-in Output
[mvk-info] MoltenVK version 1.2.2, supporting Vulkan version 1.2.239.
The following 78 Vulkan extensions are supported:
VK_KHR_16bit_storage v1
VK_KHR_8bit_storage v1
VK_KHR_bind_memory2 v1
VK_KHR_copy_commands2 v1
VK_KHR_create_renderpass2 v1
VK_KHR_dedicated_allocation v3
VK_KHR_depth_stencil_resolve v1
VK_KHR_descriptor_update_template v1
VK_KHR_device_group v4
VK_KHR_device_group_creation v1
VK_KHR_driver_properties v1
VK_KHR_dynamic_rendering v1
VK_KHR_external_fence v1
VK_KHR_external_fence_capabilities v1
VK_KHR_external_memory v1
VK_KHR_external_memory_capabilities v1
VK_KHR_external_semaphore v1
VK_KHR_external_semaphore_capabilities v1
VK_KHR_fragment_shader_barycentric v1
VK_KHR_get_memory_requirements2 v1
VK_KHR_get_physical_device_properties2 v2
VK_KHR_get_surface_capabilities2 v1
VK_KHR_imageless_framebuffer v1
VK_KHR_image_format_list v1
VK_KHR_maintenance1 v2
VK_KHR_maintenance2 v1
VK_KHR_maintenance3 v1
VK_KHR_multiview v1
VK_KHR_portability_subset v1
VK_KHR_push_descriptor v2
VK_KHR_relaxed_block_layout v1
VK_KHR_sampler_mirror_clamp_to_edge v3
VK_KHR_sampler_ycbcr_conversion v14
VK_KHR_separate_depth_stencil_layouts v1
VK_KHR_shader_draw_parameters v1
VK_KHR_shader_float_controls v4
VK_KHR_shader_float16_int8 v1
VK_KHR_shader_subgroup_extended_types v1
VK_KHR_spirv_1_4 v1
VK_KHR_storage_buffer_storage_class v1
VK_KHR_surface v25
VK_KHR_swapchain v70
VK_KHR_swapchain_mutable_format v1
VK_KHR_timeline_semaphore v2
VK_KHR_uniform_buffer_standard_layout v1
VK_KHR_variable_pointers v1
VK_EXT_debug_marker v4
VK_EXT_debug_report v10
VK_EXT_debug_utils v2
VK_EXT_descriptor_indexing v2
VK_EXT_fragment_shader_interlock v1
VK_EXT_hdr_metadata v2
VK_EXT_host_query_reset v1
VK_EXT_image_robustness v1
VK_EXT_inline_uniform_block v1
VK_EXT_memory_budget v1
VK_EXT_metal_objects v1
VK_EXT_metal_surface v1
VK_EXT_private_data v1
VK_EXT_robustness2 v1
VK_EXT_sample_locations v1
VK_EXT_scalar_block_layout v1
VK_EXT_separate_stencil_usage v1
VK_EXT_shader_stencil_export v1
VK_EXT_shader_viewport_index_layer v1
VK_EXT_subgroup_size_control v2
VK_EXT_swapchain_colorspace v4
VK_EXT_texel_buffer_alignment v1
VK_EXT_vertex_attribute_divisor v3
VK_AMD_gpu_shader_half_float v2
VK_AMD_negative_viewport_height v1
VK_AMD_shader_trinary_minmax v1
VK_INTEL_shader_integer_functions2 v1
VK_GOOGLE_display_timing v1
VK_MVK_macos_surface v3
VK_MVK_moltenvk v36
VK_NV_fragment_shader_barycentric v1
VK_NV_glsl_shader v1
[mvk-info] GPU device:
model: NVIDIA GeForce GT 650M
type: Discrete
vendorID: 0x10de
deviceID: 0x0fd5
pipelineCacheUUID: 000027DA-0A0F-07D1-0000-000000000000
supports the following Metal Versions, GPU's and Feature Sets:
Metal Shading Language 2.2
GPU Family Mac 1
GPU Family Common 2
GPU Family Common 1
macOS GPU Family 1 v4
macOS GPU Family 1 v3
macOS GPU Family 1 v2
macOS GPU Family 1 v1
[mvk-info] GPU device:
model: Intel HD Graphics 4000
type: Integrated
vendorID: 0x8086
deviceID: 0x0166
pipelineCacheUUID: 000027DA-0A0F-07D1-0000-000000000000
supports the following Metal Versions, GPU's and Feature Sets:
Metal Shading Language 2.2
GPU Family Mac 1
GPU Family Common 2
GPU Family Common 1
macOS GPU Family 1 v4
macOS GPU Family 1 v3
macOS GPU Family 1 v2
macOS GPU Family 1 v1
[mvk-info] Created VkInstance for Vulkan version 1.1.0, as requested by app, with the following 2 Vulkan extensions enabled:
VK_KHR_surface v25
VK_MVK_macos_surface v3
[mvk-info] Vulkan semaphores using Metal implicit guarantees within a single queue.
[mvk-info] Created VkDevice to run on GPU NVIDIA GeForce GT 650M with the following 1 Vulkan extensions enabled:
VK_KHR_swapchain v70
[mvk-info] Created 3 swapchain images with initial size (1280, 800) and contents scale 1.0 for screen Built-in Display.
FILES| UserReport written to '/Users/paria/Library/Application Support/0ad/logs/userreport_hwdetect.txt'
TIMER| RunHardwareDetection: 16.196 ms
FILES| Hardware details written to '/Users/paria/Library/Application Support/0ad/logs/system_info.txt'
TIMER| write_sys_info: 17.03 ms
TIMER| InitRenderer: 105.117 ms
TIMER| ps_console: 10.174 ms
TIMER| ps_lang_hotkeys: 4.933 ms
TIMER| common/modern/setup.xml: 2.632 ms
TIMER| common/modern/styles.xml: 582 us
TIMER| common/modern/sprites.xml: 1.829 ms
TIMER| common/global.xml: 927 us
TIMER| common/setup.xml: 737 us
TIMER| common/sprites.xml: 963 us
TIMER| common/styles.xml: 163 us
TIMER| pregame/backgrounds/: 707 us
TIMER| pregame/sprites.xml: 631 us
TIMER| pregame/styles.xml: 73 us
TIMER| pregame/mainmenu.xml: 75.632 ms
expected behaviour
- hide those messages from the terminal
Looks like we need https://github.com/KhronosGroup/MoltenVK/issues/45
Question is wether I keep 1.2.2 but that means one has to clear their folder. Or add 1.2.2.1 but then it no longer matches upstream
EDIT: As reported with Vladislav might be fixed by setting another env variable https://github.com/KhronosGroup/MoltenVK/blob/main/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h#L66