summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
AgeCommit message (Collapse)Author
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...)
2025-03-09VideoCommon: Move backend_info out of VideoConfig struct.Jordan Woyak
2024-10-10C++20: Synthesize `operator!=` From `operator==`mitaclaw
The inequality operator is automatically generated by the compiler if `operator==` is defined.
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-06-03VideoBackends: add support to allow rendering to multiple output texturesiwubcode
2023-04-08OGL: Use GL_OES_texture_storage_multisample_2d_array when supportedPokechu22
See https://bugs.dolphin-emu.org/issues/13198
2023-04-08OGL: Only specify precision for sampler2DMSArray when it is definedPokechu22
See https://bugs.dolphin-emu.org/issues/13198
2023-04-08OGL: Convert SupportedESPointSize to an enum classPokechu22
2023-02-09VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread.degasus
While the NV extension is totally fine, the KHR extension should be able to support more hardware. For NVIDIA, the hardware either supports both or neither, it just needs a driver from the last two years. For AMD, the drivers from late 2022-12 seems to bring support for the KHR extension. For Intel, the KHR is also supported for some years.
2023-01-31Implement AbstractGfx for OpenGLScott Mansell
Mostly involves moving contents of OGLRender to OGLGfx and OGLConfig
2022-12-29VideoCommon: De-globalize GeometryShaderManager class.Admiral H. Curtiss
2022-12-28VideoCommon: De-globalize VertexShaderManager class.Admiral H. Curtiss
2022-12-27VideoCommon: De-globalize PixelShaderManager class.Admiral H. Curtiss
2022-11-28VideoBackends:OGL: Creating vertex formats shouldn't unbind anythingTellowKrinkle
2022-11-23Fix build errors related to formatting non-scoped enumsPokechu22
2022-10-12Remove most uses of StringFromFormat in favor of fmtPokechu22
2022-06-16VideoCommon: Fix SSBO layout and remove associated "bug"TellowKrinkle
2022-04-22VideoCommon: Rename norm0/norm1/norm2 to normal/tangent/binormalPokechu22
2022-01-14Fix static initialisation order fiasco issue for Version variablesLéo Lam
Fixes a crash that could occur if the static constructor function for the MainSettings.cpp TU happened to run before the variables in Common/Version.cpp are initialised. (This is known as the static initialisation order fiasco.) By using wrapper functions, those variables are now guaranteed to be constructed on first use.
2021-12-28GLES: Fix missing precision for sampler2DMSArrayJosJuice
We don't use sampler2DMS, but we do use sampler2DMSArray. I can't reproduce it on my phone, but a user who was running GLES on a Tegra X1 reported a shader compilation error related to this.
2021-12-06ProgramShaderCache: Don't define FB_FETCH_VALUE for ↵OatmealDome
GL_EXT_shader_framebuffer_fetch We will automatically choose between real_ocol0 and ocol0 in the fragment shader.
2021-11-17VideoCommon: Skip textureQueryLevels if it doesn't existPokechu22
2021-11-17VideoCommon: Use coarse derivatives for Manual Texture Sampling if possiblePokechu22
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2021-01-27normalize common filenames in VideoBackends/OGLShawn Hoffman
2020-12-02General: Convert PanicAlerts over to fmt equivalentLioncash
Converts lingering panic alert calls over to the fmt-capable ones.
2020-11-09OpenGL: Migrate logging over to fmtLioncash
Migrates over to the fmt-capable logger.
2020-08-27ogl: init ProgramShaderCache::s_ubo_align to 1.Shawn Hoffman
silences a warning that it may cause div-by-zero.
2020-05-25VideoCommon/ShaderGenCommon: Make template functions regular functionsLioncash
These are only ever used with ShaderCode instances and nothing else. Given that, we can convert these helper functions to expect that type of object as an argument and remove the need for templates, improving compiler throughput a marginal amount, as the template instantiation process doesn't need to be performed. We can also move the definitions of these functions into the cpp file, which allows us to remove a few inclusions from the ShaderGenCommon header. This uncovered a few instances of indirect inclusions being relied upon in other source files. One other benefit is this allows changes to be made to the definitions of the functions without needing to recompile all translation units that make use of these functions, making change testing a little quicker. Moving the definitions into the cpp file also allows us to completely hide DefineOutputMember() from external view, given it's only ever used inside of GenerateVSOutputMembers().
2020-01-24Add Dolphin version and current video backend to shader compilation logsRyan Meredith
2019-07-26OGL/ProgramShaderCache: Use std::lock_guard deduction guides where applicableLioncash
Same thing, less reading.
2019-07-26OGL/ProgramShaderCache: Remove unused headersLioncash
Removes a few inclusions that aren't necessary, reducing the number of header dependencies.
2019-07-26OGL/ProgramShaderCache: Use std::string_view where applicableLioncash
2019-07-10VideoCommon/Statistics: Rename stats global to g_statsLioncash
Makes the global variable follow our convention of prefixing g_ on global variables to make it obvious in surrounding code that it's not a local variable.
2019-07-10VideoCommon/Statistics: Normalize statistic variable namesLioncash
Normalizes all variables related to statistics so that they follow our coding style. These are relatively low traffic areas, so this modification isn't too noisy.
2019-05-04Merge pull request #7839 from ShFil119/impr/redundantLéo Lam
Remove redundant initialization
2019-04-30Remove redundant initializationFilip Gawin
2019-04-21OGL: Set shared context state up to match main contextStenzek
Has a better chance of avoiding recompiling if so.
2019-04-21OGL: Fix binding error on shutdownStenzek
This was occurring if the imgui vertex format was bound on shutdown, which is destroyed before the vertex buffers
2019-04-21OGL: Store shader source in OGLShaderStenzek
So it can be dumped with info log when linking fails.
2019-04-21OGL: Remove unused ProgramShaderCache::CompileShader()Stenzek
2019-04-16OGL: Support returning pipeline cache dataStenzek
2019-03-29Merge pull request #7869 from stenzek/d3dcommonConnor McLaughlin
D3D: Move sharable D3D11/D3D12 code to common library
2019-03-29OGL: Support subgroup reduction operations via GL_NV_shader_thread_shuffleStenzek
2019-03-29VertexManagerBase: Increase vertex/uniform buffer sizesStenzek
ZTP was uploading 10MB+ of uniforms per frame, reducing paralellism by forcing GPU waits.
2019-02-19Move most backend functionality to VideoCommonStenzek
2018-12-04Use main buffers for utility drawsStenzek
2018-10-20GLContext: Remove global context pointerStenzek
2018-10-20Refactoring and cleanup of GLInterface (now GLContext)Stenzek
2018-03-16Assert: Remove unused parameter from DEBUG_ASSERTLioncash
This brings the macro in line with the regular ASSERT macro, which only has one macro parameter.