Commit Graph

86 Commits

Author SHA1 Message Date
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
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
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 6401a18143 remove texture sampler from uniform list 2013-01-19 00:12:02 +01:00
degasus 3054d36534 use glBindFragDataLocation instead of glDrawBuffer 2013-01-17 11:16:12 +01:00
degasus bb200acdd8 also don't search in the shader cache if the shader isn't changed 2013-01-15 23:42:24 +01:00
degasus 687d74e6c2 only change shader if needed 2013-01-15 14:22:40 +01:00
degasus ff889c0e65 use attrib pointers in nativeVertexFormat 2013-01-14 22:59:08 +01:00
degasus 5fe3def64c videoConfig cleanup 2013-01-14 20:00:33 +01:00
degasus 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
degasus 2838077313 fix warnings 2013-01-11 21:24:59 +01:00
degasus 60b8e4fb1c vertex shader for texture converter 2013-01-11 11:59:42 +01:00
degasus b38b62afc6 remove glsl binding support. convert every shader to version 130 2013-01-02 16:56:08 +01:00
degasus c2898748ac bind locations _before_ link program, fix dest alpha 2012-12-31 02:34:27 +01:00
degasus d9f3fc4495 fix ubo for intel cards (also amd?) 2012-12-28 17:06:08 +01:00
Shawn Hoffman 1a8005d948 set ProgramShaderCache program format correctly. 2012-10-09 23:56:00 -05:00
Shawn Hoffman 210ecad15f let us try normal c++ static init instead... 2012-10-09 23:56:00 -05:00
Ryan Houdek 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
Ryan Houdek 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
Shawn Hoffman 108722bed0 oops, forgot to make sure the gl program is actually free'd. 2012-10-09 23:54:18 -05:00
Shawn Hoffman 4c1fef8f98 refactor ProgramShaderCache::PCacheEntry 2012-10-09 23:54:18 -05:00
Shawn Hoffman 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
Shawn Hoffman 31a8424bcc fix formatting uglies introduced in glsl-master branch 2012-10-09 23:54:17 -05:00