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
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
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
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
degasus
a295a3eb56
ogl: report shader compilation issues in the same way as other backends
2013-05-04 23:30:13 +02: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
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
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
NeoBrainX
ec08914905
Move Shader UID mismatch checking to VideoCommon.
2013-04-10 12:54:22 +02:00
degasus
4c40e70b8a
ogl: support glsl120
2013-04-08 14:50:58 +02:00
Ryan Houdek
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
NeoBrainX
2afd892e46
ShaderGen: More interface cleanups. Less wtfs :)
2013-03-29 22:24:49 +01:00
NeoBrainX
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
NeoBrainX
4e9c3db545
OSX build fix.
2013-03-29 15:03:16 +01:00
NeoBrainX
41c4108ce6
OpenGL: Reimplement shader uid debugging.
2013-03-29 14:56:01 +01:00
NeoBrainX
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
degasus
3d5e0a6d3d
move ogl-only settings into backend
2013-03-25 15:14:24 +01:00
degasus
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
degasus
106d7c37e8
GLSL: store and use exact ubo sizes
2013-03-17 16:49:42 +01:00
degasus
a6844d6b9e
move shader error files in dolphin user directory
2013-03-07 20:37:28 +01:00
degasus
2bd7ba76b9
only report errors without debug_glsl
2013-03-07 20:26:56 +01:00
degasus
d19bc15d26
fix glsl140 workaround
2013-03-05 15:24:10 +01:00
degasus
e4f8d7b4c8
fix debug build
2013-03-04 10:20:55 +01:00
degasus
242d960781
increase buffer size
...
32M UBO, 16M Vertex, 2M Index
2013-02-22 10:25:38 +01:00
degasus
9f4a616f2e
build fix
2013-02-14 19:04:52 +01:00
degasus
a0ef58418b
workaround for buggy intel windows driver. revert this as soon as there are newer driver
2013-02-14 18:59:45 +01:00
degasus
0325e37bfb
merge glsl headers into one place
2013-02-13 21:34:48 +01:00
degasus
21b83b436c
create shader cache directoy
2013-02-13 16:50:56 +01:00
degasus
b3675d15dc
enable shader cache again
2013-02-13 16:30:15 +01:00
degasus
398b37f371
fix ValidateShaderIDs
2013-02-13 15:16:32 +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
degasus
f079b04a5d
also check for glsl errors on linking, activation GLSL_DEBUG again (slowdown on shader compilation)
2013-02-07 12:47:41 +01:00
degasus
ef602fd643
workaround for glGetUniformLocation in efb2ram
2013-02-05 18:22:23 +01:00
degasus
76adc77fa6
bigger buffers
2013-02-05 18:01:27 +01:00
degasus
878bd7f26c
implement streaming by bufferSubData, split upload and allocation in ringbuffer
2013-02-01 12:30:08 +01:00
degasus
30170575c8
create StreamBuffer class for ogl upload
2013-01-31 23:11:53 +01:00
degasus
4a463f4588
also add glBufferSubData for ubo upload
...
so osx start game, but everything is black
2013-01-31 13:00:15 +01:00
Ryan Houdek
fa45403557
Got to love that my server's cmake is half retarded.
2013-01-28 15:32:38 -06:00
Ryan Houdek
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
degasus
fd06342a97
set hint GL_STREAM_READ
...
it's wrong, but so we are guaranteed to get pinned memory.
it's slower for rendering, but faster for mapping.
2013-01-28 13:03:31 +01:00
Ryan Houdek
4fadb65259
Only check shader compilation status in debug or with DEBUG_GLSL defined. invalidate range on bindbufferrange since we don't care about what is in the range. Both give a performance boost for me.
2013-01-26 11:24:24 -06:00
degasus
a526fc5f92
ubo streaming
2013-01-25 13:20:42 +01:00
degasus
cf11f0ea72
clear uniform cache on startup
2013-01-21 15:43:04 +01:00