Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assert in tvOS #229

Closed
andrefmsilva opened this issue Dec 11, 2023 · 10 comments
Closed

Assert in tvOS #229

andrefmsilva opened this issue Dec 11, 2023 · 10 comments

Comments

@andrefmsilva
Copy link

andrefmsilva commented Dec 11, 2023

I get an assert when i try to run MPV in tvOS with support for vulkan.
I'm using latest commits of libplacebo, mpv and MoltenVK, but if i downgrade to some stable tag idon't get the assert but it fails to generate the texture with:

[MPV Log] [vo/gpu/libplacebo] error: Found no memory type matching property flags 0x0 and type bits 0x3!
[MPV Log] [vo/gpu/libplacebo] debug: Freeing slab of size 2048

Logs for latest versions of all dependencies:

[MPV Log] [cplayer] debug: Setting option 'vo' = "gpu" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'gpu-shader-cache-dir' = "xxxx/Caches/mpv_cache" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'icc-cache-dir' = "xxxx/Caches/mpv_cache" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'gpu-debug' = "yes" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'gpu-api' = "vulkan" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'gpu-context' = "moltenvk" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'hwdec' = "auto" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'hwdec-codecs' = "all" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'reset-on-next-file' = "all" (flags = 0) -> 0
[MPV Log] [cplayer] debug: Setting option 'demuxer-lavf-analyzeduration' = "1" (flags = 0) -> 0
[MPV Log] [cplayer] v: mpv v0.37.0-85-g566a96f220-dirty Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
[MPV Log] [cplayer] v:  built on Dec 11 2023 13:06:13
[MPV Log] [cplayer] v: libplacebo version: v6.338.0-63-g26e4e991
[MPV Log] [cplayer] v: FFmpeg version: N-112940-g1439784ff0
[MPV Log] [cplayer] v: FFmpeg library versions:
[MPV Log] [cplayer] v:    libavutil       58.32.100
[MPV Log] [cplayer] v:    libavcodec      60.35.100
[MPV Log] [cplayer] v:    libavformat     60.18.100
[MPV Log] [cplayer] v:    libswscale      7.6.100
[MPV Log] [cplayer] v:    libavfilter     9.14.100
[MPV Log] [cplayer] v:    libswresample   4.13.100
[MPV Log] [cplayer] v:
[MPV Log] [cplayer] v: Configuration: -Dlibmpv=true -Dcplayer=false -Ddebug=true -Diconv=enabled -Dvideotoolbox-gl=disabled -Dswift-build=disabled -Daudiounit=enabled -Dmoltenvk=enabled 
[MPV Log] [cplayer] v: List of enabled features: audiounit av-channel-layout avif-muxer bsd-fstatfs build-date cplugins darwin debug ffmpeg gl glob glob-posix gpl iconv ios-gl jpegxl lavu-uuid lcms2 libass libdl libm libplacebo moltenvk osx-thread-name posix posix-shm threads uchardet vector videotoolbox-pl vulkan vulkan-interop zlib
[MPV Log] [global] debug: home path: '' -> '-'
[MPV Log] [global] debug: user path: '~~home/' -> ''
[MPV Log] [global] debug: user path: '~~old_home/' -> ''
[MPV Event] idle
[MPV Log] [cplayer] debug: Setting option 'wid' = 105553131170544 (flags = 0) -> 0
Engine switched to -> mpv
Start Watching Controllers
Rendering player state:
stopped
Rendering player state:
stopped
[MPV Log] [cplayer] v: Set property: pause=true -> 1
Rendering player state:
stopped
[MPV Log] [cplayer] debug: Run command: stop, flags=64, args=[flags=""]
Rendering player state:
opening
Rendering player state:
opening
Controller Did Connect
[MPV Log] [cplayer] v: Set property: slang="eng,en" -> 1
[MPV Log] [cplayer] v: Set property: alang="eng,en" -> 1
[MPV Log] [cplayer] v: Set property: hwdec="no" -> 1
[MPV Log] [cplayer] v: Set property: deinterlace="no" -> 1
[MPV Log] [cplayer] v: Set property: cache-secs=0.000000 -> 1
[MPV Log] [cplayer] v: Set property: cache-pause-initial="yes" -> 1
[MPV Log] [cplayer] v: Set property: sub-font-size="55" -> 1
[MPV Log] [cplayer] v: Set property: sub-color="#FFFFFF" -> 1
[MPV Log] [cplayer] debug: Run command: loadfile, flags=64, args=[url="http://xxxx/368055.ts", flags="replace", options="sub-delay=0,start=+0,vid=auto,aid=auto,sid=auto,referrer="]
[MPV Event] start-file
[MPV Log] [cplayer] v: Set property: pause=false -> 1
[MPV Log] [global] debug: state path: 'watch_later' -> '-'
[MPV Log] [cplayer] v: Setting option 'sub-delay' = '0' (flags = 16)
[MPV Log] [cplayer] v: Setting option 'start' = '+0' (flags = 16)
[MPV Log] [cplayer] v: Setting option 'vid' = 'auto' (flags = 16)
[MPV Log] [cplayer] v: Setting option 'aid' = 'auto' (flags = 16)
[MPV Log] [cplayer] v: Setting option 'sid' = 'auto' (flags = 16)
[MPV Log] [cplayer] v: Setting option 'referrer' = '' (flags = 16)
[MPV Log] [ffmpeg] v: Opening xxxx/368055.ts
[MPV Log] [ffmpeg] debug: tcp: Starting connection attempt to 
[MPV Log] [ffmpeg] debug: tcp: Successfully connected to 
[MPV Log] [ffmpeg] debug: tcp: Starting connection attempt to 
[MPV Log] [ffmpeg] debug: tcp: Successfully connected to 
[MPV Log] [ffmpeg] v: Could not set AVOption tls_verify='0'
[MPV Log] [ffmpeg] debug: resize stream to 131072 bytes, drop 0 bytes
[MPV Log] [ffmpeg] v: Mime-type: 'video/mp2t'
[MPV Log] [ffmpeg] debug: Stream opened successfully.
[MPV Log] [demux] v: Trying demuxers for level=normal.
[MPV Log] [demux] debug: Trying demuxer: disc (force-level: normal)
[MPV Log] [demux] debug: Trying demuxer: edl (force-level: normal)
[MPV Log] [demux] debug: Trying demuxer: cue (force-level: normal)
[MPV Log] [demux] debug: Trying demuxer: rawaudio (force-level: normal)
[MPV Log] [demux] debug: Trying demuxer: rawvideo (force-level: normal)
[MPV Log] [demux] debug: Trying demuxer: mkv (force-level: normal)
[MPV Log] [demux] debug: Trying demuxer: lavf (force-level: normal)
[MPV Log] [lavf] v: Found 'mpegts' at score=50 size=2048.
[MPV Log] [ffmpeg/video] debug: h264: Reinit context to 1280x720, pix_fmt: yuv420p
[MPV Log] [ffmpeg/video] debug: h264: Increasing reorder buffer to 1
[MPV Log] [ffmpeg/video] warn: h264: Increasing reorder buffer to 2
[MPV Log] [lavf] v: avformat_find_stream_info() finished after 262144 bytes.
[MPV Log] [demux] v: Detected file format: mpegts (libavformat)
[MPV Log] [demux] v: Stream is not seekable.
[MPV Log] [cplayer] v: Opening done: xxxx/368055.ts
[MPV Log] [lavf] v: select track 0
[MPV Log] [lavf] v: select track 1
[MPV Log] [cplayer] info:  (+) Video --vid=1 (h264 1280x720 50.000fps)
[MPV Log] [cplayer] info:  (+) Audio --aid=1 --alang=por (aac 2ch 48000Hz)
[MPV Log] [vo/gpu/vulkan] v: Initializing GPU context 'moltenvk'
[MPV Log] [vo/gpu/libplacebo] v: Initialized libplacebo v6.338.0-63-g26e4e991 (API v342)
[MPV Log] [vo/gpu/libplacebo] debug: Available instance version: 1.2.268
[MPV Log] [vo/gpu/libplacebo] debug: Spent 0.238 ms enumerating instance layers
[MPV Log] [vo/gpu/libplacebo] debug: Available layers:
[MPV Log] [vo/gpu/libplacebo] debug:     MoltenVK (v1.2.268)
[MPV Log] [vo/gpu/libplacebo] v: API debugging requested but no debug meta layers present... ignoring
[MPV Log] [vo/gpu/libplacebo] debug: Spent 0.009 ms enumerating instance extensions
[MPV Log] [vo/gpu/libplacebo] debug: Available instance extensions:
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_device_group_creation
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_external_fence_capabilities
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_external_memory_capabilities
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_external_semaphore_capabilities
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_get_physical_device_properties2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_get_surface_capabilities2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_surface
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_debug_report
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_debug_utils
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_headless_surface
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_metal_surface
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_surface_maintenance1
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_swapchain_colorspace
[MPV Log] [vo/gpu/libplacebo] debug:     VK_MVK_ios_surface
[MPV Log] [vo/gpu/libplacebo] debug:     VK_MVK_moltenvk
[MPV Log] [vo/gpu/libplacebo] v: Creating vulkan instance with extensions:
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_get_physical_device_properties2
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_surface
[MPV Log] [vo/gpu/libplacebo] v:     VK_EXT_swapchain_colorspace
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_external_memory_capabilities
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_external_semaphore_capabilities
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_get_surface_capabilities2
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_surface
[MPV Log] [vo/gpu/libplacebo] v:     VK_EXT_metal_surface
[mvk-info] MoltenVK version 1.2.7, supporting Vulkan version 1.2.268.
	The following 103 Vulkan extensions are supported:
		VK_KHR_16bit_storage v1
		VK_KHR_8bit_storage v1
		VK_KHR_bind_memory2 v1
		VK_KHR_buffer_device_address v1
		VK_KHR_copy_commands2 v1
		VK_KHR_create_renderpass2 v1
		VK_KHR_dedicated_allocation v3
		VK_KHR_deferred_host_operations v4
		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_incremental_present v2
		VK_KHR_maintenance1 v2
		VK_KHR_maintenance2 v1
		VK_KHR_maintenance3 v1
		VK_KHR_map_memory2 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_non_semantic_info 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_synchronization2 v1
		VK_KHR_timeline_semaphore v2
		VK_KHR_uniform_buffer_standard_layout v1
		VK_KHR_variable_pointers v1
		VK_EXT_4444_formats v1
		VK_EXT_buffer_device_address v2
		VK_EXT_calibrated_timestamps v2
		VK_EXT_debug_marker v4
		VK_EXT_debug_report v10
		VK_EXT_debug_utils v2
		VK_EXT_descriptor_indexing v2
		VK_EXT_extended_dynamic_state v1
		VK_EXT_extended_dynamic_state2 v1
		VK_EXT_extended_dynamic_state3 v2
		VK_EXT_external_memory_host v1
		VK_EXT_fragment_shader_interlock v1
		VK_EXT_headless_surface v1
		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_pipeline_creation_cache_control v3
		VK_EXT_pipeline_creation_feedback v1
		VK_EXT_post_depth_coverage 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_atomic_float v1
		VK_EXT_shader_demote_to_helper_invocation v1
		VK_EXT_shader_stencil_export v1
		VK_EXT_shader_subgroup_ballot v1
		VK_EXT_shader_subgroup_vote v1
		VK_EXT_shader_viewport_index_layer v1
		VK_EXT_subgroup_size_control v2
		VK_EXT_surface_maintenance1 v1
		VK_EXT_swapchain_colorspace v4
		VK_EXT_swapchain_maintenance1 v1
		VK_EXT_texel_buffer_alignment v1
		VK_EXT_texture_compression_astc_hdr v1
		VK_EXT_vertex_attribute_divisor v3
		VK_AMD_gpu_shader_half_float v2
		VK_AMD_negative_viewport_height v1
		VK_AMD_shader_image_load_store_lod v1
		VK_AMD_shader_trinary_minmax v1
		VK_IMG_format_pvrtc v1
		VK_INTEL_shader_integer_functions2 v1
		VK_GOOGLE_display_timing v1
		VK_MVK_ios_surface v3
		VK_MVK_moltenvk v37
		VK_NV_fragment_shader_barycentric v1
		VK_NV_glsl_shader v1
