88 Commits

Author SHA1 Message Date
Ryan Houdek
6bdcde9dd6 [Android] Tegra 4 'support.' This brings up the OpenGL backend to support Tegra 4 to the point where it will run games but it doesn't have any video output for some reason. This is a large change that doesn't actually change much functionally. Walking through the changes.
It changes the string in the Android backend select to just OpenGL ES.
Adds a check in the Android code to check for Tegra 4 and to enable the option to select the OpenGL ES backend.
Adds a DriverDetails bug under BUG_ISTEGRA as a blanket case of Tegra 4 support.
The changes that effects most lines in this change. Removing all float suffixes in the pixel/vertex/util shaders since OpenGL ES 2 doesn't support float suffixes.
Disables the shaders for reinterpreting the EFB format since Tegra 4 doesn't support integers.
Changes GLFunctions.cpp to grab the correct Tegra extension functions.
Readds the GLSL 1.2 'hacks' as GLSLES2 'hacks' since they are required for GLSL ES 2
Adds a GLSLES2 to the GLSL_VERSION enum.
Disable the SamplerCache on Tegra since Tegra doesn't support samplers...
Enable glBufferSubData on Tegra since it is the only mobile GPU to correctly work with it.
Disable glDrawRangeElements on Tegra since it doesn't support it, This uses glDrawElements instead.
2013-10-06 03:12:29 -05:00
degasus
573dbfd494 ogl: drop glsl120 support 2013-09-22 23:45:14 +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
e78d99e5c1 New license header introduced to all Video based projects. 2013-04-17 23:29:41 -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
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
degasus
4c40e70b8a ogl: support glsl120 2013-04-08 14:50:58 +02:00
degasus
3897e1959e ogl: one framebuffer per efb2tex texture
suggestion from nvidia/valve. let's see if it helps
2013-04-08 14:36:58 +02:00
degasus
f480697b9b remove some ogl error
but it doesn't resolve any issue
2013-03-17 12:46:30 +01:00
degasus
a1c5e90083 Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/CMakeLists.txt
	Source/Core/DolphinWX/Src/GLInterface.h
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
	Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
Jordan Woyak
6e6d8af6dd Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly.
All backend TextureCaches now load level 0 in CreateTexture.

This reverts commit 294cb165ba3449cc4fd96eabb5272e2984a58eb8.
2013-02-20 05:42:22 -06:00
Jordan Woyak
f2647a1216 Implement OGL sampler cache. Allows binding a texture multiple times with different parameters. Also possibly gives a very small speed improvement. 2013-02-19 21:18:53 -06:00
degasus
d93e57ff22 revert b5fe39b8c721 "fix texture parameters"
these parameters are really floats. I was just wrong
2013-02-19 22:20:39 +01:00
degasus
b5fe39b8c7 fix texture parameters 2013-02-19 17:28:46 +01:00
degasus
a629dea4dc Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Src/GLInterface/WX.cpp
	Source/Core/DolphinWX/Src/GLInterface/WX.h
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.h
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h
	Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp

