Commit Graph

354 Commits

Author SHA1 Message Date
Branimir Karadžić
35911ac2d9 Added uniform frequency. (#3485)
* Added uniform frequency.

* Cleanup.

* Cleanup.
2025-11-10 23:41:33 +00:00
Бранимир Караџић
358223c63e Added variable rate shading. 2025-11-06 17:21:53 -08:00
Бранимир Караџић
0fb116cf45 VK: Added descriptor pool per frame. 2025-11-04 14:15:49 -08:00
Бранимир Караџић
3722e21525 Added 50-headless example. 2025-11-01 21:29:11 -07:00
Branimir Karadžić
5d8eb6d67c Cleanup. 2025-10-31 08:44:02 -07:00
Branimir Karadžić
16cf4f8683 Added ability to configure minimum uniform buffer size. 2025-10-29 16:06:17 -07:00
Бранимир Караџић
959cab248e Added ability to configure backbuffer depth/stencil. 2025-10-29 12:10:41 -07:00
Branimir Karadžić
5aaf3c62e4 Cleanup. 2025-10-27 15:31:11 -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ć
f3cab4d2d8 Detect nVidia Nsight debugger presence. 2025-10-23 10:06:24 -07:00
attilaz
0b8dedb4a9 Vulkan RenderPass clear (#3476)
An attempt to fix this issue.
https://github.com/bkaradzic/bgfx/issues/3474

I have tested with all the examples on windows and saw no new problems.
2025-10-17 14:31:02 +00:00
Бранимир Караџић
9ab1cde267 Cleanup. 2025-09-18 22:15:41 -07:00
Бранимир Караџић
e192d9b50b Cleanup. 2025-09-18 19:09:52 -07:00
Nuno Silva
735f6233de Allow configuring vulkan renderer max descriptor sets per frame (#3461) 2025-09-18 14:25:06 +00:00
Matt Tytel
b2736dcc0c Fixing color order for RGB10A2 on vulkan. (#3403)
* Fixing color order for RGB10A2 on vulkan.

* Fixing both texture and frame buffer RGB10A2 format colors.
2025-09-03 14:33:43 +00:00
Branimir Karadžić
30331f4142 Fixed MSVC warnings. 2025-08-23 19:54:08 -07:00
Martijn Courteaux
d3dd8fb457 Slightly better surface creation logic for Vulkan. (#3447) 2025-07-22 16:27:21 +00:00
luzpaz
4109e14b43 Fix various typos (#3427)
Found via `codespell -q 3 -S "./3rdparty,*.ttf,*.bin,*.bin.h,./examples/common/imgui,./examples/common/font,./examples/runtime/text/sherlock_holmes_a_scandal_in_bohemia_arthur_conan_doyle.txt" -L attribut,ba,clude,conly,constan,dne,espace,hashin,hart,indext,inout,lod,nclude,reduct,retur,ser,sroll,statics,struc,te,tolen,truct,unknwn,usin,utput,varyin`
2025-05-28 19:12:06 +00:00
Martijn Courteaux
0e734522cd Vulkan memory allocation LRU cache (#3422)
* First version of a memory allocation cache for Vulkan.

* Increase maximal cached memory allocations to 1024. Add configuration parameter.
2025-04-12 00:21:34 +00:00
Бранимир Караџић
01dc8c59b4 Cleanup. 2025-04-01 15:05:30 -07:00
Martijn Courteaux
6e76442979 Fix TextVideoMemBlitter staging buffer issue. (#3419)
* Fix TextVideoMemBlitter staging buffer issue, and broken vkFlushMappedMemoryRange.

* Merge flush and reset.

* Rename flush_and_reset() to flush(_reset=true).
2025-04-01 22:00:06 +00:00
Бранимир Караџић
72f9b8b516 Workaround VK scratch buffer issue. 2025-03-29 08:21:28 -07:00
Matt Tytel
736bffa3dd Another fix for crashing with VK_DEVICE_LOST (#3404) 2025-01-31 09:11:36 -08: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
Branimir Karadžić
6dfd865300 Fixed MSVC warnings. 2024-12-21 18:08:54 -08:00
Бранимир Караџић
042ebe8814 Cleanup. 2024-12-07 22:49:45 -08:00
Бранимир Караџић
69acf28813 Cleanup. 2024-11-21 07:34:58 -08:00
Martijn Courteaux
01af383a6c Fix Vulkan swapchain invalidation issue. (#3379)
* Fix Vulkan swapchain invalidation issue.

* Always clamp render pass to frame buffer size.

* Fix formatting.
2024-11-21 07:29:24 -08:00
Бранимир Караџић
b46b0171a0 Cleanup. 2024-11-13 12:37:03 -08:00
Бранимир Караџић
423a2b5706 Cleanup. 2024-10-18 20:33:18 -07:00
Бранимир Караџић
96391d0b59 Cleanup. 2024-10-08 18:59:34 -07:00
Martijn Courteaux
fdb09ca401 Insert vkDeviceWaitIdle to prevent VK_DEVICE_LOST. (#3363) 2024-10-08 07:00:02 -07: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
Бранимир Караџић
3f9fe0d34e Cleanup. 2024-10-01 16:23:25 -07:00
Daniel Kalmar
7e5bb54a3e Improve NX Vulkan support. (#3357)
This change was developed using publicly available information found in Vulkan headers and official documentation. No proprietary NX resources were used.

Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2024-10-01 09:02:06 -07:00
Martijn Courteaux
3303b451a1 Properly support Wayland under EGL and Vulkan. (#3358) 2024-10-01 09:01:44 -07:00
James Fulop
e464102960 fix typo (scrach -> scratch) (#3353) 2024-09-12 19:19:10 -07:00
Daniel Kalmar
14750e1392 Minimal changes for Vulkan support on NX. (#3317) 2024-06-25 07:19:59 -07:00
Бранимир Караџић
06d0e2af2f Cleanup. 2024-06-21 07:37:44 -07:00
Martijn Courteaux
1109f3c5bf Vulkan: improve staging data performance by using scratch buffers per frame. (#3295)
* Vulkan: improve staging data performance by using scratch buffers per frame.

* vulkan: Add alignment parameter to request scratch space.

* Align staging buffers to texel block size.

* Fix scratch buffer allocation bug.

* Fix some non-deterministic behavior found by Valgrind. Paranoid printing.

* Remove debugging printing

* Fix alignment of converted formats.

* Remove forgotten debug print.
2024-06-21 07:32:00 -07:00
Бранимир Караџић
9547e79867 VK: Disabled allocator callbacks. 2024-06-13 20:32:12 -07:00
Бранимир Караџић
b66f60cba0 Cleanup. 2024-06-05 20:27:29 -07:00
Martijn Courteaux
763732e828 Make the semaphore pool larger, such that there are enough for any number of swapchain images AND frames in flight. (#3307) 2024-06-05 20:24:31 -07:00
Бранимир Караџић
eedda8e5cf VK: Added latency info. 2024-06-05 15:43:41 -07:00
Бранимир Караџић
662071f333 Cleanup. 2024-05-11 22:02:23 -07:00
Бранимир Караџић
cbdc8bf77c Cleanup. 2024-05-10 07:37:28 -07:00
Nikolay Ivanov
2d17b9866b Fixed incorrect mipmap generation on Vulkan for Cubemaps (#3236) (#3290) 2024-05-10 07:34:44 -07:00
Martijn Courteaux
0ed3ac95aa More vulkan profiling. (#3279) 2024-04-17 07:24:11 -07:00