summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/main.cpp
AgeCommit message (Collapse)Author
2016-01-24OpcodeDecoder: Add namespaceLioncash
2016-01-12Fifo: Create a "Fifo" namespace.degasus
2016-01-06VideoConfig: Use "GFX.ini" for both D3D and OGL.degasus
They share the same format, so there is no need to separate their configs.
2016-01-04Merge pull request #3434 from lioncash/enumMarkus Wick
OnScreenDisplay: Make CallbackType an enum class
2016-01-02VideoBackend: Get rid of a boolean globalLioncash
Also gets rid of global headers
2016-01-02OnScreenDisplay: Make CallbackType an enum classLioncash
2015-12-23Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"Jules Blok
This reverts commit 81414b4fa2edadf0b2a2bb0bd4df61dd59165eec, reversing changes made to b926061f641692ae31bacbeba304f5941db7d3bc. Conflicts: Source/Core/DolphinWX/Frame.cpp Source/Core/VideoCommon/VideoConfig.cpp Source/Core/VideoCommon/VideoConfig.h
2015-12-20VideoBackends: Simplify initialization and deinitialization of resourcesLioncash
Approximately three or four times now, the issue of pointers being in an inconsistent state been an issue in the video backend renderers with regards to tripping up other developers. Global (ugh) resources are put into a unique_ptr and will always have a well-defined state of being - null or not null
2015-10-10OGL: simplify AA modes initializationTillmann Karras
2015-10-03Merge pull request #3076 from void-ghost/stereo3d_presetsshuffle2
Stereo3d presets
2015-10-02Merge pull request #3075 from waddlesplash/no-regexpScott Mansell
FileSearch: Don't use RegExes, just do string comparisons.
2015-09-27OGL: Use SplitPath() instead of std::regex.waddlesplash
2015-09-27FileSearch: Don't use RegExs, just do string comparisons.waddlesplash
Nothing used the RegEx feature of FileSearch, and GCC < 4.9 doesn't support C++11 RegEx properly, so get rid of it.
2015-09-26Merge pull request #3035 from aserna3/SSAAImprovementsRyan Houdek
Improved OGL and D3D's AA options in UI
2015-09-25Improved D3D and OGL AA option UIAnthony Serna
Removed Quality Levels from D3D AA options Dropdown text now shows whether you're applying MSAA or SSAA Added a description for SSAA Moved SSAA checkbox Cleaned up AA in backends slightly. Supported modes is now a list of ints.
2015-09-22VideoBackend: Video config filename is now exposed in VideoBackends.ghost
It reduces redundancy. Needed make possible to save current video config.
2015-09-22WGL: Don't depend on Core/VideoCommonScott Mansell
2015-09-22Move GL interface code out of the OpenGL video backend.Scott Mansell
2015-09-05Properly support MSAA and SSAA as separate features(+GLES)Ryan Houdek
SSAA relies on MSAA being active to work. We only supports 4x SSAA while in fact you can enable SSAA at any MSAA level. I even managed to run 64xMSAA + SSAA on my Quadro which made some pretty sleek looking games. They were very cinematic though. With this, it properly fixes up SSAA and MSAA support in GLES as well. Before they were broken when stereo rendering was enabled. Now in GLES they can properly support MSAA and also stereo rendering with MSAA enabled(with proper extensions).
2015-08-09Specified the type of AA in OGL AA settingsAnthony Serna
2015-05-28Rewrite FileSearch and improve ScanDirectoryTree.comex
- FileSearch is now just one function, and it converts the original glob into a regex on all platforms rather than relying on native Windows pattern matching on there and a complete hack elsewhere. It now supports recursion out of the box rather than manually expanding into a full list of directories in multiple call sites. - This adds a GCC >= 4.9 dependency due to older versions having outright broken <regex>. MSVC is fine with it. - ScanDirectoryTree returns the parent entry rather than filling parts of it in via reference. The count is now stored in the entry like it was for subdirectories. - .glsl file search is now done with DoFileSearch. - IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the results after replacements for better determinism.
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-03-08Merge pull request #2092 from Sonicadvance1/gles_occlusion_queriesRyan Houdek
Implement full occlusion queries for the Nexus 9.
2015-02-24OGL: support palette texture decodingdegasus
2015-02-21Implement full occlusion queries for the Nexus 9.Ryan Houdek
GLES3 spec is worthless and only returns a boolean result for occlusion queries. This is fine for simple cellular games but we need more than a boolean result. Thankfully Nvidia exposes GL_NV_occlusion_queries under a OpenGL ES extension, which allows us to get full samples rendered. The only device this change affects is the Nexus 9, since it is an Nvidia K1 crippled to only support OpenGL ES. No other OpenGL ES device that I know of supports this extension.
2015-02-19Decode EFB copies used as paletted textures.magumagu
A number of games make an EFB copy in I4/I8 format, then use it as a texture in C4/C8 format. Detect when this happens, and decode the copy on the GPU using the specified palette. This has a few advantages: it allows using EFB2Tex for a few more games, it, it preserves the resolution of scaled EFB copies, and it's probably a bit faster. D3D only at the moment, but porting to OpenGL should be straightforward..
2015-02-01VideoBackends: set GLInterface to zero after deleting itdegasus
This fixes a crash on opening the gfx settings after closing a game.
2015-01-31OGL: Fix a memory leak that would occur every time a game is launchedLioncash
2015-01-25PostProcessing: Add support for user-supplied anaglyph shaders.Jules Blok
There are lots of different anaglyph glasses out there and there may be even more creative uses for stereoscopic post-processing shaders.
2015-01-21Merge pull request #1869 from Stevoisiak/GeneralConsistencyRyan Houdek
Minor consistency changes
2015-01-12Minor consistency changesStevoisiak
Mostly small changes, like capitalization and spelling
2015-01-11TexCache: rewrite level calculationdegasus
2014-12-21VideoCommon: split VertexLoaderBase from VertexLoaderdegasus
2014-12-20OGL: Fix OGL3 with stereo enableddegasus
2014-12-18OGL: Don't generate a geometry shader if the backend doesn't support it.Jules Blok
This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag.
2014-12-14VideoCommon: Add a separate constants buffer for the geometry shader.Jules Blok
2014-12-14D3D: Add 3D vision support.Jules Blok
2014-11-23VideoConfig: Limit the Stereo 3D option to the OpenGL backend.Jules Blok
2014-11-17OGL: implement bounding box support with ssbodegasus
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-10-26OGL: Get rid of error macrosLioncash
2014-09-04VideoCommon: Remove support for decoding to ARGB texturesJasper St. Pierre
The D3D / OGL backends only ever used RGBA textures, and the Software backend uses its own custom code for sampling. The ARGB path seems to just be dead code. Since ARGB and RGBA formats are similar, I don't think this will make the code more difficult to read or unable to be used as reference. Somebody who wants to use this code to output ARGB can simply modify the MakeRGBA function to put the shift at the other end.
2014-08-26Unify three types of non-FIFO requests to the GPU thread around ↵comex
Common::Event and Common::Flag. The only possible functionality change is that s_efbAccessRequested and s_swapRequested are no longer reset at init and shutdown of the OGL backend (only; this is the only interaction any files other than MainBase.cpp have with them). I am fairly certain this was entirely vestigial. Possible performance implications: efbAccessReady now uses an Event rather than spinning, which might be slightly slower, but considering the slow loop the flags are being checked in from the GPU thread, I doubt it's noticeable. Also, this uses sequentially consistent rather than release/acquire memory order, which might be slightly slower, especially on ARM... something to improve in Event/Flag, really.
2014-08-19Core: Don't pass through a reference to the window handleJasper St. Pierre
Now that MainNoGUI is properly architected and GLX doesn't need to sometimes craft its own windows sometimes which we have to thread back into MainNoGUI, we don't need to thread the window handle that GLX creates at all. This removes the reference to pass back here, and the g_pWindowHandle always be the same as the window returned by Host_GetRenderHandle(). A future cleanup could remove g_pWindowHandle entirely.
2014-08-17Merge pull request #790 from lioncash/ogl-cleanupLioncash
Small OGL cleanup
2014-08-15OGL: Get rid of an unnecessary WIN32 ifdef in main.cppLioncash
2014-08-15OGL: Fix brace and body placementsLioncash
Also got rid of void argument specifiers. These are a carryover from C.
2014-08-13Change OpenGL's post processing to use the new VideoCommon PP object.Ryan Houdek
Let's OpenGL's PostProcessing namespace be changed to a class inheriting from VideoCommon's PostProcessing class.
2014-08-03Isolate D3D and Software Renderer from wxWidgets codeLioncash
2014-08-02Move GLInterface around to remove VideoBackends dependency on DolphinWXPierre Bourdon