Commit Graph

544 Commits

Author SHA1 Message Date
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
7397867b21 [GLES3] Enable support for primitive restart. 2013-09-16 15:43:57 +00:00
cd7f787627 ogl: also restore logic op for util shaders 2013-09-09 23:21:56 +02:00
7e1959a200 ogl: remove obsolete code 2013-09-03 18:51:30 +02:00
beb57d7fbd ogl: reorder driver extensions checks 2013-09-02 13:14:45 +02:00
40a1cb5dfe ogl: warn on osd if not supported features are enabled 2013-08-27 13:24:23 +02:00
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
9deb63a312 Simplify a few OSD::AddMessage calls now that this function accepts std::string objects 2013-08-24 01:44:16 +02:00
7a5374258e ogl: rework DriverDetails framework + detect UBO mesa bug 2013-08-23 10:52:29 +02:00
1eb1ba8c3d Typo + Add Lima to the driverdetails. 2013-08-21 05:41:32 -05:00
1910f5851f Make us capable of supporting driver specific issues(OSS versus official) 2013-08-21 05:34:52 -05:00
23ce6b9227 ogl: remove glMapBuffer as it isn't in gles 2013-08-19 19:20:10 +02:00
7d187dc597 Change a glClear in the OpenGL renderer to improve performance on Mali chips. 2013-08-02 23:19:16 +00:00
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
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
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
c6ae08fc39 implement emulate efb format changes on ogl backend 2013-07-22 15:41:10 +02:00
15b8ac64ef Implement zcomploc on OpenGL4.2+ 2013-07-22 12:02:16 +02:00
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
3de5b1bed9 Fix vendor retrieval for Tegra in VideoOGL. 2013-07-02 21:58:09 -04:00
72d49e05a7 fix opengl debug build on win32 2013-06-27 10:34:53 +02:00
99d32e756f only provide ES2_compatibility workaround for non gles devices 2013-06-26 13:14:46 +02:00
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
703a51e4c0 [Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still. 2013-06-11 08:33:56 -05:00
0247b2a97a [Android] More GLES3 things. Disable Framedumping and MSAA rendering. Remove the HLSL->GLSL shader defines since Qualcomm doesn't support this in their shader compiler. Now they get chosen in our shader generator instead. 2013-05-06 06:43:04 -05:00
5ac58a34ea [Android] Beginning of GLES3 support. 2013-05-05 23:37:02 -05:00
673d256f45 glew1.8 debug build fix 2013-04-24 16:24:55 +02:00
d244bca1f5 Fix a bunch of random typos in comments and logging.
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-19 09:21:45 -04:00
e78d99e5c1 New license header introduced to all Video based projects. 2013-04-17 23:29:41 -04:00
ef85b9af45 Update the license file text (change SVN to Git) in all projects except Core since I was told a merge was happening soon. So for the sake of the merge going smoothly, I'll fix that when I remove the tab/space mismatches from the Core project.
Also, some tab/space mismatches removed from VideoOGL, and some places I missed in VideoDX[number] projects.

Now, the Core is literally the only project with tab/space mismatches (on a large scale).
2013-04-15 16:28:55 -04:00
39a7096711 Extend our OSD class to support callbacks on init, onframe, and shutdown. 2013-04-13 00:48:53 -05:00
b9ba82ec03 proper ogl primitive restart code 2013-04-10 12:58:52 +02:00
b0108631f6 use templates for primitive restart 2013-04-08 19:39:43 +02:00
702198f39b Merge branch 'master' into primitive_restart
Conflicts:
	Source/Core/VideoCommon/Src/VideoConfig.h
	Source/Plugins/Plugin_VideoDX9/Src/main.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2013-04-08 15:57:51 +02:00
4c40e70b8a ogl: support glsl120 2013-04-08 14:50:58 +02:00
3e8ba3f3e8 fix msaa detection 2013-04-05 07:08:32 +02:00
a2ebb2b324 ogl: remove "Missing Extension" from osd
I think it was the best place, but I can't see "this issue is because of ..." any more
2013-04-04 18:55:37 +02:00
e11f5630b1 OGL: use GLEW_ARB_debug_output in debug builds
should also be used in normal build, but as our ubo "workaround" throws too much errors, it's disabled atm
2013-04-04 17:37:16 +02:00
f432d6038e Fix some typos and correct some capitalizations in the log messages.
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
6958822f19 only apply vsync on changes
nvidia over bumblebee slows down on changes
2013-03-30 22:17:39 +01:00
ca8554e7d1 first try of primitive restart index generator
Convert all quads+triangles into trangle_strip and uses primitive restart to split them.
Speed up triangle_strip, but slows down all others primitive formats.
Only implemented in ogl.
2013-03-29 14:27:33 +01:00
c10d9ea87a Clean up blending code a bit. 2013-03-28 23:00:19 +01:00
8a33d49de2 buildfix for my last commit on Mac OSX 2013-03-28 18:32:59 -03:00
246907d371 Small Blending logic fix for opengl backend 2013-03-28 18:04:33 -03:00
e5841f233a ogl: fix virtual xfb 2013-03-25 23:23:32 +01:00
d4fadf4b6f implement 4xSSAA for OGL
I don't think it's needed, but its requested often
2013-03-25 15:45:10 +01:00
3d5e0a6d3d move ogl-only settings into backend 2013-03-25 15:14:24 +01:00
ff61dc3840 Switch to using bitfields in the streambuffer class so we can exclude buggy streambuffer types. This disables pinned memory on ATI for GL_ELEMENT_ARRAY_BUFFER because it seems to be buggy. This fixes ATI for me. 2013-03-23 15:37:01 -05:00
086252380d Had this sitting around for a while to fix nogui. 2013-03-23 14:57:55 -05:00
04943cb852 more restrict disable of pinned memory, disable ubo for intel/mesa-9.1.1 2013-03-21 09:26:32 +01:00