1249 Commits

Author SHA1 Message Date
Ryan Houdek
ad13f2d23d Instead of querying the vertex attribute location. Let's bind it to where CG expects it to be as well. Was causing problems when we were trying to activate the components below and they weren't available. This fixes cubivore with GLSL shader. Also any other game that uses 3 normal pointers. 2011-12-11 06:18:01 -06:00
Jordan Woyak
c908e1173d glMapBuffer was slow, go back to glBufferSubData, single combined ps/vs ubo now 2011-12-11 06:11:38 -06:00
Jordan Woyak
a613012d08 try combining vs/ps ubo 2011-12-11 06:02:47 -06:00
Jordan Woyak
5ae1f674f5 make use of glMapBuffer to set ubo data 2011-12-11 05:29:15 -06:00
Ryan Houdek
16b58a8825 Show a bit of information when using GLSL shaders. 2011-12-11 05:15:08 -06:00
Jordan Woyak
bcb2abbcf1 fix stupid indentation 2011-12-11 04:32:57 -06:00
Jordan Woyak
031c523fba have separate variables/functions for VS/PS ubo stuff, array was confusing. 2011-12-11 04:28:02 -06:00
Ryan Houdek
fbef258dab Disable UBO buffer generation if hardware doesn't support it. 2011-12-11 04:19:11 -06:00
Pierre Bourdon
df283a56a0 More coding style fixes because I suck at sed 2011-12-11 11:14:02 +01:00
Pierre Bourdon
014c474024 8 spaces indentation -> tabs 2011-12-11 11:08:18 +01:00
Ryan Houdek
1724385c8c Actually have Dual Source blending work for people. Forgot about this change. 2011-12-11 03:10:03 -06:00
Ryan Houdek
2907ffd72c Make this pretty 2011-12-10 15:58:44 -06:00
Ryan Houdek
c678172f32 Make sure our UBO buffers are always aligned correctly. 2011-12-10 15:52:20 -06:00
Ryan Houdek
97c3c156e6 Use UBOs in every shader. I had missed a few. Only cache Uniform locations if we aren't using UBOs. 2011-12-10 15:40:10 -06:00
Ryan Houdek
c72a244809 Make sure to support everything even if GPU doesn't. 2011-12-10 14:35:37 -06:00
Ryan Houdek
5925feb6e0 yay, UBOs work 100% now. 2011-12-10 08:07:13 -06:00
Ryan Houdek
7ab38cff68 UBO works for Pixel Shaders if Binding for UBO is zero, otherwise fails. Probably why Vertex shader UBO is failing. Too tired to investigate right now. 2011-12-10 07:38:30 -06:00
Ryan Houdek
49664bff61 More for Billiard <3 2011-12-10 02:02:22 -06:00
Ryan Houdek
24336171f1 Firin ma lazer 2011-12-10 01:57:27 -06:00
Ryan Houdek
126dfa073b Firin ma lazer 2011-12-10 01:56:37 -06:00
Ryan Houdek
54a90d08ce Fix one error. 2011-12-09 21:15:15 -06:00
Ryan Houdek
e8087aa1a9 Remove bSupportsGLSLLocation since it won't work how I expect it. 2011-12-09 19:14:02 -06:00
Ryan Houdek
8e5bb59cb6 Add in UBOs, doesn't work yet. Still debugging here. 2011-12-09 17:30:05 -06:00
Ryan Houdek
0ccba2b581 Support Dual Source Blending in OGL plugin with GLSL. 2011-12-08 05:09:48 -06:00
Ryan Houdek
cecc3c3873 Bit of cleanup. Clean up my massive hack in the ShaderManagerFiles. Almost feature parity with Nvidia CG now I think. Just need to do Alpha test with Dual source blending now. 2011-12-08 03:20:31 -06:00
Ryan Houdek
1201988fe4 Add support for GL_ARB_shading_language_420pack so we don't have to binding sampler locations. Also add support for GL_ARB_separate_shader_objects which doesn't currently work for some reason....investigating. 2011-12-08 01:51:08 -06:00
Ryan Houdek
f77d54ff52 Welp, just fixed that problem. 2011-12-07 23:23:00 -06:00
Ryan Houdek
4c136c4efc Missed a spot. Most games work now, Still have a problem with viewtiful joe. Destination Alpha pass doesn't work yet, going to use Dual source blending on that. 2011-12-07 23:20:55 -06:00
Ryan Houdek
ed18b82d2f This lets us see stuff with GLSL shaders. Just need to take care of some compile errors now. 2011-12-07 22:11:41 -06:00
Ryan Houdek
33c24f0a15 Almost there. 2011-12-07 22:04:34 -06:00
Ryan Houdek
804938e9fc More stuff 2011-12-02 20:17:26 -06:00
Ryan Houdek
8a18a110b7 mah 2011-12-02 18:46:07 -06:00
Ryan Houdek
6882e00d5e Compile 2011-12-02 18:31:06 -06:00
Ryan Houdek
49b6e4beed meh 2011-12-02 18:26:15 -06:00
Ryan Houdek
f8eb45637f Now CG plays nice with this new stuff. 2011-12-01 00:33:12 -06:00
Ryan Houdek
b20176b74f Add in GLSL setting again.
PS and VS making. Untested and won't work for now.

