Commit Graph

765 Commits

Author SHA1 Message Date
Branimir Karadžić
91805892e9 Unified StateCache implementation. (#3729) 2026-06-06 18:19:56 -07: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ć
7d03e160fa Fix MSAA + mipmaps combination on D3D11/D3D12/Vulkan/Metal. (#3717) 2026-05-21 22:53:17 +00:00
Vincent Bousquet
a8250ceaf9 Lighter per frame VSync on/off for D3D11, D3D12 & Vulkan (#3706) 2026-05-17 15:44:33 +00:00
Branimir Karadžić
65f9425d8c Updated to new SIMD. (#3699) 2026-05-03 18:51:10 +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ć
50bf41b224 Fixed stremMask check. (#3682) 2026-04-21 11:21:40 -07:00
unravel-dev
4212c8ed27 Fix BGFX_RESET_VSYNC not affecting secondary swap chains on D3D11, Vulkan, OpenGL (#3675)
Toggling BGFX_RESET_VSYNC via bgfx::reset() only updated the main/init swap
chain. Secondary swap chains created through createFrameBuffer(nwh, ...) kept
their initial vsync state, leaving framerate capped at refresh rate. D3D12
already handled this correctly.

D3D11: forward present flags to FrameBufferD3D11::present so it can pass
DXGI_PRESENT_ALLOW_TEARING alongside syncInterval=0. Compute presentFlags once
in flip() and reuse for both secondary framebuffers and the main swap chain.

Vulkan: in updateResolution, iterate m_windows and call FrameBufferVK::update
on each valid secondary framebuffer so SwapChainVK::update sees the new
BGFX_RESET_VSYNC and recreates the swapchain with the correct present mode.

OpenGL (WGL/EGL): wglSwapIntervalEXT is per-context, eglSwapInterval is
per-surface. Cache the desired interval in GlContext::m_swapInterval and
re-apply it in makeCurrent() whenever a different context/surface becomes
current, so secondary SwapChainGL instances pick up the current value. Also
honor the initial BGFX_RESET_VSYNC flag in create() instead of hard-coding 0.
2026-04-19 22:35:57 +00:00
Branimir Karadžić
0b0ddb7f6b Added generate mips on frame buffer resolve. (#3664) 2026-04-17 05:04:57 +00:00
Branimir Karadžić
7c0d813b83 Remove unused shader parsers. (#3651)
* Removed shader parsers.

* Removed shader parsers.
2026-04-05 02:54:27 +00:00
Branimir Karadžić
0499759e8c Fixed runtime renderer selection. (#3637) 2026-03-21 16:57:04 +00:00
Branimir Karadžić
a73c12db8f Added bgfx::AttribType::Int8/Uint16. (#3626) 2026-03-09 06:13:51 +00:00
Branimir Karadžić
ae080bc634 D3D11: Fix SRV for external texture. (#3622) 2026-03-06 23:41:29 +00:00
Branimir Karadžić
91814c9729 Added flag for texture formats that can be used as back-buffer format. (#3605) 2026-02-22 02:44:26 +00:00
Branimir Karadžić
856208328c Use back buffer format when capturing screen shot. (#3603) 2026-02-20 00:46:41 +00:00
Branimir Karadžić
c85fa25266 Added BGFX_FRAME_* flags to add ability to discard all draw calls. (#3599) 2026-02-19 01:42:31 +00:00
Branimir Karadžić
40e614c45d Added external texture parameter. (#3596)
* Added external texture parameter.

* Use uint64_t instead of uintptr_t for external texture because VkImage is always 64-bit.
2026-02-18 20:12:37 +00:00
Seremo
c5387cfec2 DX11/DX12: Fix detecting depth capabilities for BGFX_CAPS_FORMAT_TEXTURE_MSAA (#3562) 2026-01-22 18:34:12 +00:00
Vincent Bousquet
0d7526dfb9 Fix DX11 screenshot color format (#3551) 2026-01-14 22:29:26 +00:00
Branimir Karadžić
4baed6e076 Happy New Year! (#3550) 2026-01-14 16:26:51 +00:00
Seremo
4f80d5f4ac d3d11: Fix UAV cache to handle texture arrays correctly (#3548) 2026-01-11 16:19:12 +00:00
Branimir Karadžić
241e9c3330 Added Init.fallback option. Cleanup. (#3522) 2025-12-24 04:29:32 +00:00
Branimir Karadžić
f510ab6db8 Cleanup. (#3501) 2025-11-20 03:13:42 +00:00
Branimir Karadžić
9e8ecf4af4 Added EAC texture formats. (#3487) 2025-11-11 08:39:24 -08:00
Branimir Karadžić
35911ac2d9 Added uniform frequency. (#3485)
* Added uniform frequency.

* Cleanup.

* Cleanup.
2025-11-10 23:41:33 +00:00
Branimir Karadžić
bcf89eb860 Cleanup. 2025-11-01 21:53:14 -07:00
Branimir Karadžić
5d8eb6d67c Cleanup. 2025-10-31 08:44:02 -07:00
Бранимир Караџић
959cab248e Added ability to configure backbuffer depth/stencil. 2025-10-29 12:10:41 -07:00
Бранимир Караџић
cd3749dac9 Cleanup. 2025-10-25 22:18:15 -07:00
Gary Hsu
e7c2c69edb Add optional layerIndex argument to overrideInternal (#3477)
* Add optional layerIndex argument to overrideInternal

* Run genie idl
2025-10-26 05:12:34 +00:00
Branimir Karadžić
739d12a962 Cleanup. 2025-10-24 12:22:18 -07:00
Branimir Karadžić
f3cab4d2d8 Detect nVidia Nsight debugger presence. 2025-10-23 10:06:24 -07:00
Martijn Courteaux
abe193a407 Fix UniformBuffer UB regarding UniformType::Enum with extra bits. (#3398) 2025-01-28 09:58:22 -08:00
Бранимир Караџић
860bafb23f Happy New Year! 2025-01-13 15:45:40 -08:00
Бранимир Караџић
896c610b72 Removing alloca compat include. 2024-12-21 19:25:00 -08:00
Бранимир Караџић
042ebe8814 Cleanup. 2024-12-07 22:49:45 -08:00
Бранимир Караџић
69acf28813 Cleanup. 2024-11-21 07:34:58 -08:00
Martijn Courteaux
e488a07f1b Support both X11 and Wayland in the same build. (#3360)
* Support both X11 and Wayland in the same build.

 - Works for both Vulkan and OpenGL.
 - Remove --with-wayland from genie options.
 - Vulkan loads all three extensions for surface creation instead of only one.
 - Add width and height parameter to GlContext::createSwapChain(), which is needed for EGL to create
   a SwapChain with the given window size.
 - Dirty-fix the example-22-windows to recreate the FrameBuffer by first destroying and then
   recreating to make sure the window is released of its swapchain.
 - Fix dbgText glitch in example-22-windows.
 - Remove old X11-related dependencies for GLFW3.

* Formatting.
2024-10-05 14:33:22 -07:00
Бранимир Караџић
8ec4b71303 D3D11: Made use staging buffer configurable. 2024-03-28 09:49:02 -07:00
Branimir Karadžić
98d88d9fc6 Fixed draw indirect. 2024-02-09 20:55:44 -08:00
Бранимир Караџић
83dfadf673 Happy New Year! 2024-01-14 01:56:36 -08:00
Бранимир Караџић
e9e2e224ee Replaced macros with C++17 attributes. 2023-12-02 20:16:56 -08:00
Бранимир Караџић
67107e5511 Cleanup. 2023-11-09 07:26:23 -08:00
Hristo Iliev
98f16cd125 Fix an issue where initializing DX11 headless would cause a crash. (#3164) 2023-08-29 05:07:37 +02:00
Jamil Halabi
f059531885 Added a new capability to check for PrimitiveID support (#3154) 2023-08-04 16:42:33 +02:00
Branimir Karadžić
290295136b Added bx::Location, and removed allocator macros. 2023-04-23 19:19:22 -07:00
Gary Hsu
e0b5e0d67a Add support for Windows App SDK (WinUI 3) (#3044)
* Add support for Windows App SDK (WinUI 3)

* Update namespace
2023-02-27 18:38:49 -08:00
Бранимир Караџић
466c6a4e95 Happy New Year! 2023-01-14 10:05:12 -08:00
pourtheworld
acedbf0af0 renderer_d3d11 fix compute shader input image cubemap format transformation (#2983) 2022-12-10 08:49:12 -08:00