damn mipmap_fixes ...
2013-02-18 18:49:20 +01:00
degasus
e259343275 fix efb copy shaders 2013-02-15 13:13:45 +01:00
degasus
0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
degasus
3392562501 rewrite efb copy shader, copied from dx11 2013-02-13 18:01:06 +01:00
degasus
bbc292c210 merge Vertex and PixelShaderCache into ProgramShaderCache
this is the first step, uniform handling is still missing
2013-02-13 13:12:19 +01:00
NeoBrainX
ed0abc9dc5 Merge branch 'mipmap_fixes'. 2013-02-07 20:40:33 +01:00
NeoBrainX
6870c1fdd5 Fix some potential issues when blending on EFB formats without alpha.
Clean up state transition tables.
2013-02-07 18:01:24 +01:00
Jordan Woyak
0e04e0c305 Fix some shadowing warnings. 2013-01-29 16:43:22 -06:00
degasus
c5fa3e0f3d move RestoreAPIState and ResetAPIState into backends
it's a backend specific hack, so it should be here
should give a small speedup in dx11 efb2tex
2013-01-28 18:16:03 +01:00
degasus
6afc30240a partial revert of 8a6f7474088e
texture_rect isn't in core 3.0, so the long texture function must be used
2013-01-22 00:18:42 +01:00
degasus
8a6f747408 glsl: remove usage of old texture2D* function 2013-01-19 11:07:06 +01:00
degasus
d73c950623 cache texture bindings 2013-01-19 01:06:34 +01:00
degasus
e7d5b274c0 add stage parameter for texture load, so ogl can bind to the correct sampler 2013-01-19 00:47:48 +01:00
degasus
074f73c641 move utils texture to sampler 8+9
rasterfont tex will aways bound to samp8.
efb copy utils will be done in samp9.
2013-01-19 00:39:31 +01:00
degasus
3054d36534 use glBindFragDataLocation instead of glDrawBuffer 2013-01-17 11:16:12 +01:00
degasus
b778b86e26 improve texture mipmap count
GL_TEXTURE_MAX_LEVEL set how many mipmaps should be allocated, but all of them must be created.
GL_TEXTURE_MAX_LOD set how many mipmaps may be used.
2013-01-16 21:15:07 +01:00
degasus
b401131af2 small texcache cleanup 2013-01-16 15:12:39 +01:00
degasus
ff889c0e65 use attrib pointers in nativeVertexFormat 2013-01-14 22:59:08 +01:00
degasus
2f78986e2c Merge branch 'Graphic_Update' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
2013-01-14 21:36:31 +01:00
degasus
adeac6f4a5 remove old deprecated calls and fixed functions parameters 2013-01-14 17:48:38 +01:00
degasus
b18c0a5d1b remove ubo for efb2ram 2013-01-14 12:37:31 +01:00
degasus
f3d663c2f4 efb2tex without ubo 2013-01-12 16:29:16 +01:00
degasus
2838077313 fix warnings 2013-01-11 21:24:59 +01:00
degasus
8651b34e22 also add vertex shader for efb2tex
goodbye fixed-function shaders
2013-01-11 15:41:42 +01:00
degasus
7c01c2bf11 move efb2ram shaders to textureCache 2013-01-11 15:24:43 +01:00
degasus
bff02b3b73 Merge branch 'arb_framebuffer' into GLSL-master
Conflicts:
	Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2013-01-09 11:00:26 +01:00
Ryan Houdek
d0301ca89d Revert 30dd9c2 e9d00bf db5f4c8 and bff0fae 2013-01-07 13:47:34 -06:00
degasus
ecedf56eb4 uses the ARB_framebuffer_object syntax
also require this extention (OGL3.0), but it have one _realy_ big advantage:
- now it's possible to blit between different texture sizes, so all util draw calls can be implemented as blit
2013-01-03 12:06:47 +01:00
degasus
a1ca288555 fix some AMD issues
This is only a hack. The correct solution would be:
1. don't use GL_TEXTURE_RECT ever. GL_TEXTURE_2D should also be faster
2. use GL_TEXTURE8+ for util textures
3. both
2013-01-03 09:45:12 +01:00
degasus
30dd9c2e17 always calls glBindBuffer(0) after disabling vao 2012-12-29 12:50:42 +01:00
degasus
316a33d1e6 Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/DolphinWX/Src/VideoConfigDiag.h
	Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2012-12-27 10:36:54 +01:00
Ryan Houdek
9209253e0d Initial removal of Nvidia CG. Still some more cleanup to go 2012-12-24 11:09:52 -06:00
degasus
79a7ce4827 move glBindBuffer and glBindVertexArray out of VertexManager
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:52 -06:00
degasus
09274e2483 Check texture params before updateing them
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:48 -06:00
degasus
23a3336f9a increase hash size to u64
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:32 -06:00
degasus
c207422987 using of vao, warning: ARB_vertex_array_object is needed
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:25 -06:00