summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL
AgeCommit message (Collapse)Author
2020-07-08Reword "Please avoid forcing Dolphin to use MSAA by the driver" messageJosJuice
Some users who get this error don't seem to gain much understanding of how to resolve the problem from reading the error message.
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-05-24FramebufferManager: Copy to color format for depth readbacks on GLESStenzek
glReadPixels() with depth formats is not supported. Should fix broken EFB access on GLES.
2020-01-24Add Dolphin version and current video backend to shader compilation logsRyan Meredith
2019-12-29OGL/Render.cpp, InitDriverInfo(): Use std::string_view to eliminate string ↵David Korth
copies. Consolidate the NVIDIA Tegra and non-Tegra checks into one branch.
2019-12-28Add an ARM64 target to Visual Studio projectsStenzek
2019-12-05VideoCommon/IndexGenerator: Eliminate static stateLioncash
Now that we've extracted all of the stateless functions that can be hidden, it's time to make the index generator a regular class with active data members. This can just be a member that sits within the vertex manager base class. By deglobalizing the state of the index generator we also get rid of the wonky dual-initializing that was going on within the OpenGL backend. Since the renderer is always initialized before the vertex manager, we now only call Init() once throughout the execution lifecycle.
2019-11-30Update VS projects/solutions to VS2019Stenzek
2019-11-28Common: Unify logging namespace with CommonLioncash
Previously the logging was a in a little bit of a disarray. Some things were in namespaces, and other things were not. Given this code will feature a bit of restructuring during the transition over to fmt, this is a good time to unify it under a single namespace and also remove functions and types from the global namespace. Now, all functions and types are under the Common::Log namespace. The only outliers being, of course, the preprocessor macros.
2019-07-26OGL/ProgramShaderCache: Convert typedef over to a using aliasLioncash
Same thing, but nicer to read from left to right.
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-16VideoCommon: Remove unused MathUtil.h include from VideoCommon.hLioncash
This header doesn't actually make use of MathUtil.h within itself, so this can be removed. Many other source files used VideoCommon.h as an indirect include to include MathUtil.h, so these includes can also be adjusted. While we're at it, we can also migrate valid inclusions of VideoCommon.h into cpp files where it can feasibly be done to minimize propagating it via other headers.
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-06-08Merge pull request #8049 from stenzek/cropConnor McLaughlin
Renderer: Adjust source rectangle when crop would draw off screen
2019-06-01Common/CommonFuncs: Remove now-unneccessary ArraySize functionLioncash
Since C++17, non-member std::size() is present in the standard library which also operates on regular C arrays. Given that, we can just replace usages of ArraySize with that where applicable. In many cases, we can just change the actual C array ArraySize() was called on into a std::array and just use its .size() member function instead. In some other cases, we can collapse the loops they were used in, into a ranged-for loop, eliminating the need for en explicit bounds query.
2019-05-31VideoOGL/CMakeLists: Specify headers in target sourcesLioncash
2019-05-30VideoCommon/RenderBase: Use a std::string_view with CreateShaderFromSource()Lioncash
Greatly simplifies the overall interface when it comes to compiling shaders. Also allows getting rid of a std::string overload of the same name. Now std::string and const char* both go through the same function.
2019-05-06Reformat repo to clang-format 7.0 rulesTechjar
2019-05-04Merge pull request #7839 from ShFil119/impr/redundantLéo Lam
Remove redundant initialization
2019-04-30Remove redundant initializationFilip Gawin
2019-04-28Renderer: Adjust target rectangle in the base classStenzek
2019-04-28Renderer: Adjust source rectangle when crop would draw off screenStenzek
This prevents us from requiring an oversized and/or negative viewport by shrinking the source rectangle instead.
2019-04-21OGL: Set shared context state up to match main contextStenzek
Has a better chance of avoiding recompiling if so.
2019-04-21OGL: Only set GL_PROGRAM_POINT_SIZE on desktop GLStenzek
It is always enabled in GLES.
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-21Replace EFBRectangle/TargetRectangle with MathUtil::RectangleStenzek
2019-04-16OGL: Support returning pipeline cache dataStenzek
2019-04-16AbstractPipeline: Support returning "cache data"Stenzek
"Cache data" can be used to assist a driver with creating pipelines by using previously-compiled shader ISA.
2019-03-31Merge pull request #7939 from Techjar/no-more-disabled-gfx-featuresConnor McLaughlin
Qt/HacksWidget: Fix backend feature support checks
2019-03-29Qt/HacksWidget: Fix backend feature support checksTechjar
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-03-29VideoBackends: Verify validity before doing full renderer initStenzek
Prevents attempting to create invalid MSAA configurations, for example.
2019-03-25VideoBackends: Scale bounding box rectangle in the pixel shaderStenzek
2019-03-09FramebufferManager: Implement deferred EFB cache invalidationStenzek
2019-03-09VideoConfig: Add SupportsPartialDepthCopies to backend infoStenzek
D3D11 doesn't support partial copies of depth buffers via CopySubResource(), so we need to use a different path for the EFB cache.
2019-02-28VideoBackends: Fix GPU decoding of XFB buffersStenzek
Was using UNORM instead of UINT, resulting in invalid values.
2019-02-19Move most backend functionality to VideoCommonStenzek
2019-02-13Merge pull request #7798 from ShFil119/impr/emptyTilka
Use empty instead of size
2019-02-13Use empty instead of sizeFilip Gawin
2019-02-03Merge pull request #7716 from stenzek/stereoTilka
Stereoscopy regression fixes
2019-01-27Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabledStenzek
2019-01-25Decouple XFB scanout from presentationStenzek
2019-01-25VideoBackends: Store a backbuffer 'scale'Stenzek
This is a scaling factor, used for hi-dpi configurations.