summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
AgeCommit message (Collapse)Author
2024-08-31Merge pull request #13031 from parona-source/libfmt-11Admiral H. Curtiss
Add support for libfmt-11
2024-08-22Add support for libfmt-11Alfred Wingate
fmt::join was moved into fmt/ranges.h Signed-off-by: Alfred Wingate <parona@protonmail.com>
2024-08-22Graphics: Adapt aspect ratio when SBS/TAB 3D is usedBryan Jacobs
Adds support for choosing to present the full resolution independently to each eye when using side-by-side or top-and-bottom 3D.
2024-08-20Remove redundant semicolonsDr. Dystopia
2024-08-18VideoCommon: force 32-byte alignment for display list address and sizeTillmann Karras
2024-08-15Use 'contains' methodmitaclaw
2024-08-14Use 'contains' methodDr. Dystopia
2024-07-26Adjust order and spacing of various #includesDentomologist
Move some #includes around to match the Contributing guidelines.
2024-07-06Properly link against xxhashTellowKrinkle
Things using dolphin_find_optional_system_library need to link against the name used there or they won't work with both the system and bundled cases
2024-06-29VideoCommon: add ability to serialize a texture asset metadata to jsoniwubcode
2024-06-29VideoCommon: set individual texture asset filter/wrap values when loading ↵iwubcode
from json
2024-06-29VideoCommon: update texture asset to properly set near sampler state valueiwubcode
2024-06-23Core/VideoCommon: Revert change from #12828Admiral H. Curtiss
This causes Dual Core to lock up during the boot sequence, because it tries to wait for a not-yet-running GPU thread. Fixes https://bugs.dolphin-emu.org/issues/13559
2024-06-22Merge pull request #12828 from JosJuice/unify-state-variables-2Admiral H. Curtiss
Clean up Core::GetState
2024-06-21Audit uses of IsRunning and GetStateJosJuice
Some pieces of code are calling IsRunning because there's some particular action that only makes sense when emulation is running, for instance showing the state of the emulated CPU. IsRunning is appropriate to use for this. Then there are pieces of code that are calling IsRunning because there's some particular thing they must avoid doing e.g. when the CPU thread is running or IOS is running. IsRunning isn't quite appropriate for this. Such code should also be checking for the states Starting and Stopping. Keep in mind that: * When the state is Starting, the state can asynchronously change to Running at any time. * When we try to stop the core, the state gets set to Stopping before we take any action to actually stop things. This commit adds a new method Core::IsUninitialized, and changes all callers of IsRunning and GetState that look to me like they should be changed.
2024-06-21Core: Store current state in less placesJosJuice
Core::GetState reads from four different pieces of state: s_is_stopping, s_hardware_initialized, s_is_booting, and CPUManager::IsStepping. I'm keeping that last one as is for now because there's code in Dolphin that sets it directly, but we can unify the other three to make things easier to reason about. This commit also gets rid of s_is_started. This was previously used in Core::IsRunningAndStarted to ensure true wouldn't be returned until the CPU thread was started, but it wasn't used in Core::GetState, so Core::GetState would happily return State::Running after we had initialized the hardware but before we had initialized the CPU thread. As far as I know, there are no callers that have any real need to know whether the boot process is currently initializing the hardware or the CPU thread. Perhaps once upon a time there was a desire to make the apploader debuggable, but a long time has passed without anyone stepping up to implement it, and the way CBoot::RunApploader is implemented makes it rather difficult. So this commit makes all the functions in Core.cpp consider the core to still be starting until the CPU thread is started.
2024-06-21Merge pull request #12867 from AdmiralCurtiss/uicommon-dependencyAdmiral H. Curtiss
CMake dependency fixes
2024-06-19Scale challenge icons based on screen heightLillyJadeKatrin
2024-06-19Merge pull request #12859 from LillyJadeKatrin/retroachievements-challenge-hideJMC47
Hide Challenge Icons when OSD Messages Disabled
2024-06-15Stack Challenge Icons HorizontallyLillyJadeKatrin
2024-06-15Fix margins on icon-only messagesLillyJadeKatrin
Messages with an icon and no text (such as in the game start sequence) had an oversized margin due to ImGui adding padding for an empty string.
2024-06-15OSD messages display horizontallyLillyJadeKatrin
OSD messages with an icon and text will display the text to the right of the icon instead of below it.
2024-06-15VideoCommon: Fix format string injection vulnerability from leaderboardsAdmiral H. Curtiss
2024-06-15Merge pull request #12818 from iwubcode/json_file_operationsAdmiral H. Curtiss
Common: add Json helper utilities for loading or saving to a file
2024-06-15Merge pull request #12855 from ↵Admiral H. Curtiss
LillyJadeKatrin/retroachievements-challenge-refactor Refactored Challenge Icons to handle icon updates
2024-06-15Refactored Challenge Icons to handle icon updatesLillyJadeKatrin
If an icon is displayed on screen before it downloads, it was displaying a default icon but it would fail to load the actual icon even after it was downloaded. This fixes that.
2024-06-14Hide Challenge Icons when OSD Messages DisabledLillyJadeKatrin
2024-06-11Merge pull request #12819 from iwubcode/texture_asset_sampler_in_pipelineJMC47
VideoCommon: update custom pipeline to use a texture's sampler instead of linear sampler if the texture is used
2024-06-11Merge pull request #12721 from iwubcode/custom_shader_alphaJMC47
VideoCommon: allow custom shaders to set the alpha value
2024-06-08VideoCommon: add texture type to texture config comparisoniwubcode
2024-06-06Merge pull request #12832 from JosJuice/retro-achievements-less-ifdefsAdmiral H. Curtiss
Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't defined
2024-06-06Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't definedJosJuice
This lets us reduce the number of USE_RETRO_ACHIEVEMENTS ifdefs in the code base, reducing visual clutter. In particular, needing an ifdef for each call to IsHardcodeModeActive was annoying to me. This also reduces the risk that someone writes code that accidentally fails to compile with USE_RETRO_ACHIEVEMENTS disabled. We could cut down on ifdefs even further by making HardcodeWarningWidget always exist, but that would result in non-trivial code ending up in the binary even with USE_RETRO_ACHIEVEMENTS disabled, so I'm leaving it out of this PR. It's not a lot of code though, so I might end up revisiting it at some point.
2024-06-05Merge pull request #12817 from iwubcode/imgui-mouse-position-eventScott Mansell
VideoCommon: use imgui mouse position event when the mouse position changes
2024-06-01VideoCommon: pull texture sampler out of texture cache so that it can be ↵iwubcode
used in other places in the future
2024-05-31VideoCommon: update custom pipeline to use a a texture's sampler if the ↵iwubcode
texture is in use
2024-05-31InputCommon / VideoCommon: update to use new JsonFromFile functioniwubcode
2024-05-31VideoCommon: use imgui mouse position event when the mouse position changesiwubcode
2024-05-23Refactored Achievement Badges into Texture LayersLillyJadeKatrin
Achievement badges/icons are refactored into the type CustomTextureData::ArraySlice::Level as that is the data type images loaded from the filesystem will be. This includes everything that uses the badges in the Qt UI and OnScreenDisplay, and similarly removes the OSD::Icon type because Level already contains that information.
2024-05-21Merge pull request #12537 from TellowKrinkle/MTLSubgroupAdmiral H. Curtiss
VideoCommon: More specific subgroup op bugs
2024-05-18VideoCommon: use imgui input queue for mouse clicks, this helps keep input ↵iwubcode
smooth regardless of frame-times and matches keyboard events, this system was introduced in 1.87
2024-05-04Merge pull request #10957 from Pokechu22/std-bitcastTilka
Replace Common::BitCast with std::bit_cast
2024-05-03Replace Common::BitCast with std::bit_castPokechu22
2024-05-01Core::IsRunning: Avoid Global System Accessormitaclaw
2024-05-01Display active leaderboard data on screenLillyJadeKatrin
Up to four leaderboards are displayed in a window in the bottom right of the screen (vertically above challenge icons, if there are any). As per RetroAchievements standards, the markers only display the current leaderboard values with no further context necessary.
2024-04-28VideoCommon: allow custom shaders to set the alpha value for use when ↵iwubcode
blending is enabled
2024-04-26VideoCommon: Only show input count when recordingsowens99
2024-04-20VideoCommon/BPStructs: Add a missing bounds checkJosJuice
Happened to find this when working on the previous commit.
2024-04-20VideoCommon: Use GetSpanForAddress safely in texture decodingJosJuice
Now only VertexLoader remains... But that one might be tricky.
2024-04-20Memmap: Replace GetPointer with GetSpanForAddressJosJuice
To ensure memory safety, callers of GetPointer have to perform a bounds check. But how is this bounds check supposed to be performed? GetPointerForRange contained one implementation of a bounds check, but it was cumbersome, and it also isn't obvious why it's correct. To make doing the right thing easier, this commit changes GetPointer to return a span that tells the caller how many bytes it's allowed to access.
2024-04-18Config: Expose GFX_OVERLAY_PROJ_STATS setting in UI.Jordan Woyak