Skip to content
New issue

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

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

Already on GitHub? # to your account

iOS VK shader compilation error #506

Open
titanix opened this issue Dec 9, 2024 · 1 comment
Open

iOS VK shader compilation error #506

titanix opened this issue Dec 9, 2024 · 1 comment

Comments

@titanix
Copy link

titanix commented Dec 9, 2024

I compiled the native libs (btw the script needs a patch since moltenVK .a lib path is created into a sub-folder now) and added to a new project, along with the latest clone of FNA. My dev env is M1 Pro MBP running Sonoma.

When I run the project using the recommended dotnet build -t:Run -f net8.0-ios, the game launch fine on the simulator as long as it's only tasked to display CornflowerBlue.

Once I try to draw a sprite, the game immediately exists after launch with the following error:

[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:92:51: error: use of undeclared identifier 'ps_s0Smplr'
    float4 ps_r0 = spvTextureSwizzle(ps_s0.sample(ps_s0Smplr, ps_t0.xy), ps_s0Swzl);

Here is the complete execution trace:

dotnet build -t:Run -f net8.0-ios
  Determining projects to restore...
  All projects are up-to-date for restore.
  Detected signing identity:
          
    Bundle Id: com.companyname.TestFNA
    App Id: com.companyname.TestFNA
  No property overrides found at '/Users/xxx/Code/TestFNA/Game/FNA.Settings.props'
  FNA.Core -> /Users/xxx/Code/TestFNA/FNA/bin/Debug/net8.0/FNA.dll
/Users/xxx/Code/TestFNA/Game/Main.cs(53,12): warning CS8618: Non-nullable field 'batch' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. [/Users/xxx/Code/TestFNA/Game/TestFNA.csproj]
/Users/xxx/Code/TestFNA/Game/Main.cs(53,12): warning CS8618: Non-nullable field 'texture' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. [/Users/xxx/Code/TestFNA/Game/TestFNA.csproj]
/Users/xxx/Code/TestFNA/Game/Main.cs(29,21): warning CS8618: Non-nullable field 'realArgs' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. [/Users/xxx/Code/TestFNA/Game/TestFNA.csproj]
  TestFNA -> /Users/xxx/Code/TestFNA/Game/bin/Debug/net8.0-ios/iossimulator-arm64/TestFNA.dll
  Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Optimizing assemblies for size. This process might take a while.
  xcrun simctl launch --stdout=/dev/ttys000 --stderr=/dev/ttys010 --terminate-running-process 942C62CF-0FE4-4A3A-9477-0706C28B1452 com.companyname.TestFNA
  com.companyname.TestFNA: 6150
2024-12-09 23:55:22.337768+0100 TestFNA[6150:8033809] Microsoft.iOS: Socket error while connecting to IDE on 127.0.0.1:10000: Connection refused
2024-12-09 23:55:23.015505+0100 TestFNA[6150:8033794] You need UIApplicationSupportsIndirectInputEvents in your Info.plist for mouse support
[mvk-info] MoltenVK version 1.2.12, supporting Vulkan version 1.2.296.
	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_headless_surface v1
	VK_EXT_host_image_copy 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 v2
	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 v5
	VK_EXT_swapchain_maintenance1 v1
	VK_EXT_texel_buffer_alignment v1
	VK_EXT_texture_compression_astc_hdr v1
	VK_EXT_vertex_attribute_divisor v3
	VK_AMD_gpu_shader_half_float v2
	VK_AMD_negative_viewport_height v1
	VK_AMD_shader_image_load_store_lod v1
	VK_AMD_shader_trinary_minmax v1
	VK_IMG_format_pvrtc v1
	VK_INTEL_shader_integer_functions2 v1
	VK_GOOGLE_display_timing v1
	VK_MVK_ios_surface v3
	VK_MVK_moltenvk v37
	VK_NV_fragment_shader_barycentric v1
	VK_NV_glsl_shader v1
[mvk-info] GPU device:
	model: Apple iOS simulator GPU
	type: Integrated
	vendorID: 0x106b
	deviceID: 0x12010002
	pipelineCacheUUID: 1D2EC638-1201-0002-0000-000100000000
	GPU memory available: 0 MB
	GPU memory used: 0 MB
	Metal Shading Language 3.2
	supports the following GPU Features:
		GPU Family Apple 2
		Read-Write Texture Tier 1
[mvk-info] Created VkInstance for Vulkan version 1.0.0, as requested by app, with the following 3 Vulkan extensions enabled:
	VK_KHR_get_physical_device_properties2 v2
	VK_KHR_surface v25
	VK_EXT_metal_surface v1
[mvk-info] Destroyed VkPhysicalDevice for GPU Apple iOS simulator GPU with 0 MB of GPU memory still allocated.
[mvk-info] Destroying VkInstance for Vulkan version 1.0.0 with 3 Vulkan extensions enabled.
2024-12-09 23:55:23.077414+0100 TestFNA[6150:8033794] Setting SupportedOrientations has no effect!
2024-12-09 23:55:23.079114+0100 TestFNA[6150:8033794] Validation layers not found, continuing without validation
[mvk-info] MoltenVK version 1.2.12, supporting Vulkan version 1.2.296.
	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_headless_surface v1
	VK_EXT_host_image_copy 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 v2
	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 v5
	VK_EXT_swapchain_maintenance1 v1
	VK_EXT_texel_buffer_alignment v1
	VK_EXT_texture_compression_astc_hdr v1
	VK_EXT_vertex_attribute_divisor v3
	VK_AMD_gpu_shader_half_float v2
	VK_AMD_negative_viewport_height v1
	VK_AMD_shader_image_load_store_lod v1
	VK_AMD_shader_trinary_minmax v1
	VK_IMG_format_pvrtc v1
	VK_INTEL_shader_integer_functions2 v1
	VK_GOOGLE_display_timing v1
	VK_MVK_ios_surface v3
	VK_MVK_moltenvk v37
	VK_NV_fragment_shader_barycentric v1
	VK_NV_glsl_shader v1
2024-12-09 23:55:23.080379+0100 TestFNA[6150:8033794] VULKAN DEBUG: MoltenVK version 1.2.12, supporting Vulkan version 1.2.296.
	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
2024-12-09 23:55:23.080462+0100 TestFNA[6150:8033794] 	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
2024-12-09 23:55:23.080781+0100 TestFNA[6150:8033794] 	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
2024-12-09 23:55:23.080829+0100 TestFNA[6150:8033794] 	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_l
[mvk-info] GPU device:
	model: Apple iOS simulator GPU
	type: Integrated
	vendorID: 0x106b
	deviceID: 0x12010002
	pipelineCacheUUID: 1D2EC638-1201-0002-0000-000100000000
	GPU memory available: 0 MB
	GPU memory used: 0 MB
	Metal Shading Language 3.2
	supports the following GPU Features:
		GPU Family Apple 2
		Read-Write Texture Tier 1
2024-12-09 23:55:23.081997+0100 TestFNA[6150:8033794] VULKAN DEBUG: GPU device:
	model: Apple iOS simulator GPU
	type: Integrated
	vendorID: 0x106b
	deviceID: 0x12010002
	pipelineCacheUUID: 1D2EC638-1201-0002-0000-000100000000
	GPU memory available: 0 MB
	GPU memory used: 0 MB
	Metal Shading Language 3.2
2024-12-09 23:55:23.082054+0100 TestFNA[6150:8033794] 	supports the following GPU Features:
		GPU Family Apple 2
		Read-Write Texture Tier 1
[mvk-info] Created VkInstance for Vulkan version 1.0.0, as requested by app, with the following 4 Vulkan extensions enabled:
	VK_KHR_get_physical_device_properties2 v2
	VK_KHR_surface v25
	VK_EXT_debug_utils v2
	VK_EXT_metal_surface v1
2024-12-09 23:55:23.082108+0100 TestFNA[6150:8033794] VULKAN DEBUG: Created VkInstance for Vulkan version 1.0.0, as requested by app, with the following 4 Vulkan extensions enabled:
	VK_KHR_get_physical_device_properties2 v2
	VK_KHR_surface v25
	VK_EXT_debug_utils v2
	VK_EXT_metal_surface v1
2024-12-09 23:55:23.082646+0100 TestFNA[6150:8033794] FNA3D Driver: Vulkan
2024-12-09 23:55:23.082698+0100 TestFNA[6150:8033794] Vulkan Device: Apple iOS simulator GPU
2024-12-09 23:55:23.082764+0100 TestFNA[6150:8033794] Vulkan Driver: MoltenVK 1.2.12
2024-12-09 23:55:23.082810+0100 TestFNA[6150:8033794] Vulkan Conformance: 0.0.0
[mvk-info] Vulkan semaphores using MTLEvent.
[mvk-info] Descriptor sets binding resources using Metal argument buffers.
[mvk-info] Created VkDevice to run on GPU Apple iOS simulator GPU with the following 5 Vulkan extensions enabled:
	VK_KHR_driver_properties v1
	VK_KHR_maintenance1 v2
	VK_KHR_portability_subset v1
	VK_KHR_swapchain v70
	VK_EXT_vertex_attribute_divisor v3
2024-12-09 23:55:23.087943+0100 TestFNA[6150:8033794] RGBA swapchain unsupported, falling back to BGRA with swizzle
[mvk-info] Created 3 swapchain images with size (744, 1133) and contents scale 1.0 in layer SDL_uikitmetalview (SDL_uikitviewcontroller) (0x600000c32ca0) on screen Main Screen.
2024-12-09 23:55:23.161948+0100 TestFNA[6150:8033794] RGBA swapchain unsupported, falling back to BGRA with swizzle
[mvk-info] Created 3 swapchain images with size (744, 1133) and contents scale 1.0 in layer SDL_uikitmetalview (SDL_uikitviewcontroller) (0x600000c3b000) on screen Main Screen.
2024-12-09 23:55:23.803174+0100 TestFNA[6150:8033835] Compiler failed to build request
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:92:51: error: use of undeclared identifier 'ps_s0Smplr'
    float4 ps_r0 = spvTextureSwizzle(ps_s0.sample(ps_s0Smplr, ps_t0.xy), ps_s0Swzl);
                                                  ^
.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Fragment shader function could not be compiled into pipeline. See previous logged error.
2024-12-09 23:55:23.803526+0100 TestFNA[6150:8033794] vkCreateGraphicsPipelines Unhandled VkResult!
2024-12-09 23:55:24.043758+0100 TestFNA[6150:8033794] *** Terminating app due to uncaught exception 'System.InvalidOperationException', reason: 'vkCreateGraphicsPipelines Unhandled VkResult! (System.InvalidOperationException)
   at Microsoft.Xna.Framework.FNALoggerEXT.FNA3DLogError(IntPtr msg) in /Users/xxx/Code/TestFNA/FNA/src/FNALoggerEXT.cs:line 98
   at Microsoft.Xna.Framework.Graphics.GraphicsDevice.DrawIndexedPrimitives(PrimitiveType primitiveType, Int32 baseVertex, Int32 minVertexIndex, Int32 numVertices, Int32 startIndex, Int32 primitiveCount) in /Users/xxx/Code/TestFNA/FNA/src/Graphics/GraphicsDevice.cs:line 1212
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.DrawPrimitives(Texture texture, Int32 baseSprite, Int32 batchSize) in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 1485
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.FlushBatch() in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 1286
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.End() in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:l
*** Terminating app due to uncaught exception 'System.InvalidOperationException', reason: 'vkCreateGraphicsPipelines Unhandled VkResult! (System.InvalidOperationException)
   at Microsoft.Xna.Framework.FNALoggerEXT.FNA3DLogError(IntPtr msg) in /Users/xxx/Code/TestFNA/FNA/src/FNALoggerEXT.cs:line 98
   at Microsoft.Xna.Framework.Graphics.GraphicsDevice.DrawIndexedPrimitives(PrimitiveType primitiveType, Int32 baseVertex, Int32 minVertexIndex, Int32 numVertices, Int32 startIndex, Int32 primitiveCount) in /Users/xxx/Code/TestFNA/FNA/src/Graphics/GraphicsDevice.cs:line 1212
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.DrawPrimitives(Texture texture, Int32 baseSprite, Int32 batchSize) in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 1485
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.FlushBatch() in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 1286
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.End() in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 327
   at FNAGame.Draw(GameTime gameTime) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 103
   at Microsoft.Xna.Framework.Game.Tick() in /Users/xxx/Code/TestFNA/FNA/src/Game.cs:line 560
   at Microsoft.Xna.Framework.Game.RunLoop() in /Users/xxx/Code/TestFNA/FNA/src/Game.cs:line 876
   at Microsoft.Xna.Framework.Game.Run() in /Users/xxx/Code/TestFNA/FNA/src/Game.cs:line 417
   at Program.RealMain(String[] args) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 43
   at Program.FakeMain(Int32 argc, IntPtr argv) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 34
   at Program.Main(String[] args) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 26
'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001804b757c __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x000000018008eda8 objc_exception_throw + 72
	2   libxamarin-dotnet-debug.dylib       0x00000001129267f4 xamarin_process_managed_exception + 1024
	3   libxamarin-dotnet-debug.dylib       0x0000000112926338 xamarin_process_managed_exception_gchandle + 68
	4   libxamarin-dotnet-debug.dylib       0x00000001129262e8 xamarin_ftnptr_exception_handler + 24
	5   libmonosgen-2.0.dylib               0x00000001134fb92c mono_handle_exception_internal + 5252
	6   libmonosgen-2.0.dylib               0x00000001134fa49c mono_handle_exception + 44
	7   libmonosgen-2.0.dylib               0x00000001135483dc mono_arm_throw_exception + 344
	8   TestFNA                             0x00000001088f276c throw_exception + 172
	9   TestFNA                             0x00000001058d80d0 Microsoft_Xna_Framework_FNALoggerEXT_FNA3DLogError_intptr + 304
	10  TestFNA                             0x0000000105beb358 wrapper_native_to_managed_Microsoft_Xna_Framework_FNALoggerEXT_FNA3DLogError_intptr + 184
	11  TestFNA                             0x0000000102f24144 FNA3D_LogError + 76
	12  TestFNA                             0x0000000102f15d84 VULKAN_INTERNAL_BindPipeline + 3792
	13  TestFNA                             0x0000000102f0cdf4 VULKAN_DrawInstancedPrimitives + 156
	14  TestFNA                             0x0000000102f0cd4c VULKAN_DrawIndexedPrimitives + 32
	15  TestFNA                             0x0000000105be3a98 wrapper_managed_to_native_Microsoft_Xna_Framework_Graphics_FNA3D_FNA3D_DrawIndexedPrimitives_intptr_Microsoft_Xna_Framework_Graphics_PrimitiveType_int_int_int_int_int_intptr_Microsoft_Xna_Framewo	16  TestFNA                             0x00000001059fa574 Microsoft_Xna_Framework_Graphics_GraphicsDevice_DrawIndexedPrimitives_Microsoft_Xna_Framework_Graphics_PrimitiveType_int_int_int_int_int + 484
	17  TestFNA                             0x0000000105a1e25c Microsoft_Xna_Framework_Graphics_SpriteBatch_DrawPrimitives_Microsoft_Xna_Framework_Graphics_Texture_int_int + 1372
	18  TestFNA                             0x0000000105a1c4a0 Microsoft_Xna_Framework_Graphics_SpriteBatch_FlushBatch + 2752
	19  TestFNA                             0x0000000105a14d60 Microsoft_Xna_Framework_Graphics_SpriteBatch_End + 400
	20  TestFNA                             0x00000001058877b4 FNAGame_Draw_Microsoft_Xna_Framework_GameTime + 500
	21  TestFNA                             0x000000010591c5e8 Microsoft_Xna_Framework_Game_Tick + 4504
	22  TestFNA                             0x00000001059203e0 Microsoft_Xna_Framework_Game_RunLoop + 448
	23  TestFNA                             0x000000010591b3b0 Microsoft_Xna_Framework_Game_Run + 560
	24  TestFNA                             0x0000000105886d40 Program_RealMain_string__ + 240
	25  TestFNA                             0x0000000105886bec Program_FakeMain_int_intptr + 156
	26  TestFNA                             0x00000001058878f8 wrapper_native_to_managed_Program_FakeMain_int_intptr + 200
	27  TestFNA                             0x0000000102edf6f4 SDL_UIKitRunApp + 4016
	28  Foundation                          0x0000000180f32760 __NSFireDelayedPerform + 332
	29  CoreFoundation                      0x000000018041becc __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
	30  CoreFoundation                      0x000000018041bb88 __CFRunLoopDoTimer + 956
	31  CoreFoundation                      0x000000018041b21c __CFRunLoopDoTimers + 284
	32  CoreFoundation                      0x00000001804157ac __CFRunLoopRun + 1804
	33  CoreFoundation                      0x0000000180414c24 CFRunLoopRunSpecific + 552
	34  GraphicsServices                    0x000000019020ab10 GSEventRunModal + 160
	35  UIKitCore                           0x0000000185ad82fc -[UIApplication _run] + 796
	36  UIKitCore                           0x0000000185adc4f4 UIApplicationMain + 124
	37  TestFNA                             0x0000000102ede808 SDL_UIKitRunApp + 196
	38  TestFNA                             0x0000000105ba1cb8 wrapper_managed_to_native_SDL2_SDL_SDL_UIKitRunApp_int_intptr_SDL2_SDL_SDL_main_func + 248
	39  TestFNA                             0x0000000105886af8 Program_Main_string__ + 648
	40  TestFNA                             0x0000000108814278 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 296
	41  libmonosgen-2.0.dylib               0x0000000113466bf8 mono_jit_runtime_invoke + 1380
	42  libmonosgen-2.0.dylib               0x0000000113621c3c mono_runtime_invoke_checked + 148
	43  libmonosgen-2.0.dylib               0x000000011362921c mono_runtime_exec_main_checked + 116
	44  libmonosgen-2.0.dylib               0x00000001134bad78 mono_jit_exec + 364
	45  libxamarin-dotnet-debug.dylib       0x000000011293b984 xamarin_main + 2324
	46  TestFNA                             0x000000010a46e670 main + 64
	47  dyld                                0x00000001122c1410 start_sim + 20
	48  ???                                 0x0000000111c3a154 0x0 + 4593000788
	49  ???                                 0x7f29800000000000 0x0 + 9162995654350340096
)
2024-12-09 23:55:24.044963+0100 TestFNA[6150:8033794] Received unhandled Objective-C exception that was marshalled from a managed exception: vkCreateGraphicsPipelines Unhandled VkResult! (System.InvalidOperationException)
   at Microsoft.Xna.Framework.FNALoggerEXT.FNA3DLogError(IntPtr msg) in /Users/xxx/Code/TestFNA/FNA/src/FNALoggerEXT.cs:line 98
   at Microsoft.Xna.Framework.Graphics.GraphicsDevice.DrawIndexedPrimitives(PrimitiveType primitiveType, Int32 baseVertex, Int32 minVertexIndex, Int32 numVertices, Int32 startIndex, Int32 primitiveCount) in /Users/xxx/Code/TestFNA/FNA/src/Graphics/GraphicsDevice.cs:line 1212
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.DrawPrimitives(Texture texture, Int32 baseSprite, Int32 batchSize) in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 1485
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.FlushBatch() in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 1286
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.End() in /Users/xxx/Code/TestFNA/FNA/src/Graphics/SpriteBatch.cs:line 327
   at FNAGame.Draw(GameTime gameTime) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 103
   at Microsoft.Xna.Framework.Game.Tick() in /Users/xxx/Code/TestFNA/FNA/src/Game.cs:line 560
   at Microsoft.Xna.Framework.Game.RunLoop() in /Users/xxx/Code/TestFNA/FNA/src/Game.cs:line 876
   at Microsoft.Xna.Framework.Game.Run() in /Users/xxx/Code/TestFNA/FNA/src/Game.cs:line 417
   at Program.RealMain(String[] args) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 43
   at Program.FakeMain(Int32 argc, IntPtr argv) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 34
   at Program.Main(String[] args) in /Users/xxx/Code/TestFNA/Game/Main.cs:line 26

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x11354c18c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_dump_native_crash_info
	0x1134fc378 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_handle_native_crash
	0x1136cab74 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : sigabrt_signal_handler.cold.1
	0x11354ba4c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_runtime_setup_stat_profiler
	0x111bcb7e0 - /usr/lib/system/libsystem_platform.dylib : _sigtramp
	0x112147124 - /usr/lib/system/libsystem_pthread.dylib : pthread_kill
	0x18016c4ec - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libsystem_c.dylib : abort
	0x112926fec - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libxamarin-dotnet-debug.dylib : _ZL17exception_handlerP11NSException
	0x1804b7910 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __handleUncaughtException
	0x18006b8a0 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libobjc.A.dylib : _ZL15_objc_terminatev
	0x1802ab4d8 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libc++abi.dylib : _ZSt11__terminatePFvvE
	0x1802ae42c - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libc++abi.dylib : __cxa_get_exception_ptr
	0x1802ae40c - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libc++abi.dylib : _ZN10__cxxabiv1L12failed_throwEPNS_15__cxa_exceptionE
	0x18008eee0 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libobjc.A.dylib : objc_exception_throw
	0x1129267f4 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libxamarin-dotnet-debug.dylib : xamarin_process_managed_exception
	0x112926338 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libxamarin-dotnet-debug.dylib : xamarin_process_managed_exception_gchandle
	0x1129262e8 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libxamarin-dotnet-debug.dylib : xamarin_ftnptr_exception_handler
	0x1134fb92c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_handle_exception_internal
	0x1134fa49c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_handle_exception
	0x1135483dc - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_arm_throw_exception
	0x1088f276c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : throw_exception
	0x1058d80d0 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_FNALoggerEXT_FNA3DLogError_intptr
	0x105beb358 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : wrapper_native_to_managed_Microsoft_Xna_Framework_FNALoggerEXT_FNA3DLogError_intptr
	0x102f24144 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : FNA3D_LogError
	0x102f15d84 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : VULKAN_INTERNAL_BindPipeline
	0x102f0cdf4 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : VULKAN_DrawInstancedPrimitives
	0x102f0cd4c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : VULKAN_DrawIndexedPrimitives
	0x105be3a98 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : wrapper_managed_to_native_Microsoft_Xna_Framework_Graphics_FNA3D_FNA3D_DrawIndexedPrimitives_intptr_Microsoft_Xna_Framework_Graphics_PrimitiveType_int_int_int_int_int_intptr_Microsoft_Xna_Framework_Graphics_IndexElementSize
	0x1059fa574 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_Graphics_GraphicsDevice_DrawIndexedPrimitives_Microsoft_Xna_Framework_Graphics_PrimitiveType_int_int_int_int_int
	0x105a1e25c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_Graphics_SpriteBatch_DrawPrimitives_Microsoft_Xna_Framework_Graphics_Texture_int_int
	0x105a1c4a0 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_Graphics_SpriteBatch_FlushBatch
	0x105a14d60 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_Graphics_SpriteBatch_End
	0x1058877b4 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : FNAGame_Draw_Microsoft_Xna_Framework_GameTime
	0x10591c5e8 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_Game_Tick
	0x1059203e0 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_Game_RunLoop
	0x10591b3b0 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Microsoft_Xna_Framework_Game_Run
	0x105886d40 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Program_RealMain_string__
	0x105886bec - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Program_FakeMain_int_intptr
	0x1058878f8 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : wrapper_native_to_managed_Program_FakeMain_int_intptr
	0x102edf6f4 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : SDL_UIKitRunApp
	0x180f32760 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Foundation.framework/Foundation : __NSFireDelayedPerform
	0x18041becc - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
	0x18041bb88 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopDoTimer
	0x18041b21c - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopDoTimers
	0x1804157ac - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopRun
	0x180414c24 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : CFRunLoopRunSpecific
	0x19020ab10 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices : GSEventRunModal
	0x185ad82fc - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIApplication _run]
	0x185adc4f4 - /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : UIApplicationMain
	0x102ede808 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : SDL_UIKitRunApp
	0x105ba1cb8 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : wrapper_managed_to_native_SDL2_SDL_SDL_UIKitRunApp_int_intptr_SDL2_SDL_SDL_main_func
	0x105886af8 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : Program_Main_string__
	0x108814278 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
	0x113466bf8 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
	0x113621c3c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_runtime_invoke_checked
	0x11362921c - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_runtime_exec_main_checked
	0x1134bad78 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libmonosgen-2.0.dylib : mono_jit_exec
	0x11293b984 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/libxamarin-dotnet-debug.dylib : xamarin_main
	0x10a46e670 - /Users/xxx/Library/Developer/CoreSimulator/Devices/942C62CF-0FE4-4A3A-9477-0706C28B1452/data/Containers/Bundle/Application/D52D499B-7D6E-4D08-97D0-3DAC7AC932BF/TestFNA.app/TestFNA : main
	0x1122c1410 - Unknown
	0x111c3a154 - Unknown
	0x7f29800000000000 - Unknown