[mvk-info] GPU device:
		model: Apple tvOS simulator GPU
		type: Integrated
		vendorID: 0x106b
		deviceID: 0x110003ea
		pipelineCacheUUID: E6A38863-1100-03EA-0000-000000000000
		GPU memory available: 0 MB
		GPU memory used: 0 MB
	supports the following Metal Versions, GPU's and Feature Sets:
		Metal Shading Language 3.1
		GPU Family Apple 2
		GPU Family Apple 1
		GPU Family Common 1
		tvOS GPU Family 1 v4
		tvOS GPU Family 1 v3
		tvOS GPU Family 1 v2
		tvOS GPU Family 1 v1
[mvk-info] Created VkInstance for Vulkan version 1.2.268, as requested by app, with the following 7 Vulkan extensions enabled:
		VK_KHR_external_memory_capabilities v1
		VK_KHR_external_semaphore_capabilities v1
		VK_KHR_get_physical_device_properties2 v2
		VK_KHR_get_surface_capabilities2 v1
		VK_KHR_surface v25
		VK_EXT_metal_surface v1
		VK_EXT_swapchain_colorspace v4
[MPV Log] [vo/gpu/libplacebo] debug: Spent 4.581 ms creating vulkan instance
[MPV Log] [vo/gpu/libplacebo] v: Probing for vulkan devices:
[MPV Log] [vo/gpu/libplacebo] debug: Spent 0.000 ms enumerating physical devices
[MPV Log] [vo/gpu/libplacebo] v:     GPU 0: Apple tvOS simulator GPU v1.2.268 (integrated)
[MPV Log] [vo/gpu/libplacebo] v:            uuid: 00:00:10:6B:11:00:03:EA:00:00:00:00:00:00:00:00
[MPV Log] [vo/gpu/libplacebo] v: Vulkan device properties:
[MPV Log] [vo/gpu/libplacebo] v:     Device Name: Apple tvOS simulator GPU
[MPV Log] [vo/gpu/libplacebo] v:     Device ID: 106b:110003ea
[MPV Log] [vo/gpu/libplacebo] v:     Device UUID: 00:00:10:6B:11:00:03:EA:00:00:00:00:00:00:00:00
[MPV Log] [vo/gpu/libplacebo] v:     Driver version: 27df
[MPV Log] [vo/gpu/libplacebo] v:     API version: 1.2.268
[MPV Log] [vo/gpu/libplacebo] debug: Queue families supported by device:
[MPV Log] [vo/gpu/libplacebo] debug:     0: flags 0x7 num 1
[MPV Log] [vo/gpu/libplacebo] debug:     1: flags 0x7 num 1
[MPV Log] [vo/gpu/libplacebo] debug:     2: flags 0x7 num 1
[MPV Log] [vo/gpu/libplacebo] debug:     3: flags 0x7 num 1
[MPV Log] [vo/gpu/libplacebo] debug: Using graphics queue 0
[MPV Log] [vo/gpu/libplacebo] debug: Spent 0.003 ms enumerating device extensions
[MPV Log] [vo/gpu/libplacebo] debug: Available device extensions:
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_16bit_storage
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_8bit_storage
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_bind_memory2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_copy_commands2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_create_renderpass2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_dedicated_allocation
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_deferred_host_operations
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_depth_stencil_resolve
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_descriptor_update_template
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_device_group
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_driver_properties
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_dynamic_rendering
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_external_fence
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_external_memory
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_external_semaphore
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_get_memory_requirements2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_imageless_framebuffer
[mvk-info] Vulkan semaphores using MTLEvent.
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_image_format_list
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_incremental_present
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_maintenance1
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_maintenance2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_maintenance3
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_map_memory2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_multiview
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_portability_subset
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_push_descriptor
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_relaxed_block_layout
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_sampler_ycbcr_conversion
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_separate_depth_stencil_layouts
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_shader_draw_parameters
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_shader_float_controls
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_shader_float16_int8
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_shader_non_semantic_info
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_spirv_1_4
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_storage_buffer_storage_class
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_swapchain
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_swapchain_mutable_format
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_synchronization2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_timeline_semaphore
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_uniform_buffer_standard_layout
[MPV Log] [vo/gpu/libplacebo] debug:     VK_KHR_variable_pointers
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_4444_formats
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_calibrated_timestamps
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_debug_marker
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_extended_dynamic_state
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_extended_dynamic_state2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_extended_dynamic_state3
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_external_memory_host
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_host_query_reset
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_image_robustness
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_inline_uniform_block
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_memory_budget
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_metal_objects
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_pipeline_creation_cache_control
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_pipeline_creation_feedback
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_private_data
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_robustness2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_scalar_block_layout
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_separate_stencil_usage
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_shader_atomic_float
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_shader_demote_to_helper_invocation
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_shader_viewport_index_layer
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_subgroup_size_control
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_swapchain_maintenance1
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_texel_buffer_alignment
[MPV Log] [vo/gpu/libplacebo] debug:     VK_EXT_vertex_attribute_divisor
[MPV Log] [vo/gpu/libplacebo] debug:     VK_AMD_gpu_shader_half_float
[MPV Log] [vo/gpu/libplacebo] debug:     VK_AMD_negative_viewport_height
[MPV Log] [vo/gpu/libplacebo] debug:     VK_AMD_shader_image_load_store_lod
[MPV Log] [vo/gpu/libplacebo] debug:     VK_AMD_shader_trinary_minmax
[MPV Log] [vo/gpu/libplacebo] debug:     VK_IMG_format_pvrtc
[MPV Log] [vo/gpu/libplacebo] debug:     VK_INTEL_shader_integer_functions2
[MPV Log] [vo/gpu/libplacebo] debug:     VK_GOOGLE_display_timing
[MPV Log] [vo/gpu/libplacebo] debug:     VK_NV_glsl_shader
[MPV Log] [vo/gpu/libplacebo] v: Creating vulkan device with extensions:
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_swapchain
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_swapchain
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_push_descriptor
[MPV Log] [vo/gpu/libplacebo] v:     VK_EXT_external_memory_host
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_portability_subset
[MPV Log] [vo/gpu/libplacebo] v:     VK_EXT_metal_objects
[MPV Log] [vo/gpu/libplacebo] v:     VK_KHR_synchronization2
[MPV Log] [vo/gpu/libplacebo] v:     VK_EXT_shader_atomic_float
[mvk-info] Created VkDevice to run on GPU Apple tvOS simulator GPU with the following 7 Vulkan extensions enabled:
		VK_KHR_portability_subset v1
		VK_KHR_push_descriptor v2
		VK_KHR_swapchain v70
		VK_KHR_synchronization2 v1
		VK_EXT_external_memory_host v1
		VK_EXT_metal_objects v1
		VK_EXT_shader_atomic_float v1
