KhronosGroup / MoltenVK

MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enabling Vulkan applications to run on macOS, iOS and tvOS.
Apache License 2.0
4.71k stars 409 forks source link

CrossPost - Cemu emulator issue with "Corrupt pipeline cache when when booting game a 2nd time" #1779

Open rcaridade145 opened 1 year ago

rcaridade145 commented 1 year ago

https://github.com/cemu-project/Cemu/issues/396

[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Render pipeline compile failed (Error code 3): output of type float4 is not compatible with a MTLPixelFormatRGBA16Uint color attachement.. -[MTLVertexDescriptorInternal newSerializedDescriptor]:726: failed assertion `Serialized Descriptor Creation None of the attributes set bufferIndex to 29, but MTLVertexDescriptor set buffer layout[29].stride(16). '

cdavis5e commented 1 year ago
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Render pipeline compile failed (Error code 3):
output of type float4 is not compatible with a MTLPixelFormatRGBA16Uint color attachement..

What happens when you run your emulator with the Vulkan validation layer enabled? (You don't even have to do this on a Mac; you can use Linux or Windows for this as well.)

vesper8 commented 1 year ago

@cdavis5e happy to test this out for you and provide the output.. but can anyone first tell me how do I run Cemu with the Vulkan validation enabled please? I don't see that as an option in the UI so I guess I have to run the command with a special switch first?

rcaridade145 commented 1 year ago

imagem @vesper8

vesper8 commented 1 year ago

Appears that option is greyed out on Mac

Screenshot 2022-11-21 at 4 48 28 PM Screenshot 2022-11-21 at 4 48 56 PM Screenshot 2022-11-21 at 4 49 13 PM
vesper8 commented 1 year ago

Unsure if the message has changed but this is the output as of the latest experimental release


[mvk-info] MoltenVK version 1.2.0, supporting Vulkan version 1.2.231.
    The following 83 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_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_buffer_device_address v2
        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_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_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_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 v36
        VK_NV_fragment_shader_barycentric v1
        VK_NV_glsl_shader v1
[mvk-info] GPU device:
        model: Apple M1 Max
        type: Integrated
        vendorID: 0x106b
        deviceID: 0xd0003ef
        pipelineCacheUUID: 000027D8-0D00-03EF-0000-000000000000
    supports the following Metal Versions, GPU's and Feature Sets:
        Metal Shading Language 2.4
        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.2.231, as requested by app, with the following 3 Vulkan extensions enabled:
        VK_KHR_surface v25
        VK_EXT_debug_utils v2
        VK_EXT_metal_surface v1
[mvk-info] Vulkan semaphores using Metal implicit guarantees within a single queue.
[mvk-info] Created VkDevice to run on GPU Apple M1 Max with the following 3 Vulkan extensions enabled:
        VK_KHR_driver_properties v1
        VK_KHR_sampler_mirror_clamp_to_edge v3
        VK_KHR_swapchain v70
[mvk-info] Created 3 swapchain images with initial size (1280, 720) and contents scale 1.0 for screen Built-in Retina Display.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:261:1888: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _466 [[buffer(1)]], constant uniformBlockPS4& _2655 [[buffer(2)]], constant uniformBlockPS6& _933 [[buffer(3)]], constant uniformBlockPS8& _704 [[buffer(4)]], constant uniformBlockPS10& _1482 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ^
program_source:297:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:261:1888: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _441 [[buffer(1)]], constant uniformBlockPS4& _2655 [[buffer(2)]], constant uniformBlockPS6& _854 [[buffer(3)]], constant uniformBlockPS8& _2324 [[buffer(4)]], constant uniformBlockPS10& _965 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ^
program_source:296:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:261:1889: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _424 [[buffer(1)]], constant uniformBlockPS4& _2773 [[buffer(2)]], constant uniformBlockPS6& _1219 [[buffer(3)]], constant uniformBlockPS8& _805 [[buffer(4)]], constant uniformBlockPS10& _1457 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
program_source:298:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:262:1891: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _435 [[buffer(1)]], constant uniformBlockPS4& _2755 [[buffer(2)]], constant uniformBlockPS6& _1012 [[buffer(3)]], constant uniformBlockPS8& _609 [[buffer(4)]], constant uniformBlockPS10& _1016 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texture2d<float> textureUnitPS1 [[texture(1)]], texturecube_array<float> textureUnitPS2 [[texture(2)]], depth2d_array<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture2d<float> textureUnitPS10 [[texture(9)]], texture3d<float> textureUnitPS11 [[texture(10)]], texture2d_array<float> textureUnitPS12 [[texture(11)]], texture2d<float> textureUnitPS13 [[texture(12)]], texture2d<float> textureUnitPS14 [[texture(13)]], texture2d<float> textureUnitPS15 [[texture(14)]], texture2d<float> textureUnitPS16 [[texture(15)]], texture2d<float> textureUnitPS17 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS10Smplr [[sampler(9)]], sampler textureUnitPS11Smplr [[sampler(10)]], sampler textureUnitPS12Smplr [[sampler(11)]], sampler textureUnitPS13Smplr [[sampler(12)]], sampler textureUnitPS14Smplr [[sampler(13)]], sampler textureUnitPS15Smplr [[sampler(14)]], sampler textureUnitPS16Smplr [[sampler(15)]], sampler textureUnitPS17Smplr [[sampler(16)]], bool gl_FrontFacing [[front_facing]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ^
program_source:296:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:262:1939: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _468 [[buffer(1)]], constant uniformBlockPS4& _2855 [[buffer(2)]], constant uniformBlockPS6& _1484 [[buffer(3)]], constant uniformBlockPS8& _434 [[buffer(4)]], constant uniformBlockPS10& _2439 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texture2d<float> textureUnitPS1 [[texture(1)]], texturecube_array<float> textureUnitPS2 [[texture(2)]], depth2d_array<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture2d<float> textureUnitPS9 [[texture(9)]], texture3d<float> textureUnitPS10 [[texture(10)]], texture2d_array<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], texture2d<float> textureUnitPS17 [[texture(17)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]], sampler textureUnitPS17Smplr [[sampler(17)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ^
program_source:262:1985: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _468 [[buffer(1)]], constant uniformBlockPS4& _2855 [[buffer(2)]], constant uniformBlockPS6& _1484 [[buffer(3)]], constant uniformBlockPS8& _434 [[buffer(4)]], constant uniformBlockPS10& _2439 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texture2d<float> textureUnitPS1 [[texture(1)]], texturecube_array<float> textureUnitPS2 [[texture(2)]], depth2d_array<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture2d<float> textureUnitPS9 [[texture(9)]], texture3d<float> textureUnitPS10 [[texture(10)]], texture2d_array<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], texture2d<float> textureUnitPS17 [[texture(17)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]], sampler textureUnitPS17Smplr [[sampler(17)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
program_source:297:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:262:1889: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _451 [[buffer(1)]], constant uniformBlockPS4& _2716 [[buffer(2)]], constant uniformBlockPS6& _1191 [[buffer(3)]], constant uniformBlockPS8& _820 [[buffer(4)]], constant uniformBlockPS10& _1536 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
program_source:298:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:261:1889: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _433 [[buffer(1)]], constant uniformBlockPS4& _2723 [[buffer(2)]], constant uniformBlockPS6& _1047 [[buffer(3)]], constant uniformBlockPS8& _800 [[buffer(4)]], constant uniformBlockPS10& _1515 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
program_source:296:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:256:1841: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _461 [[buffer(1)]], constant uniformBlockPS6& _679 [[buffer(2)]], constant uniformBlockPS8& _1940 [[buffer(3)]], constant uniformBlockPS10& _862 [[buffer(4)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
program_source:292:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:262:1890: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _468 [[buffer(1)]], constant uniformBlockPS4& _2754 [[buffer(2)]], constant uniformBlockPS6& _922 [[buffer(3)]], constant uniformBlockPS8& _434 [[buffer(4)]], constant uniformBlockPS10& _2315 [[buffer(5)]], texture2d<float> textureUnitPS1 [[texture(0)]], texturecube_array<float> textureUnitPS2 [[texture(1)]], depth2d_array<float> textureUnitPS3 [[texture(2)]], texture2d<float> textureUnitPS4 [[texture(3)]], texture2d<float> textureUnitPS5 [[texture(4)]], texture2d<float> textureUnitPS6 [[texture(5)]], texture2d<float> textureUnitPS7 [[texture(6)]], texture2d<float> textureUnitPS8 [[texture(7)]], texture2d<float> textureUnitPS9 [[texture(8)]], texture3d<float> textureUnitPS10 [[texture(9)]], texture2d_array<float> textureUnitPS11 [[texture(10)]], texture2d<float> textureUnitPS12 [[texture(11)]], texture2d<float> textureUnitPS13 [[texture(12)]], texture2d<float> textureUnitPS14 [[texture(13)]], texture2d<float> textureUnitPS15 [[texture(14)]], texture2d<float> textureUnitPS16 [[texture(15)]], texture2d<float> textureUnitPS17 [[texture(16)]], sampler textureUnitPS1Smplr [[sampler(0)]], sampler textureUnitPS2Smplr [[sampler(1)]], sampler textureUnitPS3Smplr [[sampler(2)]], sampler textureUnitPS4Smplr [[sampler(3)]], sampler textureUnitPS5Smplr [[sampler(4)]], sampler textureUnitPS6Smplr [[sampler(5)]], sampler textureUnitPS7Smplr [[sampler(6)]], sampler textureUnitPS8Smplr [[sampler(7)]], sampler textureUnitPS9Smplr [[sampler(8)]], sampler textureUnitPS10Smplr [[sampler(9)]], sampler textureUnitPS11Smplr [[sampler(10)]], sampler textureUnitPS12Smplr [[sampler(11)]], sampler textureUnitPS13Smplr [[sampler(12)]], sampler textureUnitPS14Smplr [[sampler(13)]], sampler textureUnitPS15Smplr [[sampler(14)]], sampler textureUnitPS16Smplr [[sampler(15)]], sampler textureUnitPS17Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ^
program_source:297:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:261:1889: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _446 [[buffer(1)]], constant uniformBlockPS4& _2601 [[buffer(2)]], constant uniformBlockPS6& _1033 [[buffer(3)]], constant uniformBlockPS8& _812 [[buffer(4)]], constant uniformBlockPS10& _2084 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
program_source:297:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:260:1889: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15
fragment main0_out main0(main0_in in [[stage_in]], constant uniformBlockPS1& _444 [[buffer(1)]], constant uniformBlockPS4& _2646 [[buffer(2)]], constant uniformBlockPS6& _961 [[buffer(3)]], constant uniformBlockPS8& _2447 [[buffer(4)]], constant uniformBlockPS10& _2229 [[buffer(5)]], texture2d<float> textureUnitPS0 [[texture(0)]], texturecube_array<float> textureUnitPS1 [[texture(1)]], depth2d_array<float> textureUnitPS2 [[texture(2)]], texture2d<float> textureUnitPS3 [[texture(3)]], texture2d<float> textureUnitPS4 [[texture(4)]], texture2d<float> textureUnitPS5 [[texture(5)]], texture2d<float> textureUnitPS6 [[texture(6)]], texture2d<float> textureUnitPS7 [[texture(7)]], texture2d<float> textureUnitPS8 [[texture(8)]], texture3d<float> textureUnitPS9 [[texture(9)]], texture2d_array<float> textureUnitPS10 [[texture(10)]], texture2d<float> textureUnitPS11 [[texture(11)]], texture2d<float> textureUnitPS12 [[texture(12)]], texture2d<float> textureUnitPS13 [[texture(13)]], texture2d<float> textureUnitPS14 [[texture(14)]], texture2d<float> textureUnitPS15 [[texture(15)]], texture2d<float> textureUnitPS16 [[texture(16)]], sampler textureUnitPS0Smplr [[sampler(0)]], sampler textureUnitPS1Smplr [[sampler(1)]], sampler textureUnitPS2Smplr [[sampler(2)]], sampler textureUnitPS3Smplr [[sampler(3)]], sampler textureUnitPS4Smplr [[sampler(4)]], sampler textureUnitPS5Smplr [[sampler(5)]], sampler textureUnitPS6Smplr [[sampler(6)]], sampler textureUnitPS7Smplr [[sampler(7)]], sampler textureUnitPS8Smplr [[sampler(8)]], sampler textureUnitPS9Smplr [[sampler(9)]], sampler textureUnitPS10Smplr [[sampler(10)]], sampler textureUnitPS11Smplr [[sampler(11)]], sampler textureUnitPS12Smplr [[sampler(12)]], sampler textureUnitPS13Smplr [[sampler(13)]], sampler textureUnitPS14Smplr [[sampler(14)]], sampler textureUnitPS15Smplr [[sampler(15)]], sampler textureUnitPS16Smplr [[sampler(16)]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
program_source:294:10: warning: unused variable 'ARi'
    int4 ARi = int4(0);
         ^
.
libc++abi: terminating with uncaught exception of type std::runtime_error: Failed to create pipeline cache: -3
Abort trap: 6!
Error: signal 6:
0   Cemu                                0x000000010525d9dd _Z20handlerDumpingSignali + 93
1   libsystem_platform.dylib            0x00007ff81a6a1c1d _sigtramp + 29
2   ???                                 0x0000000000000000 0x0 + 0
3   libsystem_c.dylib                   0x00007ff81a5c0ca5 abort + 123
4   libc++abi.dylib                     0x00007ff81a631082 abort_message + 241
5   libc++abi.dylib                     0x00007ff81a622225 _ZL28demangling_terminate_handlerv + 242
6   libobjc.A.dylib                     0x00007ff81a321258 _ZL15_objc_terminatev + 104
7   libc++abi.dylib                     0x00007ff81a6304a5 _ZSt11__terminatePFvvE + 8
8   libc++abi.dylib                     0x00007ff81a632d05 __cxa_get_exception_ptr + 0
9   libc++abi.dylib                     0x00007ff81a632ccc _ZN10__cxxabiv1L22exception_cleanup_funcE19_Unwind_Reason_CodeP17_Unwind_Exception + 0
10  Cemu                                0x0000000104fa2f96 _ZN14VulkanRenderer10InitializeEv + 1814
11  Cemu                                0x0000000104f072ab _Z17Latte_ThreadEntryv + 443
12  Cemu                                0x0000000104e729ec _ZNSt3__114__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEPFivEEEEEEPvSA_ + 44
13  libsystem_pthread.dylib             0x00007ff81a677259 _pthread_start + 125
14  libsystem_pthread.dylib             0x00007ff81a672c7b thread_start + 15
cdavis5e commented 1 year ago

The generated shaders are using too many samplers--on Metal without argument buffers, you're limited to 16 samplers. Try enabling argument buffers--the limit on samplers is lifted in this case. (The easiest way to do this is to set MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS=1 in the program environment.)

@nastys's comment suggests it might be because the stack is too small. If you're doing this from a thread other than the main thread, increasing the stack size in the call to pthread_attr_setstacksize() might help.

JaimieVandenbergh commented 1 year ago

Setting MVK_CONFIG_USE_METAL_ARGUMENTBUFFERS=1 seems to work fine. Without: [mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3): programsource:261:1888: error: 'sampler' attribute parameter is out of bounds: must be between 0 and 15

With: _[mvk-error] VK_ERROR_INITIALIZATIONFAILED: Render pipeline compile failed (Error code 3): output of type float4 is not compatible with a MTLPixelFormatRGBA16Uint color attachement.. and it loads ok. Thanks to rcaridade145 on discord for mentioning this.

// later edit - it helps but savegames don't complete loading. Cemu project lead exzap has said none of this is MoltenVK's problem though.

bmargula commented 1 year ago

How can I set this Environment Variable when using the Cemu App on Mac?

cdavis5e commented 1 year ago

How can I set this Environment Variable when using the Cemu App on Mac?

You'll need to start it from Terminal. You can set it when you run open(1) to open the app:

env MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS=1 open /path/to/Cemu.app
Tiang-88 commented 1 year ago

Using this method to start, the game membership card cannot enter the file loading page

Tiang-88 commented 1 year ago

在 Mac 上使用 Cemu 应用程序时如何设置此环境变量?

您需要从终端启动它。您可以在运行open(1)打开应用程序时设置它:

env MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS=1 open /path/to/Cemu.app

Using this method to start, the game membership card cannot enter the file loading page

exqlnet commented 1 year ago

Any new ideas here?

Squall-Leonhart commented 1 year ago

try with 2.0-36