=================================================================
	Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x112870f30):0x112870f20  c0 03 5f d6 c0 03 5f d6 10 29 80 d2 01 10 00 d4  .._..._..)......
0x112870f30  e3 00 00 54 fd 7b bf a9 fd 03 00 91 ed e2 ff 97  ...T.{..........
0x112870f40  bf 03 00 91 fd 7b c1 a8 c0 03 5f d6 c0 03 5f d6  .....{...._..._.
0x112870f50  70 0a 80 d2 01 10 00 d4 e3 00 00 54 fd 7b bf a9  p..........T.{..

=================================================================
	Managed Stacktrace:
=================================================================
	  at <unknown> <0xffffffff>
	  at Microsoft.Xna.Framework.Graphics.FNA3D:FNA3D_DrawIndexedPrimitives <0x00017>
	  at Microsoft.Xna.Framework.Graphics.GraphicsDevice:DrawIndexedPrimitives <0x001e3>
	  at Microsoft.Xna.Framework.Graphics.SpriteBatch:DrawPrimitives <0x0055b>
	  at Microsoft.Xna.Framework.Graphics.SpriteBatch:FlushBatch <0x00abf>
	  at Microsoft.Xna.Framework.Graphics.SpriteBatch:End <0x0018f>
	  at FNAGame:Draw <0x001f3>
	  at Microsoft.Xna.Framework.Game:Tick <0x01197>
	  at Microsoft.Xna.Framework.Game:RunLoop <0x001bf>
	  at Microsoft.Xna.Framework.Game:Run <0x0022f>
	  at Program:RealMain <0x000ef>
	  at Program:FakeMain <0x0009b>
	  at Program:FakeMain <0x000c7>
	  at <unknown> <0xffffffff>
	  at SDL2.SDL:SDL_UIKitRunApp <0x00007>
	  at Program:Main <0x00287>
	  at System.Object:runtime_invoke_dynamic <0x00127>
=================================================================

Build succeeded.

/Users/xxx/Code/TestFNA/Game/Main.cs(53,12): warning CS8618: Non-nullable field 'batch' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. [/Users/xxx/Code/TestFNA/Game/TestFNA.csproj]
/Users/xxx/Code/TestFNA/Game/Main.cs(53,12): warning CS8618: Non-nullable field 'texture' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. [/Users/xxx/Code/TestFNA/Game/TestFNA.csproj]
/Users/xxx/Code/TestFNA/Game/Main.cs(29,21): warning CS8618: Non-nullable field 'realArgs' must contain a non-null value when exiting constructor. Consider declaring the field as nullable. [/Users/xxx/Code/TestFNA/Game/TestFNA.csproj]
    3 Warning(s)
    0 Error(s)

Time Elapsed 00:00:46.05

Main.cs is copy-pasta from the doc, the only change being loading content directly instead of using the content pipeline. The asset is in the Resources/Content folder.

using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

// This is the main entry point of the application.
// If you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
//UIApplication.Main (args, null, typeof (AppDelegate));

public class Program
{
    static void Main(string[] args)
#if __IOS__ || __TVOS__
    {
        // Enable high DPI "Retina" support. Trust us, you'll want this.
        SDL2.SDL.SDL_SetHint("FNA_GRAPHICS_ENABLE_HIGHDPI", "1");

        // Keep mouse and touch input separate.
        SDL2.SDL.SDL_SetHint(SDL2.SDL.SDL_HINT_MOUSE_TOUCH_EVENTS, "0");
        SDL2.SDL.SDL_SetHint(SDL2.SDL.SDL_HINT_TOUCH_MOUSE_EVENTS, "0");

        // Don't let the accelerometer take over controller slot 0.
        SDL2.SDL.SDL_SetHint(SDL2.SDL.SDL_HINT_ACCELEROMETER_AS_JOYSTICK, "0");

        realArgs = args;
        SDL2.SDL.SDL_UIKitRunApp(0, IntPtr.Zero, FakeMain);
    }

    static string[] realArgs;

    [ObjCRuntime.MonoPInvokeCallback(typeof(SDL2.SDL.SDL_main_func))]
    static int FakeMain(int argc, IntPtr argv)
    {
        RealMain(realArgs);
        return 0;
    }

    static void RealMain(string[] args)
#endif
    {
        using (FNAGame g = new FNAGame())
        {
            g.Run();
        }
    }
}

public class FNAGame : Game
{
    SpriteBatch batch;
    Texture2D texture;

    public FNAGame()
    {
        GraphicsDeviceManager gdm = new GraphicsDeviceManager(this);

        // Typically you would load a config here...
        gdm.PreferredBackBufferWidth = 1280;
        gdm.PreferredBackBufferHeight = 720;
        gdm.IsFullScreen = false;
        gdm.SynchronizeWithVerticalRetrace = true;

        Content.RootDirectory = "Content";
    }

    protected override void Initialize()
    {
        /* This is a nice place to start up the engine, after
         * loading configuration stuff in the constructor
         */
        base.Initialize();
    }

    protected override void LoadContent()
    {
        batch = new SpriteBatch(GraphicsDevice);

        Stream file = TitleContainer.OpenStream("Content/empty_black.png");
        texture = Texture2D.FromStream(GraphicsDevice, file);

        base.LoadContent();
    }

    protected override void UnloadContent()
    {
        batch.Dispose();
        texture.Dispose();
    }

    protected override void Update(GameTime gameTime)
    {
        // Run game logic in here. Do NOT render anything here!
        base.Update(gameTime);
    }

    protected override void Draw(GameTime gameTime)
    {
        // Render stuff in here. Do NOT run game logic in here!
        GraphicsDevice.Clear(Color.CornflowerBlue);

        batch.Begin();
        batch.Draw(texture, Vector2.Zero, Color.White);
        batch.End();

        base.Draw(gameTime);
    }
}
@flibitijibibo
Copy link
Member

The test looks okay and we recently fixed up the Vulkan renderer to work with our current SPIR-V emitter, so I'm not sure... @kiddkaffeine any ideas?

One possible workaround is updating to the SDL3 target, which uses Metal and MSL directly, but from what I recall we had trouble supporting the simulator, will have to defer to the Apple experts here.

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

No branches or pull requests

2 participants