Commit Graph

246 Commits

Author SHA1 Message Date
Jules Blok 94927f360f VideoCommon: Add a user-defined far clipping plane. 2016-08-15 13:11:28 +02:00
Jules Blok 6e2052fae6 OGL: Disable clip distance on when not in a game-like state. 2016-08-15 13:11:27 +02:00
Jules Blok a141e91dd2 OGL: Check for GL_DEPTH_CLAMP support.
It's not available in OpenGL ES and officially it's not supported on OpenGL 3.0/3.1.

Fallback to old depth range code if there is no method to disable depth clipping.
It's more important to have correct clipping than to have accurate depth values.
Inaccurate depth values can be fixed by slow depth.
2016-08-15 13:11:26 +02:00
Jules Blok 4582853af4 VertexShaderGen: Use reversed depth range. 2016-08-15 13:11:26 +02:00
Jules Blok e9e81ece65 VideoBackends: Enable depth clamping. 2016-08-15 13:11:25 +02:00
Jules Blok b1ed7e80fb VertexShaderGen: Clip z using user-defined clipping planes. 2016-08-15 13:11:25 +02:00
Jules Blok c223bd47b9 VideoCommon: Implement depth range equation in vertex shader. 2016-08-15 13:11:23 +02:00
degasus 7833ff25df VideoBackends: Merge Initialize and Shutdown functions. 2016-06-26 12:34:59 +02:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Scott Mansell d197f489b9 analytics: Report OpenGL's adapter name too. 2016-06-20 23:54:44 +12:00
Anthony Serna 0e5852f634 [OGL] Workaround nvidia being weird with GL_MAX_TEXTURE_SIZE 2016-05-30 10:06:19 -05:00
degasus 6219c39cf5 OGL: Drop QC ES3.1 workaround.
This was never tested well:

HdkR> The tester was most likely trying to load a stale shader cache or something
2016-05-11 20:45:07 +02:00
Stenzek 6f3573dda8 D3D12: Implement XFB encoding/decoding (support Real XFB) 2016-05-08 23:18:51 +10:00
Scott Mansell 066b6b0bcb OpenGL: Cache query to max texture size.
This showed up really high when I was profiling things.
2016-03-26 03:14:39 +13:00
Ryan Houdek e1f21602fd Merge pull request #3426 from Sonicadvance1/ES_fix_framedump
Add support for framedumping to OpenGL ES.
2016-01-28 18:24:32 -05:00
Lioncash 5ebd1e215b Fifo: Make g_bSkipCurrentFrame a TU-local variable
This is only ever queried, making it a global isn't necessary.
2016-01-25 05:23:14 -05:00
Ryan Houdek 3dda36bc5b Blacklist Sandy Bridge on mesa from using geometry shaders. 2016-01-20 12:13:21 -06:00
degasus 5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
Ryan Houdek 5a549ef663 [Android] Add support for rotation and minimizing the application 2016-01-10 13:00:32 -06:00
Pierre Bourdon e7fbd1fd50 Merge pull request #3439 from Armada651/depth-range
Render: Clamp the z range to the full range.
2016-01-10 19:09:57 +01:00
Ryan Houdek b4eb5d8e3f Disable geometry shaders on mesa AMD/ATI drivers.
Causes misrenderings in games that uses them.
2016-01-09 15:09:37 -06:00
Ryan Houdek 3f15aa4b57 Add support for framedumping to OpenGL ES. 2016-01-09 00:21:20 -06:00
Pierre Bourdon bf1c53a6e8 Merge pull request #3451 from RisingFog/libav
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-09 01:01:05 +01:00
Chris Burgener c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
Ryan Houdek 0a42a0ab1b Merge pull request #3428 from Sonicadvance1/proper_glextensions
Make GLExtensions no longer require slghtly modified GL headers
2016-01-06 15:24:47 -05:00
Markus Wick ca7160f714 Merge pull request #3434 from lioncash/enum
OnScreenDisplay: Make CallbackType an enum class
2016-01-04 13:47:22 +01:00
Lioncash 1bcfae5fd7 OGL: Correct unique_ptr types
By default unique_ptr will call delete on the given type if an array
qualifier isn't present, not delete[]. It's important to explicitly
specify an array is being handled.
2016-01-03 16:00:16 -05:00
Jules Blok 8c3108b354 Render: Clamp the z range to the full range. 2016-01-03 15:39:34 +01:00
Lioncash 01f99a04a2 VideoBackend: Get rid of a boolean global
Also gets rid of global headers
2016-01-02 18:03:28 -05:00
Lioncash edda018d54 OnScreenDisplay: Make CallbackType an enum class 2016-01-02 14:57:55 -05:00
Ryan Houdek 37525f3fcf Make GLExtensions no longer require slghtly modified GL headers.
In fact, removes the need for external headers at all.
2016-01-02 10:34:13 -06:00
Ryan Houdek b4e9bbb551 Merge pull request #3336 from Sonicadvance1/improve_glextensions
[GLExtensions] Improve the extension loader.
2016-01-01 13:01:51 -05:00
Markus Wick 330329254c Merge pull request #3361 from stenzek/d3d-vectored-efb-pokes
D3D: Implement vectored efb pokes
2015-12-30 15:27:24 +01:00
Stenzek 12ef4c8ae0 OGL: Fix for black framebuffer when resolution/msaa mode changes 2015-12-23 23:29:32 +10:00
Lioncash da0e647346 Render: Get rid of explicit new and delete 2015-12-22 19:10:05 -05:00
Lioncash f295182833 VideoBackends: Simplify initialization and deinitialization of resources
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-12-20 22:40:37 -05:00
Stenzek a61fc372bb VideoCommon: Change PokeEFB to take a pointer rather than a vector
This saves allocating a vector for the pass-through path.
2015-12-20 14:42:14 +10:00
degasus e26d9f7c35 MSAA: Store samples in ini files. 2015-12-15 09:41:01 +01:00
Ryan Houdek 78dda1cf79 [OGL] Update extension checks in Render.
This was relying on behaviour that GLExtensions was adding fake extensions to the supported list with ES.
This no longer happens so it needed to be changed.
2015-12-13 11:39:45 -06:00
Ryan Houdek ed5e3c054e Enable Anisotropic filtering in ES.
This adds a check to make sure the vendor supports anisotropic filtering.
Pretty much all vendors support this, even the mobile ones.
2015-11-19 02:00:43 -06:00
Scott Mansell 51c984dde3 Remove the "Show EFB Copy Regions" debug option.
It was only implemented in OpenGL, though the option was visible in both
backends, leading to memory leaks if you enabled it in DirectX.

