Henrik Rydgård
ea8a648737
Refactor UI shader presets, prepare for some updates to the ImGe debugger
2026-06-14 11:08:56 +02:00
Henrik Rydgård
aee05fcebb
vkGetDataFormatSupport is surprisingly expensive on some devices, cache it.
2026-06-13 13:34:38 +02:00
jasaaved
5e25118043
Fix the exclusive fullscreen config guard and switching the setting on/off
...
Previously the exclusive fullscreen option in the settings screen was
guarded by a compile-time #ifdef VK_EXT_full_screen_exclusive, which is
always true on Windows. It now uses a runtime fullScreenExclusiveSupported
cap derived from whether the extension is actually enabled by the driver.
Switching between borderless and exclusive fullscreen currently requires a
restart. This is because once DWM has claimed the window (any frames
presented), ALLOWED_EXT cannot re-engage exclusive mode on an existing
swapchain. A new process gets a fresh HWND that DWM has not claimed yet,
so ALLOWED_EXT works correctly at startup.
The proper fix is to use VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
with vkAcquireFullScreenExclusiveModeEXT/vkReleaseFullScreenExclusiveModeEXT
to explicitly negotiate exclusive mode with DWM mid-session without needing
a restart. To be done in a follow-up.
2026-06-03 17:15:13 -07:00
Henrik Rydgård
dd125b2e4d
Delete obsolete (and non-working) support for GPUs without non-pow-2 textures.
2026-05-24 14:15:34 +02:00
Henrik Rydgård
4a420c95c2
Remove some redundant device caps, show clip/cull/depth-clamp in system info
2026-05-21 11:59:26 +02:00
Henrik Rydgård
28166cb35d
Add "allocation slack" to our pushbuffers. Fixes a memory overwrite bug
...
Reported by Joseph on Discord.
Sometimes, things could align perfectly so allocations happend exactly
at the end of a pushbuffer. At the same time, we allow our vertex decoder to write an extra few
bytes if it needs to for speed. Unfortunately I missed this interaction,
resulting in some uncommon crashes that were especially common with
heavy-geometry things like modified GTA LCS with PS2 assets, for
example.
The problem was reported with Vulkan, but our OpenGL backend had the
same issue too.
2026-05-13 15:55:34 +02:00
Henrik Rydgård
b2d0b8e3cc
Improve display of http links in recents list
2026-04-23 16:55:29 +02:00
Henrik Rydgård
e50199ad0a
Fix the gemini-written video player to actually work
2026-02-26 09:33:26 +01:00
Henrik Rydgård
eb234a1563
Finish the split. Greatly simplifies the render code in EmuScreen.
2026-02-08 10:46:16 +01:00
Henrik Rydgård
f12472aede
Give a name to an old mali GPU bug
2026-01-22 13:32:43 +01:00
Henrik Rydgård
64461329e7
More minor fixes and cleanups
2026-01-02 14:20:20 +01:00
Henrik Rydgård
1efcaafd5a
Add query for max texture size
2025-11-15 15:26:02 +01:00
Henrik Rydgård
042cf87248
Rework the present mode settings, refactor.
2025-10-20 21:28:38 +02:00
Henrik Rydgård
82bba691dd
Unexpose the specialized Vulkan presentation modes for now
2025-10-20 19:53:21 +02:00
Henrik Rydgård
b4f7635719
Vulkan: Check the available present modes right after initializing the surface
2025-10-20 19:52:24 +02:00
Henrik Rydgård
176c55da25
Remove unused "interval" concept from presentation mode
2025-10-19 18:18:06 +02:00
Henrik Rydgård
f0b5209908
Convert all UI atlas images to premultiplied alpha format
2025-10-16 11:07:05 +02:00
Henrik Rydgård
b082e94edb
Initial work on using premultiplied alpha in the UI
2025-10-16 11:07:05 +02:00
Henrik Rydgård
6f76c579fc
Delete dead code, more std::string_view
2025-09-01 00:15:23 +02:00
Henrik Rydgård
2cf0ffea73
Allow choosing the frame presentation mode in detail in Vulkan mode
2025-08-21 01:01:16 +02:00
Henrik Rydgård
6cfea96e58
Remove D3D9 support, to make future changes easier
2025-06-10 15:07:16 +02:00
Henrik Rydgård
a36d3cf18d
Logging improvements / despam
2025-05-21 21:42:08 +02:00
Henrik Rydgård
85304d58a8
Warning fixes
2025-03-27 14:45:42 +01:00
oltolm
02e767866a
fix compiler warnings
2025-02-22 14:15:15 +01:00
Henrik Rydgård
58adb379ea
GE debugger improvements
2024-12-20 20:31:58 +01:00
Henrik Rydgård
c608184cdd
ImGeDebugger: Add support to inspect depth and stencil buffers too, including hover values
2024-12-16 21:06:09 +01:00
Henrik Rydgård
111d0c872d
Global rename of FBChannel to Aspect, also make it a class enum
2024-12-15 22:24:05 +01:00
Henrik Rydgård
27122a9e64
Work on previews
2024-12-10 22:09:51 +01:00
Henrik Rydgård
e4adc112ff
ImDebugger: Add a basic texture browser
2024-11-29 19:30:38 +01:00
Henrik Rydgård
6763c13f88
ImGui: Finish implementing pipeline switching for all backends
2024-11-27 01:19:05 +01:00
Henrik Rydgård
09779e0f44
ImGui drawing: Allow varying the pipeline when binding textures
2024-11-26 19:59:09 +01:00
Henrik Rydgård
eaff38f161
Implement ImGui clipped batch texturing support in the other backends too
2024-11-26 09:38:30 +01:00
Henrik Rydgård
e82b7f788e
Implement texture binding in draw batches. Framebuffer viewer now works in Vulkan.
2024-11-26 09:22:35 +01:00
Henrik Rydgård
e66516eb50
ImDebugger: Add ability to rename function symbols
2024-11-23 23:23:52 +01:00
Henrik Rydgård
472103d460
Back out the 32-bit index buffer support. Not actually needed for ImGui.
2024-11-04 23:14:39 +01:00
Henrik Rydgård
17a7c80cb1
Get it rendering on Vulkan and D3D11 (OpenGL is bugged though)
2024-11-04 23:14:39 +01:00
Henrik Rydgård
d37c04079d
Change the 2D matrix generation to query the coordinate convention from the draw context
2024-11-04 23:14:23 +01:00
Henrik Rydgård
8f8598c347
thin3d: Add partial support for 32-bit index buffers. Add DrawIndexedUP.
2024-11-04 23:14:22 +01:00
Henrik Rydgård
4d6905672e
Bunch more linting
2024-10-10 11:57:10 +02:00
Henrik Rydgård
e0c12c9547
More lint warning fixes
2024-10-10 10:52:45 +02:00
Henrik Rydgård
21c6594961
Fix a bunch of Android Studio lint warnings
2024-10-10 10:24:40 +02:00
Henrik Rydgård
8d380e260a
Fix a wrong assert
2024-10-03 16:52:34 +02:00
Henrik Rydgård
8c8b34aac4
Vulkan: Separate the instance and device API versions, for extension loading purposes
2024-09-25 18:38:31 +02:00
Henrik Rydgård
b2d9ac54dd
Make InfoField an "enum class", extract function FormatAPIVersion
2024-09-25 16:34:33 +02:00
Henrik Rydgård
4f9f0acd32
VulkanLoader: Improve logging
2024-09-25 15:59:24 +02:00
Henrik Rydgård
7c817f3ecd
Add helper for Vulkan struct chaining
2024-07-19 09:45:02 +02:00
Henrik Rydgård
665f03ff62
Add provoking vertex to caps, flip the flag around
2024-07-17 14:40:52 +02:00
Henrik Rydgård
138193a776
Add support for the EXT_provoking_vertex Vulkan extension, allowing us to skip software transform for this case.
2024-07-17 10:41:25 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
336732afa8
Remove accidental enabling of Mali driver workaround on other GPUs.
...
May help #19133
2024-05-12 00:08:33 +02:00