summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL
AgeCommit message (Collapse)Author
2026-06-26Merge pull request #14684 from Sintendo/rm-unused-headersAdmiral H. Curtiss
Remove unused headers
2026-06-23Add missing includesJoshua Vandaële
2026-06-14Remove unused headersSintendo
2026-05-03Replace some [[maybe_unused]] annotations with commented namesDentomologist
Remove the [[maybe_unused]] annotation from various parameters that are unconditionally unused and comment out their names instead. This makes it unambiguous that the variables are unused, while making the remaining [[maybe_unused]] annotations more reliable indicators that those variables are in fact used in some contexts. These parameters are mostly in overridden functions where the override doesn't need that particular variable.
2026-04-28Merge pull request #13505 from tygyh/Replace-find-with-containsDentomologist
Source/Core: Replace `find(x) != npos` with `contains(x)`
2026-04-20Remove GLX supportLink Mauve
EGL is the de-facto GL context initialization API, including on X11 where it provides many additional features over GLX. I’m planning on adding support for selecting the GPU (adapter in Dolphin-speak) also to OpenGL, similarly to the Vulkan backend, and that will require EGL, so let’s remove the legacy API first.
2026-04-20Replace `find(x) != npos` with `contains(x)` - CoreDr. Dystopia
2026-04-17Improve usage of std::move and const references parametersMartino Fontana
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`. Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move. Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
2026-01-25Merge pull request #14302 from oltolm/opengl_assertOatmealDome
DX, OGL: fix assert
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2026-01-24DX, OGL: fix assertoltolm
2026-01-17Fix various typos and spelling mistakesSintendo
2025-11-02Merge pull request #13975 from iwubcode/shader_includesJMC47
VideoBackends / VideoCommon: add support for specifying include files in shader code
2025-10-26VideoBackends / VideoCommon: add support for specifying include files in ↵iwubcode
shader code
2025-10-13VideoBackend: Rename GetName to GetConfigNameDentomologist
Make the function name more explicit and a better match for GetDisplayName. Change NAME to CONFIG_NAME while I'm at it.
2025-08-23VideoBackends / VideoCommon: rename member variables in RenderState to be ↵iwubcode
consistent
2025-08-12Fix bugs related to AbstractStagingTextures that perform an Upload (write to ↵TryTwo
existing texture). This code path had probably never been used before.
2025-06-07Merge pull request #13522 from ↵Jordan Woyak
tygyh/Enforce-overriding-destructor-style-Core&UnitTests Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-05-01Make overriding explicit and remove redundant virtual specifiers on ↵Dr. Dystopia
overriding destructors - Core & UnitTests
2025-04-14Use range-based loops - Core VideoBackendsDr. Dystopia
2025-03-17Enable anisotropic filtering when the game requests itPokechu22
2025-03-15Merge pull request #13181 from tygyh/Replace-'reinterpret_cast'JosJuice
Replace 'reinterpret_cast' with 'static_cast'
2025-03-09VideoCommon: Move backend_info out of VideoConfig struct.Jordan Woyak
2024-12-15Modernize `std::any_of` with rangesmitaclaw
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those. In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
2024-11-08Replace 'reinterpret_cast' with 'static_cast'Dr. Dystopia
2024-10-15Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivialJosJuice
Ranges Algorithms Modernization - Trivial
2024-10-10C++20: Synthesize `operator!=` From `operator==`mitaclaw
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-10-10Modernize `std::set_intersection` with rangesmitaclaw
2024-10-10Modernize `std::is_sorted` with rangesmitaclaw
In OGLConfig.cpp, `std::views::reverse` is used rather than sorting using `std::ranges::greater` in order to parallel other instances of reverse iteration in the function.
2024-10-10Modernize `std::reverse` with rangesmitaclaw
2024-10-02VideoBackends:Vulkan: Don't try to present if swapchain acquire failedTellowKrinkle
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-05-21Merge pull request #12537 from TellowKrinkle/MTLSubgroupAdmiral H. Curtiss
VideoCommon: More specific subgroup op bugs
2024-04-22port to OpenBSDGuilherme Janczak
2024-04-04Fix out of bounds accesses for invalid vertex component formatsPokechu22
On all platforms, this would result in out of bounds accesses when getting the component sizes (which uses stuff from VertexLoader_Position.h/VertexLoader_TextCoord.h/VertexLoader_Normal.h). On platforms other than x64 and ARM64, this would also be out of bounds accesses when getting function pointers for the non-JIT vertex loader (in VertexLoader_Position.cpp etc.). Usually both of these would get data from other entries in the same multi-dimensional array, but the last few entries would be truly out of bounds. This does mean that an out of bounds function pointer can be called on platforms that don't have a JIT vertex loader, but it is limited to invalid component formats with values 5/6/7 due to the size of the bitfield the formats come from, so it seems unlikely that this could be exploited in practice. This issue affects a few games; Def Jam: Fight for New York (https://bugs.dolphin-emu.org/issues/12719) and Fifa Street are known to be affected. I have not done any hardware testing for this PR specifically, though I *think* I previously determined that at least a value of 5 behaves the same as float (4). That's what I implemented in any case. I did previously determine that both Def Jam: Fight for New York and Fifa Street use an invalid normal format, but don't actually have lighting enabled when that normal vector is used, so it doesn't change rendering in practice. The color component format also has two invalid values, but VertexLoader_Color.h/.cpp do check for those invalid ones and return a default value instead of doing an out of bounds access.
2024-01-28VideoCommon: Post to analytics when bug is overriddenTellowKrinkle
2023-12-15VideoBackends / VideoCommon: add type enum to dictate whether a texture is a ↵iwubcode
2D texture, a texture array, or a cube map; support 2D texture type across backends Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-12-09VideoCommon: Use std::span for BoundingBox::Write()Lioncash
Crosses off a lingering TODO. Also amends a few nearby cases where a u32 cast was being repromoted to size_t.
2023-11-27OGLConfig: Only use Warn Log if OGL extensions are missingDentomologist
2023-10-25VideoBackends:OGL: Handle when SSBOs are only supported in some shader stagesTellowKrinkle
2023-10-06VideoBackends / VideoCommon: add new uniform buffer object for custom shader ↵iwubcode
materials (slot 3, geometry shader buffer moves to slot 4 if available)
2023-07-21VideoBackends: add support for cube maps for OGL, Vulkan, and D3Diwubcode
2023-06-28VideoBackends: support multiple compute images for some backends (D3D, OGL, ↵iwubcode
Vulkan)
2023-06-09Merge pull request #11699 from Pokechu22/gl-check-maximum-samplesAdmiral H. Curtiss
OpenGL: Check the list of supported AA modes instead of hardcoding
2023-06-09Merge pull request #11859 from iwubcode/backend-multi-outputAdmiral H. Curtiss
VideoBackends: add support to allow rendering to multiple output targets
2023-06-08OpenGL: Check the list of supported AA modes instead of hardcodingPokechu22
2023-06-08VideoCommon: Pass WindowSystemInfo to InitBackendInfoPokechu22
2023-06-08Video: add R10B10G10A2 and R16G16B16A16F texture types (needed by PR 11850)Filoppi
2023-06-03VideoBackends: add support to allow rendering to multiple output texturesiwubcode
2023-04-23Merge pull request #11628 from Pokechu22/gles-32-only-multisampleAdmiral H. Curtiss
OGL: Only specify precision for sampler2DMSArray when it is defined