summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
AgeCommit message (Collapse)Author
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...
2018-03-10OGL: Move primitive restart enable logic to GLUtilStenzek
2018-03-10OGL: Add some basic state trackingStenzek
We would want to improve the granularity here in the future, but for now, this should avoid any performance loss from switching to the VideoCommon shader cache.
2018-03-10OGL: Re-implement async shader compilingStenzek
2018-03-10Move shader caches to VideoCommonStenzek
2018-03-10AbstractPipeline: Allow setting pipeline to nullStenzek
2018-03-02VideoCommon: Add support for Abstract FramebuffersStenzek
2018-03-01VideoBackends: Restore the framebuffer as part of the API stateStenzek
It's not often we switch out to draw to the EFB anyway.