summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
AgeCommit message (Collapse)Author
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-24Fix bounding box incorrectly disabled on OpenGL ES 3.1, 3.2blåhaj
2020-11-09OpenGL: Migrate logging over to fmtLioncash
Migrates over to the fmt-capable logger.
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.
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-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-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-06-08Merge pull request #8049 from stenzek/cropConnor McLaughlin
Renderer: Adjust source rectangle when crop would draw off screen
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-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: Only set GL_PROGRAM_POINT_SIZE on desktop GLStenzek
It is always enabled in GLES.
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-29OGL: Support subgroup reduction operations via GL_NV_shader_thread_shuffleStenzek
2019-03-25VideoBackends: Scale bounding box rectangle in the pixel shaderStenzek
2019-03-09FramebufferManager: Implement deferred EFB cache invalidationStenzek
2019-02-19Move most backend functionality to VideoCommonStenzek
2019-02-13Use empty instead of sizeFilip Gawin
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.
2019-01-25Remove old RasterFont classesStenzek
2019-01-25Renderer: Use imgui for drawing debug text and OSDStenzek
2019-01-25RenderBase: Implement imgui renderingStenzek
2019-01-25OGL: Invalidate tracked state when calling ResetAPIState()Stenzek
Due to the current design, any of the GL state can be mutated after calling this function, so we can't assume that the tracked state will match if we call SetPipeline() after ResetAPIState().
2019-01-08Always flush on swapweihuoya
2018-12-04Use main buffers for utility drawsStenzek
2018-12-04Renderer: Add backbuffer format to base classStenzek
2018-12-04Renderer: Add a base Initialize() method to match Shutdown()Stenzek
2018-11-07OGL: Fix crash when opening graphics window on another backendStenzek
2018-10-20GLContext: Use destructor instead of Shutdown() to cleanupStenzek
Also uses the Initialize() method to make the context current.
2018-10-20GLContext: Remove global context pointerStenzek
2018-10-20Renderer: Pull dimensions from GLInterface/SwapchainStenzek
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek
2018-10-20Refactoring and cleanup of GLInterface (now GLContext)Stenzek
2018-05-26VideoConfig: Add a field for indicating logic op support in the backendStenzek
2018-05-22OGL: Fix EFB access in MSAA-modeStenzek
2018-04-29Implement EFB copy filter and gamma in hardware backendsStenzek
Also makes y_scale a dynamic parameter for EFB copies, as it doesn't make sense to keep it as part of the uid, otherwise we're generating redundant shaders.
2018-04-17Fix some warningsTillmann Karras
2018-04-12Reformat all the things!spycrab
2018-04-01Remove support for projection hacksJosJuice
This isn't really useful for anything anymore as far as I know.
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.
2018-03-14Assert: Uppercase assertion macrosLioncash
Macros should be all upper-cased. This is also kind of a wart that's been sticking out for quite a while now (we avoid prefixing underscores).
2018-03-12OGL: Scale OSD text on big screens.degasus
2018-03-12OGL: Warn if buffer_storage isn't available.degasus
Yes, this commit is only to blame OSX and Mali. Through the former supports unsynchronized mappings, the latter supports *no* way to stream dynamic data at all. Let's try to make bad news, as they ignore friendly feature requests. Maybe we just need to make more noise...