JosJuice
da1d45dbd4
Merge pull request #14057 from TellowKrinkle/VkRenderWrongLayout
...
VideoCommon: Fix render to texture in wrong layout
2025-11-01 10:06:41 +01:00
JosJuice
91fd53a98c
Merge pull request #14035 from Dentomologist/pauseandlock_refactoring
...
PauseAndLock Refactoring
2025-11-01 10:06:08 +01:00
iwubcode
6728007cb4
VideoCommon: rename ScissorResult 'm_result' to 'rectangles' to better reflect what the member is
2025-10-31 13:28:14 -05:00
iwubcode
ee7c476e24
VideoCommon: move global variables out of BPFunctions
2025-10-31 13:27:50 -05:00
TellowKrinkle
21ac489d57
VideoCommon: Fix render to texture in wrong layout
2025-10-30 20:50:17 -05:00
Jordan Woyak
c12d3a6d22
Merge pull request #14045 from JoshuaVandaele/warn-fix
...
Fix various warnings
2025-10-30 20:47:42 -05:00
Joshua Vandaële
33152740d0
CustomPipeline.cpp: Fix unused-function warning
...
This whole file is apparently going away soon.
2025-10-30 12:35:19 +01:00
Joshua Vandaële
280d0e7f8d
MaterialAsset: Fix shadowed field
2025-10-29 11:12:31 +01:00
Jordan Woyak
09a125fec4
VideoCommon: Clean up and eliminate the mutex in AsyncRequests using WaitableSPSCQueue.
2025-10-28 17:22:04 -05:00
Jordan Woyak
700abd68e3
VideoCommon/AsyncRequests: Remove now unnecessary SetEnable function. Requests are now always enabled. Call SetPassthrough on initialization to not be racy.
2025-10-26 23:07:14 -05:00
iwubcode
96fe6a1575
VideoBackends / VideoCommon: add support for specifying include files in shader code
2025-10-26 22:47:23 -05:00
Dentomologist
933071dd57
FifoManager: Remove redundant PauseAndLock parameters
...
PauseAndLock was only called with do_lock=true, and the function only
used unpauseOnUnlock when do_lock was false.
2025-10-26 18:01:51 -07:00
Dentomologist
f497eb519e
FifoManager: Extract RestoreState from PauseAndLock
...
Replace calls of FifoManager::PauseAndLock(do_lock=false) with new
function RestoreState for clarity.
2025-10-26 18:01:51 -07:00
TellowKrinkle
d404805b7f
CMake: Fix bundled glslang
2025-10-24 22:58:22 -05:00
TryTwo
c135af22dd
Imgui: Add a new default font (VeraMono - 49kb) that scales better than the old default.
...
Allow loading a custom font by naming it OSD_Font.ttf and placing the file in the User/Load folder, to load that font instead. Useful for future testing.
2025-10-16 15:36:50 -07:00
JMC47
e8d9c124e5
Merge pull request #13953 from TryTwo/add_osd_tab
...
Qt Settings: Transfer OSD settings to a new OSD pane.
2025-10-15 16:35:26 -04:00
Dentomologist
5b4df5ae98
VideoBackend: Rename GetName to GetConfigName
...
Make the function name more explicit and a better match for
GetDisplayName.
Change NAME to CONFIG_NAME while I'm at it.
2025-10-13 17:38:20 -07:00
TryTwo
3b11280c20
Movie Window: Move customization options from Menu Bar to OSD pane, but add options to toggle the window and to open the OSD pane.
...
Add new setting to show/hide the Movie Window.
2025-10-10 16:59:16 -07:00
fizzlepicklepop
3cb8f234a7
fixed the lint error
2025-10-07 23:57:53 -04:00
fizzlepicklepop
7ed61c50a1
Add toggles for Speedrun timer + Achievement badges visibility
...
Added some new visibility toggles so players can choose what to show (or hide) during their RetroAchievements runs:
Toggle for the Speedrun Leaderboards timer
Toggle for Achievement Challenge badges
2025-10-07 22:45:04 -04:00
Joshua Vandaële
cdfb389509
Externals: Update glslang to 16.0.0 and allow using system glslang
2025-09-27 08:56:10 +02:00
JMC47
f96837a321
Merge pull request #13940 from iwubcode/glslang_update
...
Externals / VideoCommon: update glslang to latest, turn into submodule
2025-09-26 17:13:54 -04:00
TryTwo
f8a8ddeddf
OSD / Imgui: Add font size spinbox to Interface Pane.
...
Adjust some imgui windows to work better with different font sizes.
2025-09-25 16:34:04 -07:00
iwubcode
491e3390be
Externals / VideoCommon: update glslang to latest, turn into submodule
2025-09-23 23:45:38 -05:00
JMC47
d9404e0274
Merge pull request #13941 from jordan-woyak/opcode-concepts
...
VideoCommon/OpcodeDecoding: Replace enable_if with concepts.
2025-09-16 14:55:16 -04:00
JMC47
a8a6cfebc7
Merge pull request #13895 from iwubcode/update_shader_asset
...
VideoCommon: update shader asset to support additional features in custom pipelines
2025-09-16 14:49:33 -04:00
JMC47
8b0498f5f2
Merge pull request #13889 from iwubcode/texture_and_sampler_asset
...
VideoCommon: add TextureAndSamplerAsset for use in custom materials
2025-09-16 14:48:24 -04:00
Jordan Woyak
071dedd492
VideoCommon/OpcodeDecoding: Replace enable_if with concepts.
2025-09-13 19:05:33 -05:00
iwubcode
440999d778
VideoCommon: update material asset to support render state properties, support multi-pass, and textures are now split out (as well as supporting a way to calculate sampler origin)
2025-08-23 15:17:49 -05:00
iwubcode
14459bcc1b
VideoBackends / VideoCommon: rename member variables in RenderState to be consistent
2025-08-23 13:50:22 -05:00
Tillmann Karras
10d0bc66b3
VideoCommon: fix -Wmismatched-tags warning
2025-08-23 03:05:04 +01:00
JMC47
b9affd5bc8
Merge pull request #13869 from TryTwo/ImGui_Updates
...
Externals: Update ImGui to 1.92.2 and ImPlot. Update code to use new features.
2025-08-22 21:24:27 -04:00
iwubcode
f0098eee13
VideoCommon: further remove 'CustomPipeline' details, so we can fully remove it in the very near future
2025-08-22 19:53:17 -05:00
iwubcode
6ec8e0ed8a
VideoCommon: update shader asset to support both vertex and pixel shaders; rename to 'RasterSurfaceShader'
2025-08-22 19:48:22 -05:00
iwubcode
4489ea0ec2
VideoCommon: add TextureAndSamplerAsset, this asset contains both the raw texture data and data about how the texture should be sampled
2025-08-20 19:41:22 -05:00
Sintendo
aa085a76bc
VideoCommon: Remove unused EnumMaps from PixelShaderGen
...
They appear to have been unused since #13432 .
2025-08-20 21:22:53 +02:00
Tilka
be6a6bce9f
Merge pull request #13873 from Dentomologist/dolphinanalytics_use_pascal_case_for_gamequirk_enum
...
DolphinAnalytics: Use Pascal case for GameQuirk enum
2025-08-19 21:57:34 +01:00
TryTwo
affc22f17d
Update code to work with new version of ImGui.
...
UpdateImGuiTexture now handles creating font textures and modifying them.
2025-08-18 05:38:14 -07:00
Tillmann Karras
37758fa290
OpcodeDecoder: provide default GetVertexSize() implementation
2025-08-18 01:41:14 +01:00
Dentomologist
3cc00c0676
DolphinAnalytics: Use Pascal case for GameQuirk enum
2025-08-14 13:54:23 -07:00
Admiral H. Curtiss
3fb80bec9b
Merge pull request #13780 from jordan-woyak/fix-text-filter-nearest
...
VideoCommon: Fix "Force Nearest" texture filter setting.
2025-08-01 21:59:04 +02:00
Admiral H. Curtiss
03b709019d
Merge pull request #13749 from iwubcode/vertex_shadergen_expand_fix
...
VideoCommon: fix regression in vertexshadergen for line/point expansion
2025-08-01 21:44:41 +02:00
Admiral H. Curtiss
06e05e0f90
Merge pull request #13794 from Sintendo/doouble-lookup
...
Avoid map/set double lookups
2025-08-01 21:43:12 +02:00
Tilka
812c6c2ea4
Merge pull request #13830 from CrossVR/broken-depth-clamp-control
...
DriverDetails: Disable depth_clamp_control on official AMD drivers
2025-07-31 01:06:00 +01:00
Tillmann Karras
cc71401e29
VideoCommon: drop unused XF enumerators
...
We handle all six registers (scale/offset * xyz) via the viewport name.
Keeping around unused enumerators only for the z component is confusing.
2025-07-30 19:56:30 +01:00
CrossVR
0d87f835e2
VKPipeline: Don't include depth clamp control struct when not supported
...
This should not be needed
2025-07-29 08:42:22 +09:00
CrossVR
59e9267e3d
DriverDetails: Disable depth_clamp_control on AMD official drivers
2025-07-29 08:42:22 +09:00
CrossVR
0ace5f5d3d
Vulkan: Add support for unrestricted depth range.
2025-07-21 14:07:26 +09:00
Dentomologist
72ea7a2128
VideoBackendBase: Remove redundant unique_ptr reset
...
Remove redundant reset of g_presenter in ShutdownShared, which is
already reset earlier in the function.
2025-07-09 14:12:06 -07:00
Sintendo
f2392e4048
Avoid map/set double lookups
...
Fix some common anti-patterns with these data structures.
- You can dereference the iterator returned by `find` to access the
underlying value directly, without an extra `operator[]`/`at`.
- Rather than checking for an element before insertion/deletion, you can
just do the operation and if needed check the return value to
determine if the insertion/deletion succeeded.
2025-07-08 06:53:42 +02:00
Jordan Woyak
60156f4f94
VideoCommon: Fix "Force Nearest" texture filter setting.
2025-06-28 15:52:27 -05:00
Tillmann Karras
59d2611a94
VideoCommon: remove unused struct fields
2025-06-24 19:38:45 +01:00
Dr. Dystopia
ca8f9b672b
Source: Remove redundant lambda parameter lists
2025-06-14 10:19:31 +02:00
iwubcode
6ab83bdd05
VideoCommon: fix regression where scenes with expanded lines or points would cause issues if doing per-vertex transformations in the vertex shader
2025-06-09 19:08:21 -05:00
Tilka
19fbbf0dba
Merge pull request #13727 from JoshuaVandaele/fmt-11.2.0-localtime-deprec
...
fmt: Replace deprecated `fmt::localtime` usage with `Common::LocalTime`
2025-06-08 04:04:37 +01:00
Jordan Woyak
65f3ba70f5
Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&UnitTests
...
Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-06-07 17:55:14 -05:00
iwubcode
c3d3b81533
VideoCommon: remove 'GetByteSizeInMemory()' from custom asset, it is not needed anymore
2025-06-06 23:03:02 -05:00
iwubcode
774a84a953
VideoCommon: avoid race conditions with asset load/unload by moving the lock to the entire function, favor atomics for the memory/time getters
2025-06-06 23:03:02 -05:00
iwubcode
b3f50c969e
VideoCommon: rename m_bytes_loaded in asset library to bytes_loaded
2025-06-06 23:03:02 -05:00
iwubcode
3b83907b88
VideoCommon: update CustomAsset's load time to be before the load occurs (this prevents issues where the load time might be incorrectly inflated by long load operations)
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2025-06-06 23:03:02 -05:00
iwubcode
d940d62cae
VideoCommon: watch texture pack folder for texture reloads (from dynamic input textures)
2025-06-06 23:03:02 -05:00
iwubcode
7afa9e6c6f
VideoCommon: use CustomResourceManager in the texture cache and hook up to our hires textures
2025-06-06 23:03:02 -05:00
iwubcode
12d178a8df
VideoCommon: initialize and shutdown the CustomResourceManager when the video thread initializes and shuts down
2025-06-06 23:03:02 -05:00
iwubcode
70abcb2030
VideoCommon: add resource manager and new asset loader; the resource manager uses a least recently used cache to determine which assets get priority for loading. Additionally, if the system is low on memory, assets will be purged with the less requested assets being the first to go. The loader is multithreaded now and loads assets as quickly as possible as long as memory is available
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2025-06-06 23:03:02 -05:00
iwubcode
d8ea31ca46
VideoCommon: rename GameTextureAsset into TextureAsset and make it only contain CustomTextureData. Move validation and load logic to individual functions
2025-06-06 23:03:02 -05:00
iwubcode
2ae43324cb
VideoCommon: move AssetMap to a types header file, so it can be pulled in without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later
2025-06-06 23:03:02 -05:00
iwubcode
bafe78203d
VideoCommon: remove 'GetLastAssetWriteTime' and switch to a steady_clock for asset times
2025-06-06 23:03:02 -05:00
iwubcode
15f125ebee
VideoCommon: change asset loading to return the number of bytes loaded instead of a pass/fail
2025-06-06 23:03:02 -05:00
iwubcode
316740daed
VideoCommon: add 'Unload' functionality to CustomAsset
2025-06-06 23:03:02 -05:00
iwubcode
9ec69b5925
VideoCommon: add a handle to custom asset, this is an id that is only relevant for a particular game session but is slightly faster as a numeric value for lookups than the traditional asset id
2025-06-06 19:20:25 -05:00
iwubcode
d7de49ccf6
Core / VideoCommon: Remove original custom asset loader
2025-06-06 19:20:25 -05:00
iwubcode
ae26b38fc0
VideoCommon: fix pixel shader gen error about structure not being fully initialized
2025-06-05 01:37:45 -05:00
Joshua Vandaële
4b65cc9a4c
fmt: Replace deprecated fmt::localtime usage with Common::LocalTime
2025-06-04 13:32:12 +02:00
iwubcode
b23dddea4e
VideoCommon: move vertex shader gen logic to a 'process_vertex()' function, to eventually allow for custom shaders to override vertex logic
2025-05-24 01:27:58 -05:00
Jordan Woyak
94888d250e
Merge pull request #13527 from tygyh/Replace-msg-with-structured-binding-VideoCommon/NetPlayChatUI
...
VideoCommon/NetPlayChatUI: Replace msg with structured binding
2025-05-17 17:09:13 -05:00
JMC47
cf3702cbc8
Merge pull request #13046 from SuperSamus/vi-overclock
...
Add VBI Frequency Override
2025-05-12 13:36:55 -04:00
Martino Fontana
c720211542
VideoCommon: Limit maximum denominator for MPEG4
...
It happened to be under the limit normally, but now that the VBI rate can be changed, that's no longer the case.
2025-05-12 18:54:42 +02:00
JMC47
b2e5d6df25
Merge pull request #13350 from iwubcode/custom_shader_overhaul_vertex_pos
...
VideoCommon: move transform matrices to accessible functions in VertexShaderGen
2025-05-10 01:20:28 -04:00
Tillmann Karras
6f25e20c6a
VideoCommon: reset some CP registers during PI_FIFO_RESET
...
This fixes the shutdown error in SpongeBob Globs of Doom.
2025-05-05 21:18:37 +01:00
Admiral H. Curtiss
380a9291ad
Merge pull request #13602 from jordan-woyak/move-only-function
...
Common: Add MoveOnlyFunction.
2025-05-04 17:28:06 +02:00
Jordan Woyak
5a80105555
Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer.
2025-05-03 18:32:30 -05:00
iwubcode
e80ed595ac
VideoCommon: move position/normal matrices to be gettable by function in VertexShaderGen
2025-05-03 16:51:34 -05:00
JMC47
2b568566ac
Merge pull request #13535 from m-brodschi/mihaib/fix-shutdown-crash
...
Core, VideoCommon: Fix crash at shutdown due to destructor order
2025-05-01 21:29:02 -04:00
Dr. Dystopia
f240e20e3f
Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests
2025-05-01 15:00:37 +02:00
Dr. Dystopia
5c0cf0788f
VideoCommon/NetPlayChatUI: Replace msg with structured binding
2025-05-01 14:11:55 +02:00
Jordan Woyak
a149b9d62d
WorkQueueThread: Cleanups. Implement in terms of WaitableSPSCQueue. Add single producer WorkQueueThreadSP.
2025-04-30 14:31:51 -05:00
OatmealDome
0b0151770a
Merge pull request #13436 from JoshuaVandaele/clang-format-19
...
Update clang-format to version 19
2025-04-30 01:17:31 -04:00
Mihai Brodschi
bad78cfed4
Core, VideoCommon: Fix crash at shutdown due to destructor ordering
...
Previously, PerformanceTracker registered a callback to be updated on
emulation state changes. PerformanceTrackers live in a global variable
(g_perf_metrics) within libvideocommon. The callback was stored in a
global variable in libcore. This created a race condition at shutdown
between these libraries, when the PerfTracker's destructor tried to
unregister the callback.
Notify the PerfTracker directly from libcore, without callbacks, since
Core.cpp already references g_perf_metrics explicitly. Also rename
Core::CallOnStateChangedCallbacks to NotifyStateChanged to better
reflect what it's doing.
2025-04-28 07:11:53 +03:00
Jordan Woyak
37aa65afc4
VideoCommon: Use MoveOnlyFunction for AsyncRequests.
2025-04-27 20:07:13 -05:00
Dentomologist
45b9def42c
VideoConfig: Remove ConfigChangedCallback on shutdown
2025-04-25 16:00:43 -07:00
Tilka
5523b9a01b
Merge pull request #13487 from Dentomologist/performancemetrics_fix_window_arrangement
...
PerformanceMetrics: Fix window arrangement
2025-04-25 01:40:58 +01:00
Joshua Vandaële
2c54ee94c1
linter: Apply clang-format 19.1 formatting
...
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-23 11:19:20 +02:00
Jordan Woyak
af960651e8
Common: SPSCQueue cleanups and improvements.
2025-04-22 23:49:32 -05:00
Jordan Woyak
4aa056dd4d
BPStructs: Add TODO for unsafe usage of GetTicks.
2025-04-08 19:58:31 -05:00
JMC47
ee27f03a43
Merge pull request #13439 from jordan-woyak/perf-marker
...
Core: Move CountPerformanceMarker to VideoInterface to eliminate a Throttle call. PerformanceMetrics: Fixes/Cleanups.
2025-04-07 17:57:56 -04:00
Dentomologist
ec49ea5be3
PerformanceMetrics: Fix window arrangement
...
Fix overlays stacking on top of each other or not moving to the edge of
the screen when enabling or disabling overlays while emulation is
active.
This change only applies when Config::GFX_MOVABLE_PERFORMANCE_METRICS is
False.
2025-04-05 14:22:17 -07:00
Jordan Woyak
c42dab6388
Core: Move CountPerformanceMarker to VideoInterface to eliminate a Throttle call. PerformanceMetrics: Fixes/Cleanups.
2025-04-02 23:23:51 -05:00
iwubcode
ec36fce7c6
VideoCommon: fix a mali bug by moving the perf queries back to being close to the draw call, having them apart seems to cause errors on some devices
2025-04-01 18:32:42 -05:00
JMC47
9819d66a47
Merge pull request #13221 from mitaclaw/nrvo-fails-1
...
GCC: Remedy NRVO Fails
2025-03-29 03:26:46 -04:00
JMC47
932b4abdcf
Merge pull request #13457 from jordan-woyak/efb-access-fix
...
VideoCommon: Fix out-of-bounds and disabled EFB access.
2025-03-28 18:43:57 -04:00