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
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
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
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
a526fc5f92
ubo streaming
2013-01-25 13:20:42 +01:00
cf11f0ea72
clear uniform cache on startup
2013-01-21 15:43:04 +01:00
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
6401a18143
remove texture sampler from uniform list
2013-01-19 00:12:02 +01:00
3054d36534
use glBindFragDataLocation instead of glDrawBuffer
2013-01-17 11:16:12 +01:00
bb200acdd8
also don't search in the shader cache if the shader isn't changed
2013-01-15 23:42:24 +01:00
687d74e6c2
only change shader if needed
2013-01-15 14:22:40 +01:00
ff889c0e65
use attrib pointers in nativeVertexFormat
2013-01-14 22:59:08 +01:00
5fe3def64c
videoConfig cleanup
2013-01-14 20:00:33 +01:00
c3aafc77b3
upload complete uniform buffer at once
...
this is the way of dx11. it would upload more per draw, but uses less calls.
will be faster if many uniforms are changed, but slower else
2013-01-14 13:58:11 +01:00
2838077313
fix warnings
2013-01-11 21:24:59 +01:00
60b8e4fb1c
vertex shader for texture converter
2013-01-11 11:59:42 +01:00
b38b62afc6
remove glsl binding support. convert every shader to version 130
2013-01-02 16:56:08 +01:00
c2898748ac
bind locations _before_ link program, fix dest alpha
2012-12-31 02:34:27 +01:00
d9f3fc4495
fix ubo for intel cards (also amd?)
2012-12-28 17:06:08 +01:00
1a8005d948
set ProgramShaderCache program format correctly.
2012-10-09 23:56:00 -05:00
210ecad15f
let us try normal c++ static init instead...
2012-10-09 23:56:00 -05:00
03b09bed5d
Get the program binary type correctly or else ATI makes massive (~400MB) shader caches. Also, don't need the line in the PixelShaderGen.
2012-10-09 23:56:00 -05:00
2e15440896
Add support for Dual source blending to older ATI cards that don't support 420pack but do support GL_ARB_blend_func_extended. This is more proper as well anyways.
2012-10-09 23:56:00 -05:00
108722bed0
oops, forgot to make sure the gl program is actually free'd.
2012-10-09 23:54:18 -05:00
4c1fef8f98
refactor ProgramShaderCache::PCacheEntry
2012-10-09 23:54:18 -05:00
aaa405c973
Checking GLEW_VERSION_4_0 is superfluous since we check GL_ARB_get_program_binary, and it's a runtime variable anyways.
2012-10-09 23:54:18 -05:00
31a8424bcc
fix formatting uglies introduced in glsl-master branch
2012-10-09 23:54:17 -05:00