Commit Graph

111 Commits

Author SHA1 Message Date
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
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
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
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
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
ab6151a5ba Build Fix 2x 2013-06-11 08:41:30 -05:00
9df3dbe13c Build Fix 2013-06-11 08:38:45 -05: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
a51d6a6ddd add new statistics for gpu buffer streaming 2013-05-23 21:07:01 +02:00
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
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
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
a295a3eb56 ogl: report shader compilation issues in the same way as other backends 2013-05-04 23:30:13 +02:00
02afec5076 Polish shader uid checking. 2013-04-29 21:00:39 +02:00
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
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
ec08914905 Move Shader UID mismatch checking to VideoCommon. 2013-04-10 12:54:22 +02:00
4c40e70b8a ogl: support glsl120 2013-04-08 14:50:58 +02:00
31500f2522 Fix Intel Ironlake since it doesn't support version 120 of GLSL. I don't have Ironlake so it is hard to test. Dropping the shaders to version 120 worked here for me, ATI may be giving me some slack though. 2013-03-30 23:27:24 -05:00
2afd892e46 ShaderGen: More interface cleanups. Less wtfs :) 2013-03-29 22:24:49 +01:00
3c02f227db PixelShaderManager: Disable constant cache (won't work in the non-UBO path of the opengl backend).
ShaderGen: Replace typeid usage with more general code.
2013-03-29 20:35:31 +01:00
4e9c3db545 OSX build fix. 2013-03-29 15:03:16 +01:00
41c4108ce6 OpenGL: Reimplement shader uid debugging. 2013-03-29 14:56:01 +01:00
3253603ae7 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/PixelShaderManager.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.h
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.h
2013-03-26 22:21:19 +01:00
3d5e0a6d3d move ogl-only settings into backend 2013-03-25 15:14:24 +01:00
7514b41966 GLSL: fix msaa egdes
MSAA is a optimiztion to execute the fragment shader just once per pixel instead per sample.
It sounds great, but has a big issue: At edges where the center isn't in the polygon, the
fragment would still be executed, but still with the center of the pixel as position.
So if some calculations aren't allowed outside the polygon, the result would be invalid.

But the nice one: we can give a hint to each input to be choosen from a valid pixel,
so now every pixel will be calculated with valid source.
2013-03-19 13:50:43 +01:00
106d7c37e8 GLSL: store and use exact ubo sizes 2013-03-17 16:49:42 +01:00
a6844d6b9e move shader error files in dolphin user directory 2013-03-07 20:37:28 +01:00
2bd7ba76b9 only report errors without debug_glsl 2013-03-07 20:26:56 +01:00
d19bc15d26 fix glsl140 workaround 2013-03-05 15:24:10 +01:00
e4f8d7b4c8 fix debug build 2013-03-04 10:20:55 +01:00
242d960781 increase buffer size
32M UBO, 16M Vertex, 2M Index
2013-02-22 10:25:38 +01:00
9f4a616f2e build fix 2013-02-14 19:04:52 +01:00
a0ef58418b workaround for buggy intel windows driver. revert this as soon as there are newer driver 2013-02-14 18:59:45 +01:00
0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
21b83b436c create shader cache directoy 2013-02-13 16:50:56 +01:00
b3675d15dc enable shader cache again 2013-02-13 16:30:15 +01:00
398b37f371 fix ValidateShaderIDs 2013-02-13 15:16:32 +01:00
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
f079b04a5d also check for glsl errors on linking, activation GLSL_DEBUG again (slowdown on shader compilation) 2013-02-07 12:47:41 +01:00
ef602fd643 workaround for glGetUniformLocation in efb2ram 2013-02-05 18:22:23 +01:00
76adc77fa6 bigger buffers 2013-02-05 18:01:27 +01:00
878bd7f26c implement streaming by bufferSubData, split upload and allocation in ringbuffer 2013-02-01 12:30:08 +01:00
30170575c8 create StreamBuffer class for ogl upload 2013-01-31 23:11:53 +01:00
4a463f4588 also add glBufferSubData for ubo upload
so osx start game, but everything is black
2013-01-31 13:00:15 +01:00
fa45403557 Got to love that my server's cmake is half retarded. 2013-01-28 15:32:38 -06:00
d94f3c4155 Stop using std::pair and std::map. Switch over to u64 and std::unordered_map. Provides a very small speed boost. 2013-01-28 15:18:54 -06:00