Commit Graph

9568 Commits

Author SHA1 Message Date
Branimir Karadžić
227eac0d75 Metal: Fixed occlusion queries and depth texture data, added HDR10 and unretained command buffers. Closes #2356, #2017, #1827, #2974, #3642. (#4060) 2026-10-17 07:10:37 +00:00
Branimir Karadžić
32966cfc7c Fixed EGL main swap chain. (#4059) 2026-10-17 00:39:00 +00:00
Branimir Karadžić
fc3c673387 Updated README. 2026-10-17 00:36:08 +00:00
Branimir Karadžić
fa2d4b56f3 Fixed ImGui text input, and other trivial issues. (#4058) 2026-10-16 23:32:59 +00:00
Branimir Karadžić
25cd95ca06 Fixed Vulkan main swap chain moving to a new native window one reset late. (#4057) 2026-10-16 23:07:20 +00:00
Branimir Karadžić
a7c0e5b426 Main window rebinding: every renderer follows a new nwh, entry on every platform (#4056) 2026-10-16 10:35:20 -07:00
Thomas Edvalson
99b7977fe2 Android: restore main-window EGL surface recreation (#4055)
Use the main swap-chain native window on Android EGL reset so a replacement ANativeWindow can receive a new EGLSurface without destroying the existing EGLContext and GPU resources.

Forward native-window lifecycle events through the Android example event queue and include the current window in its reset descriptor. Document Android main-window rebinding support.

Restores the intent of #796 after the example harness platform-data removal (72cbe8327) and swap-chain API refactor (#3959).
2026-10-16 08:47:05 -07:00
Branimir Karadžić
fd541f0586 Fixed 3D texture conversion of all slices, and debug asserts. (#4054) 2026-10-14 22:29:31 -07:00
Branimir Karadžić
a2191968ff macOS: Fixed Cmd+Q not quitting, and terminate called off the main thread. Closes #2655. (#4053) 2026-10-15 05:05:17 +00:00
Branimir Karadžić
9e83fed8be Metal: Report GPU memory working set and allocated size in stats. Closes #2693. (#4052) 2026-10-14 21:34:46 -07:00
Cedric Guillemet
71539c41e7 Fix debug assertions on EGL swap interval failures (#4050)
Treat eglSwapInterval as best-effort when resizing and switching surfaces, matching context initialization.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3df7df13-828e-468d-8337-47d4253c4cd6
2026-10-14 14:28:18 +00:00
Branimir Karadžić
9722c5777c D3D1x: Fixes multisampled depth. (#4049) 2026-10-13 07:50:06 -07:00
Branimir Karadžić
e4f704ab12 texturev: Open file dialog properly Filters formats. (#4048) 2026-10-12 21:51:19 -07:00
Branimir Karadžić
cd84669abc Fixed Metal video decode presenting stale pictures, and added AV1 decode on Metal. (#4047) 2026-10-13 04:20:21 +00:00
Branimir Karadžić
ec6e934a2d Sampled MSAA depth reads sample 0 through ordinary samplers. (#4046) 2026-10-12 16:49:19 -07:00
Branimir Karadžić
b11acd87ec Fixed VK H.264 decode on NVIDIA with four or more reference frames, and failed decode submits. (#4045) 2026-10-12 10:18:22 -07:00
Branimir Karadžić
576cb93834 Fixed draws and dispatches using a dynamic buffer that grows later in the frame. (#4044) 2026-10-12 10:09:43 -07:00
Branimir Karadžić
229c44f001 Fixed crashes creating, naming and updating resources after device removal. (#4043) 2026-10-12 09:20:55 -07:00
Branimir Karadžić
c71ffd6058 Fixed video picker timing, loop, crop and scaling, and hardened H.264 parsing. (#4042) 2026-10-12 09:07:40 -07:00
Branimir Karadžić
24b72d814f Fixed video decode color matrix, reported caps, and VK reference pictures. (#4040) 2026-10-11 21:44:56 -07:00
Julian Xhokaxhiu
61dda020c6 Fix various D3D12 video decode state issues (#4038)
* Fix D3D12 video decode reference resource states

Transition both NV12 planes of active DPB references to VIDEO_DECODE_READ before DecodeFrame and restore their states afterward.
Exclude unused reference slots while preserving DXVA picture indices and use the actual DPB slot count.

* Fix D3D12 scratch descriptor heap lifetime during growth

Defer replaced heap destruction until the command-list fence completes.
Allow the deferred-release queue to retain IUnknown objects so descriptor
heaps can use the same retirement mechanism as resources.

Fixes OBJECT_DELETED_WHILE_STILL_IN_USE (#921) when draw-load growth
replaces a heap referenced by pending native video conversion commands.
2026-10-11 20:19:48 -07:00
Branimir Karadžić
671f00991a Fixed draws using a dynamic buffer that was resized later in the same frame. (#4039) 2026-10-11 19:49:21 -07:00
Branimir Karadžić
8f451e9102 VK: Fall back to supported surface format and composite alpha. Fixes #4032. (#4035) 2026-10-08 21:47:03 -07:00
Branimir Karadžić
182d8c7553 Updated bindings. (#4034) 2026-10-09 02:17:41 +00:00
Markus
1d4d025514 Added java bindings (#4016)
* Java bindings: Consolidate generated API and utilities

* Java bindings: Added multi-file output

* Java bindings: Introduced module-info.java for JPMS support

* Docs: Added link to Java API bindings in overview and README
2026-10-08 18:45:00 -07:00
Matthew
06b2c3a4b3 NVIDIA Reflex integration. (#4029)
* Integrated NVIDIA Reflex.

* Generated bindings and replaced bools with enum.

* Merged upstream master.

* Addressed review feedback.
2026-10-08 18:44:43 -07:00
Branimir Karadžić
8a4df55ac0 Fixed ambiguous bx::log call in 37-gpudrivenrendering. (#4033) 2026-10-08 18:44:07 -07:00
Branimir Karadžić
73183bea9b Sized sort keys and uniform cache by use. (#4031) 2026-10-08 04:39:34 +00:00
Branimir Karadžić
537d53f145 Tools: Use UTF-8 command line arguments on Windows. (#4030) 2026-10-07 20:05:42 -07:00
Branimir Karadžić
cca91681c9 Fixed views keeping a destroyed frame buffer, and GL depth read back on ES. (#4027) 2026-10-05 11:12:34 -07:00
Branimir Karadžić
4f2bad0c9d GL/Metal/WebGPU: Fixed blend factor table, and blend constant caching across frames and render passes. (#4026) 2026-10-05 03:30:36 +00:00
Branimir Karadžić
e13b87cdd9 Sized handle allocators, timer query rings and free handle queues by use. (#4025) 2026-10-05 02:56:08 +00:00
Branimir Karadžić
01e69a6307 Allocated texture, shader and dynamic buffer tables in blocks as handles are used. (#4024) 2026-10-04 15:45:00 +00:00
Branimir Karadžić
aa10f3accb Added BGFX_CAPS_SHADER_F16. (#4023) 2026-10-03 23:27:25 -07:00
Branimir Karadžić
fe914721b2 Replaced Superluminal loader with bx::Superluminal. (#4022) 2026-10-03 19:09:57 -07:00
Branimir Karadžić
ce1bc87788 GL: Read back textures with PACK_ALIGNMENT 1. (#4021) 2026-10-03 18:29:00 -07:00
Branimir Karadžić
710cb7de83 Fixed integer render target clears and viewport depth range. (#4020) 2026-10-03 18:10:49 -07:00
Branimir Karadžić
215b33ba4e CI: Add ccache, amalgamated build, build tools only in MSVC Debug, cache emsdk. (#4019) 2026-10-04 00:16:06 +00:00
Branimir Karadžić
719ac5e6f6 GL: Fixed read back, ES precision, and clear quad without uniforms. (#4018) 2026-10-03 15:17:35 +00:00
Branimir Karadžić
abf165d8a7 Fixed render bind hash collision reusing another draw's bindings. (#4015) 2026-10-03 01:11:49 +00:00
Branimir Karadžić
500f916540 Relaxed view maximum, made view storage grow with use, up-to 4096 view ids. (#4014) 2026-10-02 16:00:20 -07:00
Branimir Karadžić
e4c9e10ca9 Replaced per-view sequence counter with render item index. (#4013) 2026-10-02 04:52:42 +00:00
Branimir Karadžić
8d4af17207 Fixed leaks when init fails. (#4012) 2026-10-01 19:01:49 +00:00
Branimir Karadžić
cad0fde4a4 GL: Return from init on context creation failure instead of fatal. (#4011) 2026-10-01 16:17:27 +00:00
Branimir Karadžić
7346c3e731 Reduced per-view memory usage. (#4010) 2026-10-01 06:08:47 +00:00
Branimir Karadžić
efb18f8662 Fixed used-view bitset being sized in bits instead of 64-bit words. (#4009) 2026-09-30 18:21:45 -07:00
Branimir Karadžić
70317268f7 Metal: Fixed screenshot blit pipeline format, synchronizeResource on shared buffers, integer MSAA resolve, stale read-only depth mask, converted texture update pitch, and lost reset flags. (#4007) 2026-09-30 13:33:53 -07:00
Branimir Karadžić
997b0cfe36 Fixed MRT clear with UINT8_MAX palette index clearing the attachment on clear quad. (#4006) 2026-09-30 12:06:59 -07:00
Thomas Clegg
9304c09edc Metal: Fixed blit encoder released without endEncoding on shutdown. (#4005)
Resource updates (texture/buffer updates, texture zero-init) open a blit
encoder that is ended in submit. When updates are pending at shutdown,
RendererShutdownBegin clears m_rendererInitialized, submit is skipped, and
renderFrame's autorelease pool frees the still-open encoder, which Metal
API validation reports as 'Command encoder released without endEncoding'.

Retain the blit encoder while it's open, and end encoding before the final
command buffer kick in shutdown.
2026-09-30 10:04:53 -07:00
Branimir Karadžić
b743ef8f7e D3D1x: Report device loss from a failed readback Map. (#4004) 2026-09-29 17:08:20 +00:00