libretro / libretro/RetroArch

Apple: Mupen64plus Next with parallel rdp/rsp does not work at all (Apple Silicon) - black screen but input/sound work (older MoltenVK 1.28.x issue?)

Open
#18,993 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

This black screen issue has been reproduced now on two Apple Silicon devices:

  • Macbook Pro 13-inch M1 2020 (running macOS 13.2.1 Ventura) [GPU: M1] (Model: A2338)
  • Macbook Pro 16-inch M2 Max 2023 (running macOS 26.4.1 Tahoe) [GPU: M2 Max] (Model: A2780)

I have confirmed that it works on an Intel Mac:

  • Macbook Pro 16-inch 2019 (macOS 12.3 Montery) [GPU: AMD Radeon Pro 550M/Intel UHD Graphics 630] (Model: A2141)

It works on both AMD Radeon Pro 550M and Intel UHD Graphics 630 on model A2141

Expected behavior

It should show a picture like it does on model A2141 (see above)

Steps to reproduce the bug
  1. Start RetroArch with Vulkan/MoltenVK driver
  2. Start up Mupen64Plus Next with a game (does not matter which)
  3. Make sure in Core Options you have parallel-rdp set for RDP and parallel-rsp for RSP
  4. Close content, then restart (in case you needed to set settings correctly in step 3)
  5. You will get a black screen but you will hear sound and it will respond to input

This has been tested and reliably reproduced with a commandline build. You do that as follows:

  1. From the RetroArch source dir, type ./configure
  2. Type make (specify however many jobs you want, I do -j8 or -j16 for instance)
  3. Type make bundle
  4. Do open retroarch.app
Version/Commit

1.22.2 (stable) / Latest nightly (caeecd5463)

Bisect Results

No response

Present in the nightly version

Yes, this is reproduced in the nightly build

Platform & operating system

macOS

Affected Cores

Mupen64Plus Next with paraLLEl RDP/RSP

Environment information

No response

Relevant log output

This is on model A2780

