Commit Graph

26 Commits

Author SHA1 Message Date
Thaddeus Crews 2dbf195af5 Merge pull request #98983 from nikitalita/patch-2
Prevent stack-use-after-scope in rendering_device_driver_metal.mm
2024-11-18 09:23:33 -06:00
Stuart Carnie 9c2ca820f2 Metal: Ensure position invariance is captured from SPIRV-Cross
Closes #99029
2024-11-15 14:06:32 +11:00
mrsaturnsan 376c6c0c7d Use afterMinimumDuration to correct frame pacing 2024-11-12 21:19:38 -06:00
nikitalita 78895c709c Prevent stack-use-after-scope in rendering_device_driver_metal.mm 2024-11-09 00:07:33 -06:00
Stuart Carnie 3dac3887e9 Metal: Multiview support
* Adds support for multiview
* Returns native handles for more driver resources
2024-11-06 05:37:35 +11:00
Adam Scott 0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Stuart Carnie 83ac274e25 Metal: Performance improvements and bug fixes 2024-10-20 11:15:13 +11:00
Clay John e7c39efdb1 Merge pull request #97309 from kroketio/metal-expose-device-handle
Metal: expose MTLDevice
2024-10-07 11:00:53 -06:00
Rémi Verschelde f032af7453 Merge pull request #97304 from kroketio/metal-return-logical-device-handle
Metal: Implement `texture_create_from_extension`
2024-10-04 12:58:38 +02:00
Rémi Verschelde a4c1804cab Merge pull request #97483 from akien-mga/clang-format-19.1.0
CI: Update `clang-format` pre-commit hook to 19.1.0
2024-09-26 12:46:04 +02:00
Rémi Verschelde c92a6c7e27 CI: Update clang-format pre-commit hook to 19.1.0 2024-09-26 11:46:12 +02:00
Thaddeus Crews 9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Sander e9c85be76f Metal: expose DRIVER_RESOURCE_LOGICAL_DEVICE for get_resource_native_handle() 2024-09-22 03:19:06 +03:00
Sander 0ad1820b1a Metal: implement texture_create_from_extension
Parameters p_type, p_format, p_array_layers, p_depth_stencil are
ignored - MTLTexture (and the callee) already have this information
and is only relevant when reinterpreting or remaping the texture in
different ways.
2024-09-22 02:32:37 +03:00
Stuart Carnie e826ab9ba9 [2D,Metal]: Fix subpixel blending; fix inconsistent blend state in Metal 2024-09-20 15:16:31 +10:00
Stuart Carnie 34190fc360 Metal: fix out of bounds crash when using debug draw modes 2024-09-11 06:08:42 +10:00
Miley Hollenberg 5e7fdef343 Fixed compiler error
Would cause a compiler error when compiled with `scons p=ios target=template_debug ios_simulator=yes arch=arm64`
2024-09-05 11:01:20 +02:00
Rémi Verschelde 6de2d31a61 Merge pull request #96351 from stuartcarnie/sgc/metal_light_betsy
Metal: Enable for betsy and lightmapper modules in compatibility mode
2024-09-03 11:43:42 +02:00
Stuart Carnie a7a245de92 Metal: enable for betsy and lightmapper modules
To support this, the rendering_context_driver_metal.h header was updated
to recognise when it is included in non-Objective-C source files.
2024-08-31 08:29:07 +10:00
Patrick Dawson f381cee82f Metal: bind index buffer with offset 2024-08-30 22:37:51 +02:00
Stuart Carnie 4b02c9bb0a Metal: Use correct operator to ensure all specialisation constants are applied
Fixes #96077
2024-08-28 20:07:19 +10:00
Stuart Carnie 6de70e6b8a Metal: Minor improvements to #96052; update logger subsystem name 2024-08-27 05:47:06 +10:00
Stuart Carnie 2ef1ef63a5 Metal: Improve startup times by using concurrent shader compilation APIs 2024-08-25 09:05:58 +10:00
Stuart Carnie bbc7962fe2 Metal: fix artefacts for mobile render method and return false for multi-view support 2024-08-22 21:34:53 +10:00
Matias N. Goldberg 364f916f3f Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
Stuart Carnie 2d0165574d Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00