And it wasn't particularly useful as a debug feature as it only showed
where in the EFB the copies were taken from, not what format it was, or
what the copy was used for, or what content was in the EFB at that point
in time.

Also, it stretched the copy regions relative to the window, so the
on-screen regions don't even line up with the window unless the game used
the full EFB (some pal games) and you game image stretched to the full
window.
2015-11-05 18:15:46 +13:00
Scott Mansell e7b2a22225 Support Conservative Depth as a fallback for EarlyZ
Allows Mesa based drivers to support ZCompLoc
2015-10-18 01:46:54 +13:00
Lioncash d6ff75d71d OGL: Remove unnecesary FPSCounter include from Render.cpp 2015-09-29 10:01:38 -04:00
Scott Mansell c9836ff592 EGL: Don't depend on VideoCommon or Core 2015-09-22 00:36:48 +12:00
Scott Mansell 95f3c956a8 Move GL interface code out of the OpenGL video backend. 2015-09-22 00:36:45 +12:00
Ryan Houdek 5556781946 Merge pull request #3018 from Armada651/ogl-tab
OGL: Invert Top-and-Bottom mode.
2015-09-12 02:21:19 -04:00
Ryan Houdek 17ff069d4a Merge pull request #3002 from degasus/master
OGL: reimplement SSAA based on ARB_gpu_shader5
2015-09-12 02:14:45 -04:00
Jules Blok 99c08c89bb OGL: Invert Top-and-Bottom mode. 2015-09-10 22:22:26 +02:00
Ryan Houdek 3014feedc8 Merge pull request #3012 from degasus/destAlpha
VideoCommon: Drop "Disable destAlpha" hack
2015-09-10 13:56:43 -04:00
Scott Mansell de9310fe70 Split OpenGL errors into a separate logtype from Video errors.
Allows them to be enabled/disabled separately.
2015-09-10 18:38:45 +12:00