Henrik Rydgård
ea8a648737
Refactor UI shader presets, prepare for some updates to the ImGe debugger
2026-06-14 11:08:56 +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
f60e27a9b7
Just some refactoring of the GPUStatistics struct, and more use of StringWriter
2026-05-29 14:40:31 +02: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
f12472aede
Give a name to an old mali GPU bug
2026-01-22 13:32:43 +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
176c55da25
Remove unused "interval" concept from presentation mode
2025-10-19 18:18:06 +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
14016f84df
Comments
2025-09-04 11:24:43 +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
dae0d11809
Remove some D3D9 leftovers
2025-06-10 16:59:14 +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
531842f577
Add font cache stats to "internals" screen
2025-04-09 12:40:10 +02:00
Henrik Rydgård
58adb379ea
GE debugger improvements
2024-12-20 20:31:58 +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
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
194b2ce076
Ge Debugger: Add a framebuffer listing, along with some plumbing
2024-11-23 23:23:48 +01:00
Henrik Rydgård
659af60613
Fix ImDebugger rendering on D3D9 as well (although not very optimally).
2024-11-21 15:48:18 +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
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
eccd7f3767
More const/static-ification
2024-09-17 15:22:37 +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
c38ce2a5be
Fix an issue when bringin up the dev menu with transparent background disabled
2024-05-11 21:28:26 +02:00
Henrik Rydgård
c5791764d8
Make the i18n T function use std::string_view
...
Buildfixes, crashfixes
One more
Android buildfix
Buildfix Qt
2024-02-12 18:44:39 +01:00
Henrik Rydgård
6ce4933db8
Split the discard-stencil-bug flag into separate flags for Adreno and Mali
2024-02-02 11:11:31 +01:00
Henrik Rydgård
c5191cad4c
Disable 16-bit textures on PowerVR.
...
Fixes #18780
2024-01-29 15:48:27 +01:00
Henrik Rydgård
51097279c9
Vulkan: Fix race condition when changing MSAA mode with the game running "behind" the menu.
2024-01-23 11:28:45 +01:00
Henrik Rydgård
74f5be02a1
GameInfo: Try to reduce the locking a bit.
2024-01-18 22:52:56 +01:00
Henrik Rydgård
cbb4236cd8
Vulkan: Attempt to fix some more shutdown race conditions, simplify.
2024-01-17 14:49:49 +01:00
Henrik Rydgård
d0faf250b5
Remove unused async compute pipeline creation
2024-01-15 12:38:59 +01:00
Henrik Rydgård
ed4941f416
Remove Vulkan (and Windows.h) include from DevScreens.cpp
2023-12-14 19:01:18 +01:00
Henrik Rydgård
4c3f82da55
Remove ManagedTexture from HttpImageView
2023-12-12 22:44:03 +01:00
Henrik Rydgård
e2480b9fa0
D3D9: Apply a half-pixel offset in 2D shader draws. Makes Tantalus games less broken (but still broken)
2023-12-05 14:09:14 +01:00
Henrik Rydgård
d891aaf9cd
Remove code that pretended that we supported multiple vertex streams
...
Don't really see that we'll have much use for this feature, so simplify
it away. Only single vertex stream data is now supported by the thin3d
API.
2023-11-13 01:15:28 +01:00
Henrik Rydgård
13cfd9c3d6
Add Mesa as a known GPU driver "vendor".
2023-08-17 22:06:03 +02:00
Henrik Rydgård
691c8b8d8d
Write to the frame time history from the other backends too. Needed for the upcoming timing code.
2023-08-16 12:22:49 +02:00
Henrik Rydgård
572595cc7b
Refactor: Lift the frame time history data up one level into thin3d
2023-08-16 11:45:26 +02:00