Commit Graph

336 Commits

Author SHA1 Message Date
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
Бранимир Караџић
3afb43090f Fixed #3274. 2024-04-02 07:50:19 -07:00
Бранимир Караџић
632489bef5 Fixed #3274. 2024-04-01 09:51:57 -07:00
Бранимир Караџић
2ad67a4dfd Cleanup. 2024-03-29 16:36:55 -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
Бранимир Караџић
7af65cbbfc Cleanup. 2023-12-01 22:47:06 -08:00
Бранимир Караџић
f828394d7a Cleanup. 2023-12-01 22:42:58 -08:00
Бранимир Караџић
edb72488bc macOS: Fixed VK (MoltenVK 1.2.6). 2023-12-01 20:51:28 -08:00
Julian Sikorski
c18122226e Fix multiple windows handling (#3162) 2023-08-22 19:12:11 +02:00
Julian Sikorski
0758191563 Use WL_EGL_PLATFORM consistently with Khronos (#3161) 2023-08-17 22:12:14 +02:00
Julian Sikorski
f4d463990a Allow simultaneous X11 and Wayland support (#3152)
* Allow simultaneous X11 and Wayland support

* Add NativeWindowHandleType

* Set default value for g_platformData.type

* Use g_platformData.type to check for a native Wayland window

* Stub getNativeWindowHandleType on platform where Wayland is not an option

* Implement getNativeWindowHandleType for GLFW

* Add getNativeWindowHandleType to the remaining C++ examples

* Add getNativeWindowHandleType to the C example
2023-08-17 16:54:31 +02:00
Бранимир Караџић
82b70a0230 Cleanup. 2023-08-15 09:27:39 +02:00
Jamil Halabi
64e83a0ec2 Fixed creating MoltenVk surface with agnostic backends such as SDL2 (#3158) 2023-08-15 09:21:25 +02:00
Jamil Halabi
f059531885 Added a new capability to check for PrimitiveID support (#3154) 2023-08-04 16:42:33 +02:00
Julian Sikorski
3101a0d93f Fix Vulkan renderer on wayland (#3143)
* Initial proof-of-concept of vulkan renderer working on wayland

* Get wayland surface from the window handle
2023-08-02 06:01:54 +02:00
Бранимир Караџић
065f6ddc66 VK: Fixed device selection. 2023-07-07 22:47:12 -07:00
Бранимир Караџић
356c59dbf5 VK: Fixed selecting software rasterizer on Mesa. 2023-07-07 22:19:15 -07:00