[MPV Log] [vo/gpu/libplacebo] debug: Spent 4.335 ms creating vulkan device
[MPV Log] [vo/gpu/libplacebo] v: Memory heaps supported by device:
[MPV Log] [vo/gpu/libplacebo] v:     0: flags 0x1 size     0
[MPV Log] [vo/gpu/libplacebo] debug: Memory types supported by device:
[MPV Log] [vo/gpu/libplacebo] debug:     0: flags 0x1 heap 0
[MPV Log] [vo/gpu/libplacebo] debug:     1: flags 0xf heap 0
[MPV Log] [vo/gpu/libplacebo] debug:     2: flags 0x11 heap 0
[MPV Log] [vo/gpu/libplacebo] v: Memory summary:     0 used     0 res     0 alloc, efficiency 100.00%, utilization 100.00%, max page:   64M
[MPV Log] [vo/gpu/libplacebo] v: shaderc SPIR-V version 1.6 rev 1
[MPV Log] [vo/gpu/libplacebo] v: Initialized SPIR-V compiler 'shaderc'
[MPV Log] [vo/gpu/libplacebo] debug: Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable
[MPV Log] [vo/gpu/libplacebo] debug: Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable
[MPV Log] [vo/gpu/libplacebo] debug: Minimum texel alignment: 48
Assertion failed: (gpu->limits.max_ubo_size <= gpu->limits.max_buf_size), function pl_gpu_finalize, file utils.c, line 146.
@haasn
Copy link
Owner

