Commit Graph

1833 Commits

Author SHA1 Message Date
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
degasus 15b8ac64ef Implement zcomploc on OpenGL4.2+ 2013-07-22 12:02:16 +02:00
Ryan Houdek 737df2a68c Patch from Degasus that removes the last of the the GL_TEXTURE_RECTANGLE usages. This is needed to have GLES3 support. 2013-07-13 17:24:23 -05:00
Lioncash 3de5b1bed9 Fix vendor retrieval for Tegra in VideoOGL. 2013-07-02 21:58:09 -04:00
degasus 72d49e05a7 fix opengl debug build on win32 2013-06-27 10:34:53 +02:00
degasus 99d32e756f only provide ES2_compatibility workaround for non gles devices 2013-06-26 13:14:46 +02:00
degasus 21ca344a21 provide GL_ARB_ES2_compatibility workaround
ES2 is in ogl core since 4.1, but not all drivers support it
2013-06-25 18:14:41 +02:00
degasus fb310f2247 Revert "Create our OGL context on the same thread in the OpenGL backend. Same issue with Qualcomm not working with threading correctly."
This reverts commit 2697b8c04f.

The context creation may be moved to Video_Prepare, but the window creation isn't allowed to.
Eg we set the window title or read the mouse position, both need the window.
Also the readback of the window size didn't worked any more.
2013-06-19 09:17:33 +02:00
Ryan Houdek 02cbcc8ec4 [Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen. 2013-06-18 12:44:06 -05:00