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
Ryan Houdek
9c32c923bc
Remove saturate function define in GLSL since we use clamp everywhere instead. Change the function defines over to just regular defines since Qualcomm can't handle function defines at all it seems.
2013-06-18 12:42:14 -05:00
Ryan Houdek
6143594db6
[Android] Qualcomm glGetShaderInfoLog returns a max of 1024 bytes(tested) for the log, and glGetShaderiv with GL_INFO_LOG_LENGTH /always/ returns 0 on compile failure.
2013-06-18 10:24:36 -05:00
Lioncash
fbb82ccab3
Whoops, look like the previous commit was also the case with VideoDX9
2013-06-18 10:48:16 -04:00
Lioncash
f59f059fbf
Fix a char buffer destination size in Render.cpp for VideoDX11.
2013-06-18 10:45:57 -04:00
Ryan Houdek
7df8a9cae8
Partial revert of 0247b2a97a
. I'll add a work around for Qualcomm in a bit. Qualcomm shader compiler failing was only due to floating suffixes not whole function defines. Qualcomm video driver devs seem to have a good response time when it comes to OpenGL ES 3 issues.
2013-06-18 07:52:36 -05:00
NeoBrainX
ca22872dae
Merge 'master' into shader-uids-awesome.
...
Conflicts:
Source/Core/VideoCommon/Src/LightingShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.h
Source/Core/VideoCommon/Src/VertexShaderGen.cpp
2013-06-17 12:05:47 +02:00
Armada
9594cac42c
Build fix: Android NDK doesn't support any locale switching.
...
Also, Mac OS X doesn't support DX9.
2013-06-16 14:51:38 +02:00
Armada
fc7099a905
Set the locale per-thread instead of globally when generating shaders. Add cross-compatible versions of newlocale, uselocale and freelocale.
...
This commit fixes a rare race condition when generating shaders because setlocale is global.
2013-06-16 12:33:13 +02:00
Ryan Houdek
ab6151a5ba
Build Fix 2x
2013-06-11 08:41:30 -05:00
Ryan Houdek
9df3dbe13c
Build Fix
2013-06-11 08:38:45 -05:00
Ryan Houdek
703a51e4c0
[Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still.
2013-06-11 08:33:56 -05:00
Ryan Houdek
2697b8c04f
Create our OGL context on the same thread in the OpenGL backend. Same issue with Qualcomm not working with threading correctly.
2013-05-26 22:30:38 -05:00
Ryan Houdek
61aa272bfb
[Android] Qualcomm drivers require that the EGL context is created on the same thread that the OpenGL commands are run on. Crappy driver limitation since eglMakeCurrent should work to let it be on a different thread.
2013-05-25 22:20:34 -05:00
degasus
a51d6a6ddd
add new statistics for gpu buffer streaming
2013-05-23 21:07:01 +02:00
Ryan Houdek
39c9516197
[Android] Qualcomm driver has a bug where it returns an invalid length for GL_INFO_LOG_LENGTH with glGetShaderiv. Qualcomm drivers seem to max out at ~512bytes returned from glGetShaderInfoLog so this is a reasonable max.
2013-05-17 21:13:02 -05:00
Ryan Houdek
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
Ryan Houdek
5ac58a34ea
[Android] Beginning of GLES3 support.
2013-05-05 23:37:02 -05:00
Ryan Houdek
cb5b9c0327
[Android] Add GLSLES3 to the GLSL version enums. Add in the version and precision qualifier to the shader header.
2013-05-05 23:37:02 -05:00
Ryan Houdek
028a1a4971
GL_DEPTH_COMPONENT can't have type of GL_UNSIGNED_BYTE with glTexImage2D. Qualcomm drivers get hit with this but all else don't care.
2013-05-05 23:37:02 -05:00
Ryan Houdek
09def3ed3f
[Android] Add in a compiling option for GLES3
2013-05-05 23:37:01 -05:00
degasus
a295a3eb56
ogl: report shader compilation issues in the same way as other backends
2013-05-04 23:30:13 +02:00
skidau
8bcd9a74c8
Clear the texture cache when a new dol is loaded via ES_LAUNCH. Fixes the black screen in The House of the Dead 2.
...
Abbreviated some of the information in the window titlebar.
2013-05-01 23:51:43 +10:00
NeoBrainX
02afec5076
Polish shader uid checking.
2013-04-29 21:00:39 +02:00
NeoBrainX
5e6b712651
Merge 'master' into shader-uids-awesome.
...
Conflicts:
Source/Core/VideoCommon/Src/BPMemory.h
Source/Core/VideoCommon/Src/LightingShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.h
Source/Core/VideoCommon/Src/PixelShaderManager.cpp
Source/Core/VideoCommon/Src/VertexShaderGen.cpp
Source/Core/VideoCommon/Src/VertexShaderGen.h
2013-04-25 14:05:54 +02:00
degasus
673d256f45
glew1.8 debug build fix
2013-04-24 16:24:55 +02:00
degasus
4a48485482
Revert "Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.""
...
This reverts commit 8b7141d3de
.
GLSL120 can't handle integer attributes :-(
2013-04-24 03:03:52 +02:00
lioncash
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
Lioncash
e78d99e5c1
New license header introduced to all Video based projects.
2013-04-17 23:29:41 -04:00
lioncash
8bb845e646
Buildfix for the last commit.
2013-04-15 16:40:48 -04:00
lioncash
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
Ryan Houdek
7772f0d071
Merge branch 'Android-trash' since it is no longer quite so trashy.
2013-04-14 23:36:00 -05:00
Ryan Houdek
37b67971e7
Merge remote-tracking branch 'origin/master' into Android-trash
...
Conflicts:
Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
2013-04-14 20:43:42 -05:00
Ryan Houdek
bde7ea00ef
Removes the Java ButtonManager for one in the C++ source so the OSD class can call in to it each frame for drawing the buttons. Copy our assets to the dolphin-emu directory for now. Remove NativeRenderer, ButtonManager, and Button Java classes since they aren't used anymore. Buttons A, B, and Start all work and are drawn on screen now. Button input on Android is still a bit hacky, needs a proper controller interface still. Android specific button drawing code is still hanging out in SWRenderer.cpp
2013-04-14 20:39:56 -05:00
Lioncash
7ab0cca645
Clean up most (99.99%) of the tab/space mismatches in the VideoSoftware project.
...
Got rid of trailing spaces that were unnecessary too.
Also update the license header for this project. We don't use SVN anymore.
2013-04-13 23:54:02 -04:00
Ryan Houdek
605bbf5ca8
Merge remote-tracking branch 'origin/master' into Android-trash
2013-04-13 00:58:37 -05:00
Ryan Houdek
39a7096711
Extend our OSD class to support callbacks on init, onframe, and shutdown.
2013-04-13 00:48:53 -05:00
degasus
addd3926d9
ogl: remove GL_TRIANGLE_FAN on utils rendering
...
wtf have I done? fans aren't supported well on hardware
2013-04-11 16:27:32 +02:00