Ryan Houdek
91619e28b8
Pull in the glRenderbufferStorageMultisample function pointer at run time.
2013-09-22 09:10:47 -05:00
Ryan Houdek
53b93f8cd5
Allow GLES3 hardware to support FSAA. Need a GUI option for this on Android devices.
2013-09-22 13:54:47 +00:00
degasus
28f2bd310d
ogl: don't PanicAlert on shader compiler warnings
2013-09-18 11:47:44 +02:00
Ryan Houdek
24a44ecfb8
[ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had.
2013-09-18 02:37:10 -05:00
degasus
6cc30f3b23
Revert "ogl: change the default buffer upload on osx+nvidia"
...
This reverts commit 3b0b5155e8
.
It seems that both unsync upload methods are broken on osx+nvidia, so switch back to the default one :-(
2013-09-18 02:23:47 +02:00
Ryan Houdek
7397867b21
[GLES3] Enable support for primitive restart.
2013-09-16 15:43:57 +00:00
Pierre Bourdon
501eafb407
Overlay local gameinis over global gameinis instead of copying.
...
Huge megacommit because a lot of things needed to be modified to make this
possible.
2013-09-14 17:46:41 +02:00
Pierre Bourdon
e7213ca4b1
Overlay the user Shaders/ over the shared one to avoid copying files
2013-09-14 06:08:30 +02:00
Jordan Woyak
fde3815d34
Replace ARRAYSIZE macro with another ugly macro. At least this will throw an error for a non-array and won't conflict with Windows macro names.
2013-09-11 19:19:36 -05:00
degasus
3b0b5155e8
ogl: change the default buffer upload on osx+nvidia
2013-09-11 11:02:09 +02:00
degasus
cd7f787627
ogl: also restore logic op for util shaders
2013-09-09 23:21:56 +02:00
degasus
7e1959a200
ogl: remove obsolete code
2013-09-03 18:51:30 +02:00
degasus
0255e13912
ogl: disable revision 737df2a68c
for desktop ogl
...
texelFetch doesn't filter linear, so every copy with filters didn't work correctly. This is still the case for gles, but this will be fixed after the 4.0 release.
Fixes issue 6465.
2013-09-03 17:36:55 +02:00
degasus
beb57d7fbd
ogl: reorder driver extensions checks
2013-09-02 13:14:45 +02:00
comex
35b8dfbe0c
A few more warnings.
2013-09-01 23:33:35 -04:00
comex
2630169229
More warnings: mark/avert truncating conversions from float.
2013-09-01 22:59:35 -04:00
degasus
e685d198bd
ogl: only free use fences
...
This fixes some opengl error when not all fences are created.
2013-08-29 21:03:48 +02:00
degasus
c9afd83439
ogl: fix vertex stream detection
...
sorry, copy & paste fail
2013-08-29 12:01:34 +02:00
degasus
40a1cb5dfe
ogl: warn on osd if not supported features are enabled
2013-08-27 13:24:23 +02:00
degasus
93f9f23576
ogl: reset api state for blitting
...
glBlitFramebuffer depends on scissior test and color mask. It isn't documented well,
but it does. So we have to reset the apistate before using it.
In this way, there isn't any benefit of glBlitFramebuffer, glDrawArray would be better :-(
2013-08-26 22:18:00 +02:00
degasus
15df7b3445
ogl driverdetails: add flag to disable hacked and pinned memory
...
pinned memory is broken for index buffers
hacked buffer crashes the amd driver
2013-08-26 19:45:19 +02:00
Pierre Bourdon
9deb63a312
Simplify a few OSD::AddMessage calls now that this function accepts std::string objects
2013-08-24 01:44:16 +02:00
degasus
c9e13f6b7a
ogl: fix ubo workaround
2013-08-23 17:53:20 +02:00
degasus
7a5374258e
ogl: rework DriverDetails framework + detect UBO mesa bug
2013-08-23 10:52:29 +02:00
Ryan Houdek
1eb1ba8c3d
Typo + Add Lima to the driverdetails.
2013-08-21 05:41:32 -05:00
Ryan Houdek
1910f5851f
Make us capable of supporting driver specific issues(OSS versus official)
2013-08-21 05:34:52 -05:00
degasus
906cbe5ddf
ogl: enable glsl extension ARB_shader_image_load_store for early-z
2013-08-21 11:48:39 +02:00
degasus
642657d07c
ogl: explain why pinned memory is disabled for index buffer
2013-08-20 19:09:55 +02:00
degasus
7b99fad274
ogl: fix the range of glDrawRangeElements
...
This range isn't the amound of rendered vertices (this is count).
It's the minimum/maximum of the indices in the index buffer.
2013-08-20 15:25:02 +02:00
degasus
64bd6a44d4
ogl: use texture_2d instead of renderbuffer for realxfb + efb2ram fbo
...
It should do the same on gpu, but textures are more flexible.
eg we could copy and sample them directly without blitting.
2013-08-20 15:11:03 +02:00
degasus
9dfb127923
ogl: remove glBindFragDataLocation
...
Without dual source blend, we have only one output per fragment shader,
so this is bound to zero by default.
2013-08-20 14:00:24 +02:00
degasus
23ce6b9227
ogl: remove glMapBuffer as it isn't in gles
2013-08-19 19:20:10 +02:00
Ryan Houdek
49963da371
Put the shader info log at the end of the shader log file. This fixes issue 6495.
2013-08-16 21:05:35 +00:00
Ryan Houdek
10f6117905
Add some ifdef magic to GLFunctions.cpp to make it not directly dependant on GLESv3.
2013-08-15 18:15:55 +00:00
Ryan Houdek
06620ff364
[Android] Fall back to using dlsym on ourselves to pull in OpenGL Functions when eglGetProcAddress fails. This fixes an issue on the Chromebook where I was forced to link to libGLESv2 and pull in the functions statically since eglGetProcAddress wouldn't return any GLESv3 functions. This also changes glMapBuffer to glMapBufferOES because glMapBuffer isn't actually part of the OpenGL ES 3 spec...
2013-08-15 18:07:56 +00:00
Jack Frost
d16f089e88
properly clean up PerfQuery on OGL
2013-08-15 13:52:31 +02:00
Pierre Bourdon
e60e50a198
Respect ShouldEmulate() in PerfQuery implementations for DX11 and OGL (ugly implem, but the current state of VideoCommon does not allow much better)
2013-08-14 23:18:00 +02:00
degasus
dc23a076be
disable emulate format changes on glsl120
...
The current shader uses bit operations which aren't supported by glsl120.
A workaround with round + frac + lots of additions would be possible, but unreadable.
So I think it isn't worth
But this fixes the annoying shader compilation error message
2013-08-06 10:34:30 +02:00
Ryan Houdek
7d187dc597
Change a glClear in the OpenGL renderer to improve performance on Mali chips.
2013-08-02 23:19:16 +00:00
Ryan Houdek
4aba0135e1
[Android] Qualcomm Swap hack isn't needed anymore due to the new StreamBuffer type.
2013-07-26 21:49:48 -05:00
Ryan Houdek
bab2534c36
Didn't mean to disable hacked buffer.
2013-07-27 00:51:26 +00:00
Ryan Houdek
8db9b61be6
Enable the shader cache on GLES3 now that the shaders compile fine on Mali and Adreno.
2013-07-27 00:42:20 +00:00
Ryan Houdek
f786f0f0c6
Remove the broken buffers bug on Mali hardware since it isn't needed anymore using the glBufferData route in the StreamBuffer class.
2013-07-27 00:41:38 +00:00
Ryan Houdek
319e29e7d0
Add the new glBufferData stream buffer type to the streambuffer class which is hugely more efficient on Mali drivers.
2013-07-27 00:40:16 +00:00
Ryan Houdek
a9ebd7d3e5
Fix Android Build.
2013-07-26 15:02:03 +00:00
Ryan Houdek
6887a0c341
Change from using glDrawElements/glDrawElementsBaseVertex to glDrawRangeElements/glDrawRangeElementsBaseVertex. On Mali, this reduces a internal function usage from 8% to off the charts.
2013-07-26 14:51:04 +00:00
Ryan Houdek
3e697b363e
Fix an issue where TextureConverter.cpp was creating a renderbuffer with the wrong format. Also a few minor shader issues where they were using integers in place of floats.
2013-07-25 18:39:00 +00:00
Ryan Houdek
672871b3be
Add in the Mali driver bug so we can call glFlush every flush. It seemingly is quicker calling flush every time instead of every n times.
2013-07-25 05:44:20 +00:00
NeoBrainX
9795d10dcb
OGL/SamplerCache: Treat lod_bias as a signed integer.
2013-07-22 18:24:56 +00:00
degasus
c6ae08fc39
implement emulate efb format changes on ogl backend
2013-07-22 15:41:10 +02:00