summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
AgeCommit message (Collapse)Author
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.
2018-02-23Merge pull request #6042 from stenzek/videocommon-pipelinesAnthony
VideoCommon pipelines ("Abstract Pipeline")
2018-02-23OGL: Call GLInterface->Update() on window resizeStenzek
macOS in particular requires the context be updated manually when the window is resized.
2018-02-22VideoBackends: Add AbstractShader and AbstractPipeline classesStenzek
2018-02-22GLUtil: Drop now-unused attributeless VAO helpersStenzek
2018-02-22OGL: Track state of last bound vertex array objectStenzek
This reduces the overhead of calling glBindVertexArray() every time RestoreAPIState() is called, even when it is redundant.
2018-02-20Renderer: Handle resize events on-demand instead of pollingStenzek
We now differentiate between a resize event and surface change/destroyed event, reducing the overhead for resizes in the Vulkan backend. It is also now now safe to change the surface multiple times if the video thread is lagging behind.
2018-02-20OGL: Clear backbuffer before presenting instead of at start of frameStenzek
2018-02-20BPFunctions: Move upscaling of scissor rect to VideoCommonStenzek
2018-02-20BPFunctions: Move GX viewport conversion to VideoCommonStenzek
2018-02-07Merge pull request #6334 from stenzek/startupAnthony
Video Backend Initialization/Core Boot Improvements
2018-01-29Merge pull request #6303 from TraceBullet/auto-adjust-window-sizeStenzek
Fix Auto-Adjust Window Size option making the window too large
2018-01-27VideoBackends: Combine Initialize/Prepare and Cleanup/Shutdown methodsStenzek
Also allows the work previously done in Prepare to return a failure status.
2018-01-26Fix Auto-Adjust Window Size option making the window too largeTraceBullet
2018-01-22AbstractTexture: Move Bind() method to RendererStenzek
This makes state tracking simpler, and enables easier porting to command lists later on.
2018-01-05Standardise some enums from ALL_CAPS to CamelCaseJonathan Hamilton
2018-01-05Implement dual-source blending in shaderJonathan Hamilton
For some GLES drivers that don't support dual-source blending, but do support GL_EXT_shader_framebuffer_fetch, this might be useful.
2017-12-01Merge pull request #6193 from stenzek/readbacksStenzek
Abstract Staging Textures - VideoCommon interface for texture readbacks/uploads
2017-11-23OGL: Fix headless frame dumpingStenzek
Also skips swapping the window system buffers in headless mode, as there may not be a surface which can be swapped in the first place. Instead, we call glFlush() at the end of a frame in this case.
2017-11-23OGL: Update the window size after swapping buffers, not beforeStenzek
Prevents us from rendering beyond the viewport bounds.
2017-11-22VideoBackends: Add AbstractStagingTexture classStenzek
Can be used for asynchronous readback or upload of textures.
2017-11-22VideoCommon: Move abstract texture creation function to RendererStenzek
2017-11-19Merge pull request #6186 from lioncash/enum-classLeo Lam
VideoConfig: Make AspectMode and StereoMode enum classes
2017-11-19VideoBackends: Remove header inclusions made unnecessary with Hybrid XFBLioncash
Just some inclusions that weren't removed in the initial Hybrid XFB PR.
2017-11-18VideoConfig: Make StereoMode an enum classLioncash
Makes for more strongly-typed identifiers (and doesn't pollute surrounding namespaces)
2017-11-17Hybrid XFB: Fix lint errorsiwubcode
2017-11-17Video Backends: Remove the right of the xfb region for games where theiwubcode
VI stride does not match the VI width