Commit Graph

51 Commits

Author SHA1 Message Date
Branimir Karadžić
bb7edaa038 Metal: Fix requestScreenShot to use FrameBufferHandle. Closes #3249. (#3843) 2026-07-23 06:41:56 +00:00
Branimir Karadžić
435627021d Added clear texture API. (#3836) 2026-07-16 05:41:58 +00:00
Branimir Karadžić
a4555482f9 Increased number of texcoord attributes, increased instance data, added int32/uint32 vertex attributes. (#3832) 2026-07-14 05:15:13 +00:00
Jason Millard
7927ef1c6f Metal: Add support for layered rendering. (#3802)
* metal: add support for layered rendering

* examples: add 52-layered demonstrating layered rendering
2026-07-14 02:16:24 +00:00
Branimir Karadžić
6eb09a4a9b Added setImage with array layer range for compute images. (#3829) 2026-07-13 04:19:07 +00:00
Branimir Karadžić
7c6a7e5f00 D3D11/VK/Metal/GL: Fixed dangling framebuffer handle on destroy. (#3827) 2026-07-12 20:30:42 -07:00
Branimir Karadžić
2877442edc Fixed BC texture block-size rounding in readback/create/update. (#3822) 2026-07-12 00:07:51 -07:00
Branimir Karadžić
7b38346442 Added stencil write mask. (#3821) 2026-07-11 23:46:38 -07:00
Branimir Karadžić
ea53e7a5ed Metal: Fixed validation error of missing attribute from vertex stream. (#3817) 2026-07-08 20:10:59 +00:00
Branimir Karadžić
4e88edd7de WebGPU/Metal: Fix sparse slot vertex stream. (#3814) 2026-07-06 23:02:39 -07:00
Branimir Karadžić
1d81176dbb Metal: Fixed prim topology. Rebuilt shaders. (#3805) 2026-07-01 05:59:22 +00:00
Jason Millard
f9cbe0898c Metal: Set input primitive topology and only add point_size when needed. (#3803) 2026-06-30 13:16:12 -07:00
Branimir Karadžić
f30da05ce3 Metal: Cache last pipeline. Dedup pipeline binds. (#3799) 2026-06-28 22:47:43 +00:00
Branimir Karadžić
48efdb18da Metal: Implement timer queries. Closes #3774. (#3778) 2026-06-22 00:28:50 -07:00
Branimir Karadžić
73629ada72 Dedup bindings per encoder. (#3772) 2026-06-20 05:22:12 +00:00
Branimir Karadžić
15ef88c43a Metal: Fixed gl_VertexID draw. Closes #3007. (#3759) 2026-06-14 19:02:01 +00:00
Branimir Karadžić
d5ea625272 Added video decoder support. (#3756) 2026-06-14 06:49:15 +00:00
Branimir Karadžić
5abee1a283 Update metal-cpp header (metal-cpp for macOS27, iOS27). (#3749) 2026-06-10 17:28:11 +00:00
Branimir Karadžić
ac4da6369a Metal: Don't acquire backbuffer drawable on empty frames. (#3748) 2026-06-09 20:27:44 -07:00
Branimir Karadžić
e92490c3f7 Added _layer parameter to bgfx::readTexture for texture array/cubemap readback. Closes #3235. (#3737) 2026-06-07 09:22:37 -07:00
Branimir Karadžić
04fb4b0780 Metal: Fix readTexture/requestScreenShot freeze. (#3735) 2026-06-06 23:38:38 -07:00
Branimir Karadžić
ac6aa47b41 Metal/WebGPU: clearQuad — don't enable stencil ops when FB has no stencil. Closes #3310. (#3733) 2026-06-07 05:59:27 +00:00
Branimir Karadžić
9dc9749b53 Metal: Skip nextDrawable for occluded windows. Fixes #3601. (#3732) 2026-06-07 04:07:47 +00:00
Branimir Karadžić
2962f60576 GL, Metal: Honor stream vertex layout override when computing auto vertex count. Follow up to PR #3250. (#3731) 2026-06-06 20:51:45 -07:00
Branimir Karadžić
81b63b81c9 Unified ChunkedScratchBuffer implementation. (#3730) 2026-06-07 03:29:09 +00:00
Branimir Karadžić
11151de78d Added setTexture view API. (#3728) 2026-06-06 17:34:02 +00:00
Branimir Karadžić
5a1b2bbc9e Metal: Fix null deref in render encoder and processArguments. (#3725) 2026-06-02 17:20:57 +00:00
Branimir Karadžić
ccd0d04c9e Metal: Guard against null vertexAttributes for shaders with no inputs. (#3719) 2026-05-28 17:04:05 +00:00
Branimir Karadžić
7d03e160fa Fix MSAA + mipmaps combination on D3D11/D3D12/Vulkan/Metal. (#3717) 2026-05-21 22:53:17 +00:00
Branimir Karadžić
526b886105 Metal: Fix maxFrameLatency setting. (#3715) 2026-05-21 06:19:41 +00:00
Branimir Karadžić
0158b15c23 Metal: Fixed freeze when BGFX_FRAME_FLUSH is used. (#3714) 2026-05-21 06:18:36 +00:00
Branimir Karadžić
f17b06fc00 Metal: Clamp texture update rect to destination mip extent. (#3713) 2026-05-21 05:26:06 +00:00
Branimir Karadžić
651985d860 Metal: Warn about drawable size mismatch. (#3712) 2026-05-20 19:33:01 -07:00
Branimir Karadžić
4997ad09ed Metal: Dynamic frame VSync to match #3706. (#3709) 2026-05-17 16:23:00 +00:00
Branimir Karadžić
65f9425d8c Updated to new SIMD. (#3699) 2026-05-03 18:51:10 +00:00
Branimir Karadžić
b7d5c2572c Metal: Improve feature detection. (#3697) 2026-05-02 04:44:31 +00:00
Kyle Emmerich
7abefde6bd Metal: Honor BGFX_RESET_DEPTH_CLAMP via setDepthClipMode:. (#3696)
The flag was already in `maskFlags` but never wired to any rasterizer
state, so it was a no-op on Metal. Set MTLDepthClipModeClamp on each
render command encoder when requested. Capability-gated: macOS always,
Apple-GPU platforms gated by GPUFamilyApple4+.
2026-05-02 03:35:39 +00:00
Branimir Karadžić
331783cf9a Renamed bx::uint32_min/max/clamp/cntlz/cnttz/mod to typed equivalents. (#3692) 2026-04-27 04:19:08 +00:00
Branimir Karadžić
461622ab26 Metal: Fixed dynamic buffer alignment. Fixed #3684. (#3685) 2026-04-23 16:38:20 +00:00
Branimir Karadžić
d6458ee253 Metal: Fixed depth/stencil store action on the main swap chain when using MSAA. (#3683) 2026-04-22 16:34:12 -07:00
Branimir Karadžić
c9e98db704 Cleanup. (#3679) 2026-04-21 03:58:53 +00:00
Branimir Karadžić
6294e59293 Metal: Fixed instancing mapping. (#3678) 2026-04-21 03:51:39 +00:00
Branimir Karadžić
8a22a19d2e Metal: Check if framebuffer has depth before setting depth state. (#3677) 2026-04-21 00:27:07 +00:00
Branimir Karadžić
234281e4ec Metal: Improved texture format caps. (#3671) 2026-04-18 12:34:25 -07:00
Branimir Karadžić
0b0ddb7f6b Added generate mips on frame buffer resolve. (#3664) 2026-04-17 05:04:57 +00:00
Jason Millard
9c98438372 metal: isDepth24Stencil8PixelFormatSupported is only available on macOS (#3645) 2026-03-24 23:09:10 +00:00
Branimir Karadžić
4e6b6f0264 Metal: Fix validation when instancing data is provided, but shaders doesn't use it. (#3634) 2026-03-21 05:28:35 +00:00
Branimir Karadžić
a73c12db8f Added bgfx::AttribType::Int8/Uint16. (#3626) 2026-03-09 06:13:51 +00:00
Branimir Karadžić
608713739b Metal: Switched to metal-cpp. (#3624)
* Metal: Switched to metal-cpp.

* Cleanup.

* Remove more Obj-C code.

* Add metal-cpp license.

* Cleanup.

* Reduce number of leak reports.

* Reducing Obj-C code.

* renderer_mtl.mm -> .cpp

* Cleanup.

* Cleanup.
2026-03-08 23:33:43 +00:00
Branimir Karadžić
d7a9b56dc6 Added ObjC amalgamated file. 2015-06-19 17:34:01 -07:00