Commit Graph

1078 Commits

Author SHA1 Message Date
447b1b09e3 Support OpenGL ES 3.2.
OpenGL ES 3.2 adds a few things we care about supporting in core. In particular:
- GL_{ARB,EXT,OES}_draw_elements_base_vertex
- KHR_Debug
- Sample Shading
- GL_{ARB,EXT,OES,NV}_copy_image
- Geometry shaders
- Geometry shader instancing (If they support GL_{EXT,OES}_geometry_point_size)

Nvidia was the first to release an OpenGL ES 3.2 driver which I uesd to test this on.
This also enables GS Instancing on GLES 3.1 hardware if it supports all of the required extensions.
2015-08-26 17:57:51 -05:00
b4e4a4cef4 Disable OpenGL ES 3.1 on all Qualcomm Adreno devices.
Their new driver that supports GLES3.1 + AEP has issues with it.
At the very least they don't implement all of the geometry shader features fully which causes shader linker issues when we attempt to use them.
I don't have a device so I can't fully test, so until I do I'm going to blanket disable the whole thing.
2015-08-22 09:12:19 -05:00
3f1055de94 Fix a memory leak in the EGL GLInterface. 2015-08-18 08:26:45 -05:00
7e266b080f TextureCache: Remove redundant floor(). 2015-08-15 15:30:50 +02:00
b01ca1794a Revert "VideoCommon: Clamp integer conversions."
This reverts commit 0f2c72f0f8.
2015-08-15 13:50:43 +02:00
c80e3089c8 [GLES] Fix real XFB.
GLES doesn't support the BGRA texture format type, just use RGBA.
2015-08-12 17:32:05 -05:00
ca250f6b71 Specified the type of AA in OGL AA settings 2015-08-09 09:59:20 -07:00
d3cf4034de DriverDetails: Disable GL_ARB_copy_image on mesa. 2015-08-06 19:41:36 +02:00
e2f42f8fd0 OGL: Move copy_image variable into backend. 2015-08-06 19:41:36 +02:00
0faba3b018 Changed the aspect ratio settings to account for NTSC/PAL pixel aspect ratios and VI scaling. 2015-07-31 19:58:02 -04:00
7ee0e75633 Remove unnecessary virtual keywords 2015-07-30 10:33:08 -04:00
efd250494d Video: stride in bytes rather than pixels 2015-07-25 02:48:56 +08:00
c43ae67b3b RealXFB sizes don't get scaled by IR
When calculating the size of the undisplayed margin in the case where
fbWidth != fbStride for RealXFB for displaying in the output window,
we do not scale by IR - RealXFB is implicitly 1x.
2015-07-25 01:52:13 +08:00
2e28ed3291 Video: respect stride of efb copies to xfb 2015-07-25 01:52:12 +08:00
c81bd32720 Merge pull request #2764 from Sonicadvance1/pvr_workaround3
Work around devices that choose to only return the default EGL_RENDERABLE_TYPE
2015-07-22 16:47:11 -05:00
6bcdae616b Merge pull request #2679 from Tinob/master
Implement scaled partial texture updates
2015-07-22 19:04:04 +02:00
c4f0515141 Work around devices that choose to only return the default EGL_RENDERABLE_TYPE
The default EGL_RENDERABLE_TYPE is GLES1, so vendors have the ability to choose between returning only the bits requested, or all of the bits
supported in addition to the one requested.
PowerVR chose to take the route where they only return the bits requested, everyone else returns all of the bits supported.
Instead of letting the vendor have control of this, let's incrementally go through each renderable type and make sure it supports everything we want.
This will cover all devices for now, and for the future.
2015-07-22 11:11:23 -05:00
dc46ae0380 Fix an oversight in GLExtensions
I only wanted to erase the first character in the string, not the entire thing.
Fixes Qualcomm and PowerVR devices crashing out immediately.
2015-07-20 22:01:23 -05:00
d8cd2c3252 Implement scaled partial texture updates 2015-07-02 08:53:40 -03:00
75a9740ab7 Merge branch 'stable' 2015-06-25 12:24:15 +02:00
8fd5f249fa Merge pull request #2656 from Armada651/ogl-inv-depth
OGL: Allow inverted depth ranges.
2015-06-25 12:06:56 +02:00
0034492151 Add an OSD notification for screenshot saving 2015-06-25 09:23:37 +02:00
30eae0d258 Merge pull request #2657 from lioncash/screenshot
Render: Add an OSD notification for screenshot saving
2015-06-25 09:22:26 +02:00
521f6e89c3 Merge pull request #2624 from sigmabeta/android-save-screenshot
Android: Save screenshot at end of an emulation session.
2015-06-24 21:39:47 -05:00
67c5ce5d96 Add an OSD notification for screenshot saving 2015-06-24 21:44:38 -04:00
743296f1c4 OGL: Allow inverted depth ranges. 2015-06-24 22:28:36 +02:00
83ab721939 Fix -Wformat-extra-args warning 2015-06-24 14:44:09 +02:00
a028805626 Android: Save screenshot at end of an emulation session. 2015-06-23 22:22:01 -04:00
0ed6b5623f Support partial texture updates via efb copies 2015-06-21 14:02:44 +02:00
7085fcc8d6 Fix FreeBSD build 2015-06-13 21:52:47 -07:00
c375111076 Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
3f46491255 Fix OpenGL ES shader compilation. 2015-06-07 19:44:44 -05:00
37dc8661ab Revert "Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.""
This reverts commit 9ef1ca4141.
2015-06-06 20:10:23 +02:00
8cc271516d Revert "Revert "OGL: Change the depth buffer type to GL_FLOAT.""
This reverts commit 05d60f4fef.
2015-06-06 20:09:22 +02:00
5650b9e970 Revert "OGL: Use floating point arithmetic to scale the depth value."
This reverts commit 05f42f94a0.
2015-06-06 20:07:49 +02:00
ef1dfa8bcb VideoBackends: Allow the viewport to use the full depth range. 2015-06-06 03:37:46 +02:00
95a2abc1ce Use PanicAlertT instead of PanicAlert when appropriate
I tried to change messages that contained instructions for users,
while avoiding messages that are so technical that most users
wouldn't understand them even if they were in the right language.
2015-06-04 13:25:06 +02:00
bcd77f9a3a Merge pull request #2482 from degasus/ogl_poke_z
OGL: Rewrite POKE_Z with a draw call
2015-06-03 20:35:34 +02:00
a3b3f0522b Merge pull request #1556 from comex/project-moration
Rudimentary version of Wii IPC determinism.  Ported from my old udpnet branch.
2015-06-02 18:38:19 -04:00
84b13de538 OGL: Rewrite POKE_Z with a draw call
It's now also merged and it should be faster than the glClear way.
2015-06-02 23:06:41 +02:00
ebf3048494 Fix invalid enums on OpenGLES 2015-06-02 12:13:31 -04:00
c4fc141ced OGL: Always use sampler objects.
We are used to use the texture parameter for all util draw calls,
but AMD seems to have a bug where they use the sampler parameter
of stage 0 if no sampler is bound to the used stage.
So as workaround (and a bit as nicer code), we now use sampler
objects everywhere.
2015-05-29 14:03:03 +02:00
ac26f8e79f Pass strings by const reference where possible 2015-05-28 20:54:55 -04:00
a225426510 Rewrite FileSearch and improve ScanDirectoryTree.
- 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-28 19:14:42 -04:00
285ac34bf3 OGL: use GL_TEXTURE* constants 2015-05-27 15:05:49 +02:00
dad5d8e13d Merge pull request #2357 from degasus/ogl_efb_poke_merge
ogl: efb poke merge
2015-05-25 23:26:39 -04:00
30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
268f52e054 Add missing license headers 2015-05-25 13:11:47 +02:00
e31982474c OGL: Depth range inversion. 2015-05-22 23:52:22 +02:00