Add in program shader cache files.

Readd NativeVertexFormat stuffs.

Add in PS and VS cache things.

SetShaders in places.

Fixed EFB cache index computations in OpenGL renderer.

The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.

Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
2011-11-30 22:02:25 -06:00
Pierre Bourdon
1e558aedeb Added an EFB peek cache to the GL video plugin
Most of the games using EFB peeks are suffering from major performance problems
when these peeks are not disabled in the graphics settings. This is an attempt
to fix this in the GL renderer by doing the glReadPixels in bulk: instead of
doing a lot of 1x1 pixel reads, read for 64x64 pixels at once and keep that in
a cache.

Deck menu in Baten Kaitos: 3FPS -> 54FPS
Character creation in Monster Hunter Tri: 7FPS -> 60FPS
2011-10-17 18:30:13 +02:00
NeoBrainX
81c614fa07 Clean up various things. 2011-09-29 23:32:39 +02:00
NeoBrainX
08af37509e More buildfixes.. 2011-09-29 23:32:38 +02:00
Glenn Rice
6ccfd85f42 Build fix for the linux libav build. 2011-09-29 23:32:38 +02:00
NeoBrainX
c710ea33f9 Merge some frame dumping code to VideoCommon, fixes a memory leak in D3D9 and OpenGL if emulation is stopped while dumping frames.
Breaks D3D11 frame dumping for some weird reason (memory corruption or whatever?).
2011-09-29 23:32:38 +02:00
NeoBrainX
bd4a5b5ef6 Implement frame dumping in D3D11.
Fixes issue 4831.
2011-09-29 23:32:38 +02:00
NeoBrainX
5c14a24ce1 Make shader ID validation optional by adding a gfx setting called "EnableShaderDebugging".
Setting this to True will enable additional checks if the shader cache misses any relevant register changes.
2011-09-09 21:34:46 +02:00
NeoBrainX
b28348066e Improve the shader UID debugging stuff and merge it to VideoCommon, effectively enabling it in D3D9 and D3D11 as well. 2011-09-09 00:32:04 +02:00
NeoBrainX
349a3ae91d Merge remote-tracking branch 'remotes/origin/master' into new-shadercache-uids 2011-09-08 02:14:18 +02:00
NeoBrainX
3939f9595a Add runtime checks to make sure we aren't overoptimizing the pixel shader cache. 2011-09-07 21:15:09 +02:00
NeoBrainX
17fcd406fc Merge some scissor rect related code to VideoCommon. 2011-09-05 22:04:28 +02:00
Shawn Hoffman
b867c21fea apply to dx9 and dx11 backends as well 2011-09-05 12:19:11 -07:00
NeoBrainX
6845a1596c Fix various cases in scissor rect emulation.
Patch by delroth.
2011-09-05 11:10:23 -07:00
Ryan
a5a2562e59 Put this hotfix in since some combination of hardware and drivers returns zero here. 2011-08-25 02:58:37 -05:00