haasn commented Dec 11, 2023

b63864e should fix this

@andrefmsilva
Copy link
Author

andrefmsilva commented Dec 11, 2023

i will recompile everything but i'm already using latest commit in master 52314e0

I tried to revert back to tag v6.338.1 and i don't get the assert but i get this

[MPV Log] [vo/gpu/libplacebo] error: Found no memory type matching property flags 0x0 and type bits 0x3!
[MPV Log] [vo/gpu/libplacebo] debug: Freeing slab of size 2048

and a blue screen.

@andrefmsilva
Copy link
Author

@haasn i've recompiled everything and the problem is only in tvOS. iOS is working

@andrefmsilva
Copy link
Author

@haasn what do you need to help you fix this problem? it is working for iOS so it must be some small thing that is broken for tvOS.
Now that we have mpv working with libplacebo + vulkan in mac and iOS i really want to have it for all apple platforms :)

@haasn
Copy link
Owner

haasn commented Dec 14, 2023

From your log, the biggest issue I see is that the available memory size is reported as 0:

[MPV Log] [vo/gpu/libplacebo] v: Memory heaps supported by device:
[MPV Log] [vo/gpu/libplacebo] v:     0: flags 0x1 size     0
[MPV Log] [vo/gpu/libplacebo] debug: Memory types supported by device:
[MPV Log] [vo/gpu/libplacebo] debug:     0: flags 0x1 heap 0
[MPV Log] [vo/gpu/libplacebo] debug:     1: flags 0xf heap 0
[MPV Log] [vo/gpu/libplacebo] debug:     2: flags 0x11 heap 0