libretro@libretros-MacBook-Pro MacOS % ./retroarch
[INFO] RetroArch 1.22.2 (Git caeecd5463)
[INFO] === Build =======================================
[INFO] CPU Model Name: Apple M2 Max
[INFO] Capabilities: NEON VFPV3 VFPV4
[INFO] Version: 1.22.2
[INFO] Git: caeecd5463
[INFO] Built: Apr 30 2026
[INFO] =================================================
[INFO] [Input] Found input driver: "cocoa".
[INFO] [Environ] SET_PIXEL_FORMAT: RGB565.
[INFO] [Core] Version of libretro API: 1, Compiled against API: 1
[INFO] [Core] Geometry: 320x240, Aspect: 1.333, FPS: 120.00, Sample rate: 48000.00 Hz.
[INFO] [Video] Set video size to: 1920x1200.
[INFO] [Vulkan] Vulkan dynamic library loaded.
[DEBUG] [Vulkan] Instance extension supported: VK_KHR_surface.
[DEBUG] [Vulkan] Instance extension supported: VK_EXT_metal_surface.
[mvk-info] MoltenVK version 1.2.8, supporting Vulkan version 1.2.280.
The following 109 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_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_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_integer_dot_product 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_KHR_vertex_attribute_divisor 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_hdr_metadata v2
VK_EXT_headless_surface v1
VK_EXT_host_query_reset v1
VK_EXT_image_robustness v1
VK_EXT_inline_uniform_block v1
VK_EXT_layer_settings v2
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_macos_surface v3
VK_MVK_moltenvk v37
VK_NV_fragment_shader_barycentric v1
VK_NV_glsl_shader v1
[mvk-info] GPU device:
model: Apple M2 Max
type: Integrated
vendorID: 0x106b
deviceID: 0x1a0403f0
pipelineCacheUUID: 048018BB-1A04-03F0-0000-000000000000
GPU memory available: 53084 MB
GPU memory used: 0 MB
supports the following Metal Versions, GPU's and Feature Sets:
Metal Shading Language 3.1
GPU Family Apple 8
GPU Family Apple 7
GPU Family Apple 6
GPU Family Apple 5
GPU Family Apple 4
GPU Family Apple 3
GPU Family Apple 2
GPU Family Apple 1
GPU Family Mac 2
GPU Family Mac 1
GPU Family Common 3
GPU Family Common 2
GPU Family Common 1
macOS GPU Family 2 v1
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 3 Vulkan extensions enabled:
VK_KHR_surface v25
VK_EXT_metal_surface v1
VK_EXT_swapchain_colorspace v4
[DEBUG] [Vulkan] Found vulkan context: "cocoavk".
[DEBUG] [Vulkan] Detecting screen resolution: 960x720.
[INFO] [Vulkan] Native window size: 1920x1200.
[INFO] [Vulkan] Found GPU #0: "Apple M2 Max".
[INFO] [Vulkan] Using GPU #0: "Apple M2 Max".
[INFO] [Vulkan] Queue family 0 supports 1 sub-queues.
[DEBUG] [Vulkan] Device extension supported: VK_KHR_swapchain.
[DEBUG] [Vulkan] Optional device extension supported: VK_KHR_sampler_mirror_clamp_to_edge.
[DEBUG] [Vulkan] Optional device extension NOT supported: VK_EXT_full_screen_exclusive.
[DEBUG] [Vulkan] Optional device extension supported: VK_KHR_portability_subset.
[mvk-info] Vulkan semaphores using MTLEvent.
[mvk-info] Created VkDevice to run on GPU Apple M2 Max with the following 3 Vulkan extensions enabled:
VK_KHR_portability_subset v1
VK_KHR_sampler_mirror_clamp_to_edge v3
VK_KHR_swapchain v70
[DEBUG] [Vulkan] Swapchain supports present mode: FIFO.
[DEBUG] [Vulkan] Swapchain supports present mode: IMMEDIATE.
[INFO] [Vulkan] Selecting R16G16B16A16_SFLOAT swapchain with scRGB colour space.
[mvk-info] Created 3 swapchain images with size (960, 720) and contents scale 2.0 in layer (null) (0xa6d17b060) on screen Built-in Retina Display.
[INFO] [Vulkan] Got 3 swapchain images.
[INFO] [Vulkan] Using resolution 2624x1644.
[INFO] [Vulkan] Using RGB565 format.
[INFO] [Vulkan] Loading stock shader.
[INFO] [Video] Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
[INFO] [Input] Found joypad driver: "mfi".
[INFO] [Video] Restored original display mode
[INFO] [Video] Stored original display mode for restoration
[DEBUG] [Video] Setting initial refresh rate to 120.000 Hz
[INFO] [Video] Found display server: "apple".
[INFO] [Audio] Set audio input rate to: 48000.00 Hz.
[INFO] [CoreAudio] Using output sample rate of 48000.0 Hz.
[INFO] [CoreAudio] Buffer: 8192 samples (32768 bytes, 85.3 ms).
[INFO] [Audio] Started synchronous audio driver.
[INFO] [Microphone] Initialized microphone driver.
[INFO] [CoreAudio macOS Mic] Found 4 total audio devices.
[INFO] [CoreAudio macOS Mic] Added input device: 'MacBook Pro Microphone' (UID: 'BuiltInMicrophoneDevice')
[INFO] [CoreAudio macOS Mic] Added input device: 'Steam Streaming Microphone' (UID: 'SteamStreamingMicrophone_UID')
[INFO] [CoreAudio macOS Mic] Added input device: 'Steam Streaming Speakers' (UID: 'SteamStreamingSpeakers_UID')
[INFO] [Display] Found display driver: "vulkan".
[INFO] [Playlist] Loading favorites file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_favorites.lpl".
[INFO] [Playlist] Loading history file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_history.lpl".
[INFO] [Playlist] Loading history file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_image_history.lpl".
[INFO] [Playlist] Loading history file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_music_history.lpl".
[INFO] [NS] starting draw observer
[DEBUG] [Audio] Stopped audio driver "coreaudio".
[DEBUG] [Vulkan] Creating swapchain with present mode: FIFO.
[INFO] [Vulkan] Selecting R16G16B16A16_SFLOAT swapchain with scRGB colour space.
[mvk-info] Created 3 swapchain images with size (2624, 1644) and contents scale 2.0 in layer (null) (0xa6d17b060) on screen Built-in Retina Display.
[ERROR] [Runtime] Invalid "play count" entry detected: "/Users/libretro/Library/Application Support/RetroArch/playlists/logs/Mupen64Plus-Next/Super Mario 64 (USA).lrtl".
[ERROR] [Runtime] Invalid "play count" entry detected: "/Users/libretro/Library/Application Support/RetroArch/playlists/logs/Mupen64Plus-Next/Super Mario 64 (USA).lrtl".
[INFO] [Environ] SET_SUBSYSTEM_INFO.
[DEBUG] Subsystem #1 "N64 Disk Drive", Ident: "ndd".
[DEBUG] "Disk" (required)
[DEBUG] "Cartridge" (required)
[DEBUG] Subsystem #2 "N64 Transferpak", Ident: "gb".
[DEBUG] "Gameboy RAM" (required)
[DEBUG] "Gameboy ROM" (required)
[DEBUG] "Cartridge" (required)
[DEBUG] Subsystems: 2.
[INFO] [Core] Using content: "/Users/libretro/ROMs/N64/Super Mario 64 (USA).z64".
[INFO] [Core] Unloading core...
[INFO] [Core] Unloading core symbols...
[mvk-info] Destroyed VkDevice on GPU Apple M2 Max with 3 Vulkan extensions enabled.
[mvk-info] Destroyed VkPhysicalDevice for GPU Apple M2 Max with 33 MB of GPU memory still allocated.
[mvk-info] Destroying VkInstance for Vulkan version 1.1.0 with 3 Vulkan extensions enabled.
[DEBUG] [Video] Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] RetroArch 1.22.2 (Git caeecd5463)
[INFO] === Build =======================================
[INFO] CPU Model Name: Apple M2 Max
[INFO] Capabilities: NEON VFPV3 VFPV4
[INFO] Version: 1.22.2
[INFO] Git: caeecd5463
[INFO] Built: Apr 30 2026
[INFO] =================================================
[INFO] [Input] Found input driver: "cocoa".
[INFO] [Environ] SET_SUBSYSTEM_INFO.
[DEBUG] Subsystem #1 "N64 Disk Drive", Ident: "ndd".
[DEBUG] "Disk" (required)
[DEBUG] "Cartridge" (required)
[DEBUG] Subsystem #2 "N64 Transferpak", Ident: "gb".
[DEBUG] "Gameboy RAM" (required)
[DEBUG] "Gameboy ROM" (required)
[DEBUG] "Cartridge" (required)
[DEBUG] Subsystems: 2.
[INFO] [Core] Loading dynamic libretro core from: "/Users/libretro/Library/Application Support/RetroArch/cores/mupen64plus_next_libretro.dylib".
[INFO] [Override] Redirecting save file to "/Users/libretro/Documents/RetroArch/saves/Super Mario 64 (USA).srm".
[INFO] [Override] Redirecting save state to "/Users/libretro/Documents/RetroArch/states/Super Mario 64 (USA).state".
[INFO] [Environ] GET_CORE_OPTIONS_VERSION.
[INFO] [Environ] SET_CORE_OPTIONS_V2.
[INFO] [Environ] SET_CONTROLLER_INFO.
[DEBUG] Port 1:
[DEBUG] "Controller" (1)
[DEBUG] "RetroPad" (1)
[DEBUG] Port 2:
[DEBUG] "Controller" (1)
[DEBUG] "RetroPad" (1)
[DEBUG] Port 3:
[DEBUG] "Controller" (1)
[DEBUG] "RetroPad" (1)
[DEBUG] Port 4:
[DEBUG] "Controller" (1)
[DEBUG] "RetroPad" (1)
[INFO] [Environ] GET_SYSTEM_DIRECTORY: "/Users/libretro/Documents/RetroArch/system".
[INFO] [Environ] GET_SYSTEM_DIRECTORY: "/Users/libretro/Documents/RetroArch/system".
[INFO] [Environ] GET_LOG_INTERFACE.
[INFO] [Environ] GET_PERF_INTERFACE.
[INFO] [Environ] SET_PIXEL_FORMAT: XRGB8888.
[INFO] [Environ] GET_RUMBLE_INTERFACE.
[libretro INFO] mupen64plus: Using full mem base
[INFO] [Environ] GET_SYSTEM_DIRECTORY: "/Users/libretro/Documents/RetroArch/system".
[INFO] [Content] Loading content file: "/Users/libretro/ROMs/N64/Super Mario 64 (USA).z64".
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-rdp-plugin = "parallel"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-rsp-plugin = "parallel"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-ThreadedRenderer = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-BilinearMode = "standard"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-HybridFilter = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-DitheringPattern = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-DitheringQuantization = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-RDRAMImageDitheringMode = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-FXAA = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-MultiSampling = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-FrameDuping = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-Framerate = "Original"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-virefresh = "Auto"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableLODEmulation = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableFBEmulation = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableN64DepthCompare = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableCopyColorToRDRAM = "Async"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableCopyColorFromRDRAM = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableCopyDepthToRDRAM = "Software"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableHWLighting = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-CorrectTexrectCoords = "Off"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableTexCoordBounds = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableInaccurateTextureCoordinates = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-BackgroundMode = "OnePiece"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableNativeResTexrects = "Disabled"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-txFilterMode = "None"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-txEnhancementMode = "None"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-txFilterIgnoreBG = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-txHiresEnable = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-txCacheCompression = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-txHiresFullAlphaChannel = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-MaxHiResTxVramLimit = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-MaxTxCacheSize = "8000"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableLegacyBlending = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableFragmentDepthWrite = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableShadersStorage = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableTextureCache = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableEnhancedTextureStorage = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableEnhancedHighResStorage = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableHiResAltCRC = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableCopyAuxToRDRAM = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-GLideN64IniBehaviour = "late"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-cpucore = "cached_interpreter"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-aspect = "4:3"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableNativeResFactor = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-43screensize = "640x480"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-CountPerOp = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-CountPerOpDenomPot = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-EnableOverscan = "Enabled"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-OverscanTop = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-OverscanLeft = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-OverscanRight = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-OverscanBottom = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-ForceDisableExtraMem = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-IgnoreTLBExceptions = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-synchronous = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-overscan = "0"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-divot-filter = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-gamma-dither = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-vi-aa = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-vi-bilinear = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-dither-filter = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-upscaling = "2x"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-super-sampled-read-back = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-super-sampled-read-back-dither = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-downscaling = "disable"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-native-texture-lod = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-native-tex-rect = "True"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-parallel-rdp-deinterlace-method = "Bob"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-pak1 = "memory"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-pak2 = "none"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-pak3 = "none"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-pak4 = "none"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-astick-deadzone = "15"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-astick-sensitivity = "100"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-r-cbutton = "C1"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-l-cbutton = "C2"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-d-cbutton = "C3"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-u-cbutton = "C4"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-alt-map = "False"
[DEBUG] [Environ] GET_VARIABLE: mupen64plus-rdp-plugin = "parallel"
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-43screensize = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-169screensize = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-aspect = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableNativeResFactor = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-ThreadedRenderer = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-BilinearMode = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-HybridFilter = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-DitheringPattern = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-DitheringQuantization = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-RDRAMImageDitheringMode = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-MultiSampling = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-FXAA = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableLODEmulation = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableFBEmulation = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableCopyAuxToRDRAM = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableCopyColorToRDRAM = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableCopyColorFromRDRAM = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableCopyDepthToRDRAM = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-BackgroundMode = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableHWLighting = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-CorrectTexrectCoords = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableInaccurateTextureCoordinates = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableTexCoordBounds = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableNativeResTexrects = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableLegacyBlending = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableFragmentDepthWrite = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableN64DepthCompare = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableShadersStorage = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableTextureCache = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableOverscan = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-OverscanTop = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-OverscanLeft = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-OverscanRight = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-OverscanBottom = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-MaxHiResTxVramLimit = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-MaxTxCacheSize = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-txFilterMode = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-txEnhancementMode = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-txFilterIgnoreBG = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-txHiresEnable = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-txCacheCompression = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-txHiresFullAlphaChannel = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableEnhancedTextureStorage = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableHiResAltCRC = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-EnableEnhancedHighResStorage = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-GLideN64IniBehaviour = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-synchronous = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-overscan = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-divot-filter = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-gamma-dither = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-vi-aa = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-vi-bilinear = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-dither-filter = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-upscaling = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-super-sampled-read-back = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-super-sampled-read-back-dither = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-downscaling = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-native-texture-lod = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-native-tex-rect = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-parallel-rdp-deinterlace-method = visible
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-angrylion-vioverlay = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-angrylion-sync = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-angrylion-multithread = hidden
[DEBUG] [Environ] SET_CORE_OPTIONS_DISPLAY: mupen64plus-angrylion-overscan = hidden
[INFO] [Environ] SET_HW_RENDER, context type: vulkan.
[INFO] [HW] Requesting Vulkan context.
[INFO] [Environ] SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE.
[libretro DEBUG] mupen64plus: [EmuThread] M64CMD_ROM_OPEN
[libretro INFO] mupen64plus: Goodname: Super Mario 64 (U) [!]
[libretro INFO] mupen64plus: Name: SUPER MARIO 64
[libretro INFO] mupen64plus: MD5: 20B854B239203BAF6C961B850A4A51A2
[libretro INFO] mupen64plus: CRC: 635A2BFF 8B022326
[libretro INFO] mupen64plus: Imagetype: .z64 (native)
[libretro INFO] mupen64plus: Rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
[libretro INFO] mupen64plus: ClockRate = F
[libretro INFO] mupen64plus: Version: 1444
[libretro INFO] mupen64plus: Manufacturer: Nintendo
[libretro INFO] mupen64plus: Cartridge_ID: 4D53
[libretro INFO] mupen64plus: Country: USA
[libretro INFO] mupen64plus: PC = 80246000
[libretro INFO] mupen64plus: Save type: 0
[libretro DEBUG] mupen64plus: [EmuThread] M64CMD_ROM_GET_HEADER
[INFO] [Core] Version of libretro API: 1, Compiled against API: 1
[INFO] [Core] Geometry: 640x480, Aspect: 1.333, FPS: 60.00, Sample rate: 44100.00 Hz.
[INFO] [Video] Set video size to: 1920x1200.
[INFO] [Video] Using HW render, vulkan driver forced.
[INFO] [Vulkan] Vulkan dynamic library loaded.
[DEBUG] [Vulkan] Instance extension supported: VK_KHR_surface.
[DEBUG] [Vulkan] Instance extension supported: VK_EXT_metal_surface.
[mvk-info] MoltenVK version 1.2.8, supporting Vulkan version 1.2.280.
The following 109 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_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_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_integer_dot_product 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_KHR_vertex_attribute_divisor 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_hdr_metadata v2
VK_EXT_headless_surface v1
VK_EXT_host_query_reset v1
VK_EXT_image_robustness v1
VK_EXT_inline_uniform_block v1
VK_EXT_layer_settings v2
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_macos_surface v3
VK_MVK_moltenvk v37
VK_NV_fragment_shader_barycentric v1
VK_NV_glsl_shader v1
[mvk-info] GPU device:
model: Apple M2 Max
type: Integrated
vendorID: 0x106b
deviceID: 0x1a0403f0
pipelineCacheUUID: 048018BB-1A04-03F0-0000-000000000000
GPU memory available: 53084 MB
GPU memory used: 33 MB
supports the following Metal Versions, GPU's and Feature Sets:
Metal Shading Language 3.1
GPU Family Apple 8
GPU Family Apple 7
GPU Family Apple 6
GPU Family Apple 5
GPU Family Apple 4
GPU Family Apple 3
GPU Family Apple 2
GPU Family Apple 1
GPU Family Mac 2
GPU Family Mac 1
GPU Family Common 3
GPU Family Common 2
GPU Family Common 1
macOS GPU Family 2 v1
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 3 Vulkan extensions enabled:
VK_KHR_surface v25
VK_EXT_metal_surface v1
VK_EXT_swapchain_colorspace v4
[DEBUG] [Vulkan] Found vulkan context: "cocoavk".
[DEBUG] [Vulkan] Detecting screen resolution: 2624x1644.
[INFO] [Vulkan] Native window size: 1920x1200.
[INFO] [Vulkan] Got HW context negotiation interface 2.
[INFO] [Vulkan] Found GPU #0: "Apple M2 Max".
[INFO] [Vulkan] Using GPU #0: "Apple M2 Max".
[INFO]: Layer count: 1
[INFO]: Found layer: MoltenVK.
[INFO]: Enabling instance extension: VK_EXT_debug_utils.
[INFO]: Using Vulkan GPU: Apple M2 Max
[INFO]: Enabling device extension: VK_KHR_swapchain.
[INFO]: Enabling device extension: VK_KHR_sampler_mirror_clamp_to_edge.
[INFO]: Enabling device extension: VK_EXT_calibrated_timestamps.
[INFO]: Enabling device extension: VK_KHR_image_format_list.
[INFO]: Enabling device extension: VK_KHR_shader_float_controls.
[INFO]: Enabling device extension: VK_KHR_8bit_storage.
[INFO]: Enabling device extension: VK_KHR_16bit_storage.
[INFO]: Enabling device extension: VK_KHR_shader_float16_int8.
[INFO]: Enabling device extension: VK_EXT_subgroup_size_control.
[INFO]: Enabling device extension: VK_EXT_host_query_reset.
[INFO]: Enabling device extension: VK_EXT_shader_demote_to_helper_invocation.
[INFO]: Enabling device extension: VK_EXT_scalar_block_layout.
[INFO]: Enabling device extension: VK_KHR_uniform_buffer_standard_layout.
[INFO]: Enabling device extension: VK_KHR_timeline_semaphore.
[INFO]: Enabling device extension: VK_EXT_memory_budget.
[INFO]: Enabling device extension: VK_EXT_texture_compression_astc_hdr.
[INFO]: Enabling device extension: VK_KHR_synchronization2.
[INFO]: Enabling device extension: VK_EXT_pipeline_creation_cache_control.
[INFO]: Enabling device extension: VK_KHR_format_feature_flags2.
[mvk-info] Vulkan semaphores using MTLEvent.
[mvk-info] Created VkDevice to run on GPU Apple M2 Max with the following 19 Vulkan extensions enabled:
VK_KHR_16bit_storage v1
VK_KHR_8bit_storage v1
VK_KHR_format_feature_flags2 v2
VK_KHR_image_format_list v1
VK_KHR_sampler_mirror_clamp_to_edge v3
VK_KHR_shader_float_controls v4
VK_KHR_shader_float16_int8 v1
VK_KHR_swapchain v70
VK_KHR_synchronization2 v1
VK_KHR_timeline_semaphore v2
VK_KHR_uniform_buffer_standard_layout v1
VK_EXT_calibrated_timestamps v2
VK_EXT_host_query_reset v1
VK_EXT_memory_budget v1
VK_EXT_pipeline_creation_cache_control v3
VK_EXT_scalar_block_layout v1
VK_EXT_shader_demote_to_helper_invocation v1
VK_EXT_subgroup_size_control v2
VK_EXT_texture_compression_astc_hdr v1
[DEBUG] [Vulkan] Swapchain supports present mode: FIFO.
[DEBUG] [Vulkan] Swapchain supports present mode: IMMEDIATE.
[INFO] [Vulkan] Selecting R16G16B16A16_SFLOAT swapchain with scRGB colour space.
[mvk-info] Created 3 swapchain images with size (2624, 1644) and contents scale 2.0 in layer (null) (0xa6d17b060) on screen Built-in Retina Display.
[INFO] [Vulkan] Got 3 swapchain images.
[INFO] [Vulkan] Using resolution 2624x1644.
[INFO] [Vulkan] Using BGRA8888 format.
[INFO] [Vulkan] Loading stock shader.
[INFO] [Video] Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
[INFO] [Input] Found joypad driver: "mfi".
[INFO] [Video] Restored original display mode
[INFO] [Video] Stored original display mode for restoration
[DEBUG] [Video] Setting initial refresh rate to 120.000 Hz
[INFO] [Video] Found display server: "apple".
plugin_start_gfx
[INFO] [Environ] SET_INPUT_DESCRIPTORS.
[DEBUG] Port 1:
[DEBUG] "D-Pad Up" => "D-Pad Up"
[DEBUG] "D-Pad Down" => "D-Pad Down"
[DEBUG] "D-Pad Left" => "D-Pad Left"
[DEBUG] "D-Pad Right" => "D-Pad Right"
[DEBUG] "B Button (Down)" => "A Button (C3)"
[DEBUG] "A Button (Right)" => "(C1)"
[DEBUG] "Y Button (Left)" => "B Button (C2)"
[DEBUG] "X Button (Top)" => "(C4)"
[DEBUG] "Start Button" => "Start"
[DEBUG] "L Button (Shoulder)" => "L Shoulder"
[DEBUG] "R Button (Shoulder)" => "R Shoulder"
[DEBUG] "L2 Button (Trigger)" => "Z Trigger"
[DEBUG] "R2 Button (Trigger)" => "C Buttons Mode"
[DEBUG] "Left Analog Y- (Up)" => "Control Stick Y"
[DEBUG] "Left Analog Y+ (Down)" => "Control Stick Y"
[DEBUG] "Left Analog X- (Left)" => "Control Stick X"
[DEBUG] "Left Analog X+ (Right)" => "Control Stick X"
[DEBUG] "Right Analog Y- (Up)" => "C Buttons Y"
[DEBUG] "Right Analog Y+ (Down)" => "C Buttons Y"
[DEBUG] "Right Analog X- (Left)" => "C Buttons X"
[DEBUG] "Right Analog X+ (Right)" => "C Buttons X"
[DEBUG] Port 2:
[DEBUG] "D-Pad Up" => "D-Pad Up"
[DEBUG] "D-Pad Down" => "D-Pad Down"
[DEBUG] "D-Pad Left" => "D-Pad Left"
[DEBUG] "D-Pad Right" => "D-Pad Right"
[DEBUG] "B Button (Down)" => "A Button (C3)"
[DEBUG] "A Button (Right)" => "(C1)"
[DEBUG] "Y Button (Left)" => "B Button (C2)"
[DEBUG] "X Button (Top)" => "(C4)"
[DEBUG] "Start Button" => "Start"
[DEBUG] "L Button (Shoulder)" => "L Shoulder"
[DEBUG] "R Button (Shoulder)" => "R Shoulder"
[DEBUG] "L2 Button (Trigger)" => "Z Trigger"
[DEBUG] "R2 Button (Trigger)" => "C Buttons Mode"
[DEBUG] "Left Analog Y- (Up)" => "Control Stick Y"
[DEBUG] "Left Analog Y+ (Down)" => "Control Stick Y"
[DEBUG] "Left Analog X- (Left)" => "Control Stick X"
[DEBUG] "Left Analog X+ (Right)" => "Control Stick X"
[DEBUG] "Right Analog Y- (Up)" => "C Buttons Y"
[DEBUG] "Right Analog Y+ (Down)" => "C Buttons Y"
[DEBUG] "Right Analog X- (Left)" => "C Buttons X"
[DEBUG] "Right Analog X+ (Right)" => "C Buttons X"
[DEBUG] Port 3:
[DEBUG] "D-Pad Up" => "D-Pad Up"
[DEBUG] "D-Pad Down" => "D-Pad Down"
[DEBUG] "D-Pad Left" => "D-Pad Left"
[DEBUG] "D-Pad Right" => "D-Pad Right"
[DEBUG] "B Button (Down)" => "A Button (C3)"
[DEBUG] "A Button (Right)" => "(C1)"
[DEBUG] "Y Button (Left)" => "B Button (C2)"
[DEBUG] "X Button (Top)" => "(C4)"
[DEBUG] "Start Button" => "Start"
[DEBUG] "L Button (Shoulder)" => "L Shoulder"
[DEBUG] "R Button (Shoulder)" => "R Shoulder"
[DEBUG] "L2 Button (Trigger)" => "Z Trigger"
[DEBUG] "R2 Button (Trigger)" => "C Buttons Mode"
[DEBUG] "Left Analog Y- (Up)" => "Control Stick Y"
[DEBUG] "Left Analog Y+ (Down)" => "Control Stick Y"
[DEBUG] "Left Analog X- (Left)" => "Control Stick X"
[DEBUG] "Left Analog X+ (Right)" => "Control Stick X"
[DEBUG] "Right Analog Y- (Up)" => "C Buttons Y"
[DEBUG] "Right Analog Y+ (Down)" => "C Buttons Y"
[DEBUG] "Right Analog X- (Left)" => "C Buttons X"
[DEBUG] "Right Analog X+ (Right)" => "C Buttons X"
[DEBUG] Port 4:
[DEBUG] "D-Pad Up" => "D-Pad Up"
[DEBUG] "D-Pad Down" => "D-Pad Down"
[DEBUG] "D-Pad Left" => "D-Pad Left"
[DEBUG] "D-Pad Right" => "D-Pad Right"
[DEBUG] "B Button (Down)" => "A Button (C3)"
[DEBUG] "A Button (Right)" => "(C1)"
[DEBUG] "Y Button (Left)" => "B Button (C2)"
[DEBUG] "X Button (Top)" => "(C4)"
[DEBUG] "Start Button" => "Start"
[DEBUG] "L Button (Shoulder)" => "L Shoulder"
[DEBUG] "R Button (Shoulder)" => "R Shoulder"
[DEBUG] "L2 Button (Trigger)" => "Z Trigger"
[DEBUG] "R2 Button (Trigger)" => "C Buttons Mode"
[DEBUG] "Left Analog Y- (Up)" => "Control Stick Y"
[DEBUG] "Left Analog Y+ (Down)" => "Control Stick Y"
[DEBUG] "Left Analog X- (Left)" => "Control Stick X"
[DEBUG] "Left Analog X+ (Right)" => "Control Stick X"
[DEBUG] "Right Analog Y- (Up)" => "C Buttons Y"
[DEBUG] "Right Analog Y+ (Down)" => "C Buttons Y"
[DEBUG] "Right Analog X- (Left)" => "C Buttons X"
[DEBUG] "Right Analog X+ (Right)" => "C Buttons X"
[DEBUG] Port 5:
[INFO] [Audio] Set audio input rate to: 44100.00 Hz.
[INFO] [CoreAudio] Using output sample rate of 48000.0 Hz.
[INFO] [CoreAudio] Buffer: 8192 samples (32768 bytes, 85.3 ms).
[INFO] [Audio] Started synchronous audio driver.
[INFO] [Microphone] Initialized microphone driver.
[INFO] [CoreAudio macOS Mic] Found 4 total audio devices.
[INFO] [CoreAudio macOS Mic] Added input device: 'MacBook Pro Microphone' (UID: 'BuiltInMicrophoneDevice')
[INFO] [CoreAudio macOS Mic] Added input device: 'Steam Streaming Microphone' (UID: 'SteamStreamingMicrophone_UID')
[INFO] [CoreAudio macOS Mic] Added input device: 'Steam Streaming Speakers' (UID: 'SteamStreamingSpeakers_UID')
[INFO] [Display] Found display driver: "vulkan".
[INFO] [Environ] SET_SUBSYSTEM_INFO.
[DEBUG] Subsystem #1 "N64 Disk Drive", Ident: "ndd".
[DEBUG] "Disk" (required)
[DEBUG] "Cartridge" (required)
[DEBUG] Subsystem #2 "N64 Transferpak", Ident: "gb".
[DEBUG] "Gameboy RAM" (required)
[DEBUG] "Gameboy ROM" (required)
[DEBUG] "Cartridge" (required)
[DEBUG] Subsystems: 2.
[INFO] [Playlist] Loading favorites file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_favorites.lpl".
[INFO] [Playlist] Loading history file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_history.lpl".
[INFO] [Playlist] Loading history file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_image_history.lpl".
[INFO] [Playlist] Loading history file: "/Users/libretro/Library/Application Support/RetroArch/playlists/builtin/content_music_history.lpl".
[DEBUG] [Audio] Started audio driver "coreaudio" (is_shutdown=false)
[libretro DEBUG] mupen64plus: [EmuThread] M64CMD_EXECUTE
[libretro INFO] mupen64plus: Game controller 0 (Standard controller) has a Memory pak plugged in
[libretro INFO] mupen64plus: Game controller 1 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Game controller 2 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Game controller 3 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Using CIC type X102
[INFO] [Environ] SET_MEMORY_MAPS.
[DEBUG] ndx flags ptr offset start select disconn len addrspace
[DEBUG] 001 M1A1bc 0x5c0c00000 00000000 80000000 20000000 C0000000 00800000
[DEBUG] 002 M1A1bc 0x5c0c00000 00000000 A0000000 00000000 00000000 00800000
[DEBUG] 003 M1A1bc 0x12c10c7c8 00000000 A3F00000 00000000 00000000 000FFFFF
[DEBUG] 004 M1A1bc 0x5c4c00000 00000000 A4000000 00000000 00000000 0000FFFF
[DEBUG] 005 M1A1bc 0x12c10c490 00000000 A4040000 00000000 00000000 0000FFFF
[DEBUG] 006 M1A1bc 0x12c10c4b0 00000000 A4080000 00000000 00000000 0000FFFF
[DEBUG] 007 M1A1bc 0x12c10bbc0 00000000 A4100000 00000000 00000000 0000FFFF
[DEBUG] 008 M1A1bc 0x12c10bbe0 00000000 A4200000 00000000 00000000 0000FFFF
[DEBUG] 009 M1A1bc 0x12c10c560 00000000 A4300000 00000000 00000000 0000FFFF
[DEBUG] 010 M1A1bc 0x12c10c648 00000000 A4400000 00000000 00000000 0000FFFF
[DEBUG] 011 M1A1bc 0x12c10c4f8 00000000 A4500000 00000000 00000000 0000FFFF
[DEBUG] 012 M1A1bc 0x12c10c578 00000000 A4600000 00000000 00000000 0000FFFF
[DEBUG] 013 M1A1bc 0x12c10c5e0 00000000 A4700000 00000000 00000000 0000FFFF
[DEBUG] 014 M1A1bc 0x12c10c608 00000000 A4800000 00000000 00000000 0000FFFF
[DEBUG] 015 M1A1bc 0x12c28f028 00000000 A8000000 00000000 00000000 0001FFFF
[DEBUG] 016 M1A1bC 0x5d0c00000 00000000 B0000000 00000000 00000000 007FFFFF
[DEBUG] 017 M1A1bC 0x5e0800000 00000000 BFC00000 00000000 00000000 000007C0
[DEBUG] 018 M1A1bc 0x5e08007c0 00000000 BFC007C0 00000000 00000000 00000040
[WARN]: Emulating events as pipeline barriers on Metal emulation.
[libretro INFO] Using 3 sync frames for parallel-RDP.
[libretro WARN] VK_EXT_external_memory_host is not supported by this device. Application might run slower because of this.
[libretro INFO] Using 2x upscaling!
[libretro INFO] paraLLEl-RDP: Using RDRAM size of 8388608 bytes.
[WARN]: VK_EXT_external_memory_host not supported or failed, falling back to a slower path.
[INFO]: Enabling upscaling: 2x.
[INFO]: Enabling 8 and 16-bit integer arithmetic support for more efficient shaders!
[libretro INFO] mupen64plus: Initializing 4 RDRAM modules for a total of 8 MB
[libretro INFO] mupen64plus: Starting R4300 emulator: Cached Interpreter
[mvk-error] SPIR-V to MSL conversion error: Argument buffer resource base type could not be determined. When padding argument buffer elements, all descriptor set resources must be supplied with a base type by the app.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] SPIR-V to MSL conversion error: Argument buffer resource base type could not be determined. When padding argument buffer elements, all descriptor set resources must be supplied with a base type by the app.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[WARN]: Stalled compile (compute, fd45ee6f56defa2b): thread 0 - 11415.125 us (mode: sync, success: no).
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[mvk-error] SPIR-V to MSL conversion error: Argument buffer resource base type could not be determined. When padding argument buffer elements, all descriptor set resources must be supplied with a base type by the app.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] SPIR-V to MSL conversion error: Argument buffer resource base type could not be determined. When padding argument buffer elements, all descriptor set resources must be supplied with a base type by the app.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!
[ERROR]: Failed to flush render state, dispatch will be dropped.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Compute shader function could not be compiled into pipeline. See previous logged error.
[ERROR]: Failed to create compute pipeline!

Then an endless spam of VK_ERROR_INVALID_SHADER_NV until I exit the program


Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure from the RetroArch source directory using ./configure, make, and make bundle, then launch retroarch.app with the Vulkan/MoltenVK driver. Focus on Mupen64Plus Next with parallel-rdp and parallel-rsp enabled, comparing Apple Silicon with the working Intel Mac behavior described in the issue. Done means the affected Apple Silicon systems display the game picture while retaining input and sound.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, macos
Domain
computer-graphics, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.