[MTLHeapDescriptorInternal validateWithDevice:]:335: failed assertion `Heap Descriptor Validation Placement heap type is not supported.
Open
Nobody has claimed this yet.
platform: osx
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Is there an existing issue for this?
- This is a bug in RetroArch frontend
- I have searched the existing issues
Description
Does not even start on macOS 12.7 (Monterey)
Expected behavior
launch at least...
Steps to reproduce the bug
Run /Applications/RetroArch.app/Contents/MacOS/RetroArch from terminal
Version/Commit
1.22.2
Bisect Results
No response
Present in the nightly version
Yes
Platform & operating system
macOS 12.7.6 21H1320 x86_64
Affected Cores
No response
Environment information
No response
Relevant log output
[mvk-info] MoltenVK version 1.3.0, supporting Vulkan version 1.3.313.
The following 123 Vulkan extensions are supported:
VK_KHR_16bit_storage v1
VK_KHR_8bit_storage v1
VK_KHR_bind_memory2 v1
VK_KHR_calibrated_timestamps 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_format_feature_flags2 v2
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_index_type_uint8 v1
VK_KHR_load_store_op_none v1
VK_KHR_maintenance1 v2
VK_KHR_maintenance2 v1
VK_KHR_maintenance3 v1
VK_KHR_maintenance4 v2
VK_KHR_maintenance6 v1
VK_KHR_maintenance7 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_expect_assume v1
VK_KHR_shader_float_controls v4
VK_KHR_shader_float16_int8 v1
VK_KHR_shader_integer_dot_product v1
VK_KHR_shader_non_semantic_info v1
VK_KHR_shader_subgroup_extended_types v1
VK_KHR_shader_subgroup_rotate v2
VK_KHR_shader_terminate_invocation 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_KHR_vertex_attribute_divisor v1
VK_KHR_vulkan_memory_model v3
VK_KHR_zero_initialize_workgroup_memory v1
VK_EXT_4444_formats v1
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_depth_clip_control v1
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_external_memory_metal v1
VK_EXT_fragment_shader_interlock v1
VK_EXT_hdr_metadata v3
VK_EXT_headless_surface v1
VK_EXT_host_image_copy v1
VK_EXT_host_query_reset v1
VK_EXT_image_2d_view_of_3d v1
VK_EXT_image_robustness v1
VK_EXT_index_type_uint8 v1
VK_EXT_inline_uniform_block v1
VK_EXT_layer_settings v2
VK_EXT_load_store_op_none v1
VK_EXT_memory_budget v1
VK_EXT_metal_objects v2
VK_EXT_metal_surface v1
VK_EXT_pipeline_creation_cache_control v3
VK_EXT_pipeline_creation_feedback v1
VK_EXT_pipeline_robustness 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_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 v5
VK_EXT_swapchain_maintenance1 v1
VK_EXT_texel_buffer_alignment v1
VK_EXT_texture_compression_astc_hdr v1
VK_EXT_tooling_info 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_macos_surface v3
VK_MVK_moltenvk v37
VK_NV_fragment_shader_barycentric v1
[mvk-info] GPU device:
model: Intel Iris Pro Graphics
type: Integrated
vendorID: 0x8086
deviceID: 0x0d26
pipelineCacheUUID: 49B97F26-0C07-0200-0000-000100000000
GPU memory available: 1536 MB
GPU memory used: 0 MB
Metal Shading Language 2.4
supports the following GPU Features:
GPU Family Mac 2
Read-Write Texture Tier 1
[mvk-info] Created VkInstance for Vulkan version 1.1.0, as requested by app, with the following 3 Vulkan extensions enabled:
VK_KHR_surface v25
VK_EXT_metal_surface v1
VK_EXT_swapchain_colorspace v5
[mvk-info] Vulkan semaphores using MTLEvent.
[mvk-info] Descriptor sets binding resources using Metal argument buffers.
[mvk-info] Created VkDevice to run on GPU Intel Iris Pro Graphics with the following 2 Vulkan extensions enabled:
VK_KHR_sampler_mirror_clamp_to_edge v3
VK_KHR_swapchain v70
[mvk-info] Created 3 swapchain images with size (480, 360) and contents scale 1.0 in layer (null) (0x6000033fc3f0) on screen LED Cinema Display.
-[MTLHeapDescriptorInternal validateWithDevice:]:335: failed assertion `Heap Descriptor Validation
Placement heap type is not supported.
'
fish: Job 1, '/Applications/RetroArch.app/Con…' terminated by signal SIGABRT (Abort)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the crash with /Applications/RetroArch.app/Contents/MacOS/RetroArch on macOS 12.7.6 and compare the Vulkan/MoltenVK initialization shown in the log, especially the MTLHeapDescriptorInternal assertion. Trace the macOS graphics startup path responsible for the unsupported placement heap; done means the application launches without the SIGABRT on the reported Intel GPU.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, macos
- Domain
- desktop, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100