I don't know, however, how this could lead to the assertion, which should just be completely impossible. (We explicitly set ubo_size to min(ubo_size, max_buf_size))

@andrefmsilva
Copy link
Author

i will try to setup some demo app where i can add breakpoints to libplacebo and check why it fails to get that info.
@karelrooted do you already have this setup? if yes can you do a quick check why it fails to get that info?

@karelrooted
Copy link

karelrooted commented Dec 14, 2023

with the latest git master , there is no assert on my env though [Apple TV 4K 2017 (tvOS 17.2) (vo=gpu-next) ]

available memory size is reported as 0 too, mpv play the video file with audio but no video

here is the fulllog

@karelrooted
Copy link

karelrooted commented Dec 15, 2023

it seems the memory heap size 0 in tvOS is hardcoded in MoltenVK/Common/MVKOSExtensions.mm#L112

after fix the memory size to return correct value, the bug is fixed, and the video plays fine, please update MoltenVK to the latest git

if use old device , you probably want to change profile to fast, basic on a quick test, the performance on Apple TV 4K 2017 is poor with default profile, when play a 4k dolby vision demo video , a lot of frame drop in output, mpv log

Screenshot 2023-12-15 at 7 14 45 PM

after change profile to fast, the video play fine with no frame drop

by the way ,while we are here, the Xcode debug mode sigabort error issue is happened too in this vo=gpu-next mode (similar, but not in the same code) , I can't get the macOS version running against official Vulkan SDK to work, is there any other way to enable VVL without using official SDK?

libplacebo-assert

@andrefmsilva
Copy link
Author

thanks @karelrooted! Really nice progress that you got here

@andrefmsilva
Copy link
Author

andrefmsilva commented Dec 15, 2023

@karelrooted I did a search for MKV_TVOS in Molten source code and looks like we need to change a few things. If i get some free time in the weekend i'll try to use their iOS logic for tvOS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants