summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
AgeCommit message (Collapse)Author
2013-08-23ogl: fix ubo workarounddegasus
2013-04-17New license header introduced to all Video based projects.Lioncash
2013-04-15Update the license file text (change SVN to Git) in all projects except Core ↵lioncash
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-02-13merge Vertex and PixelShaderCache into ProgramShaderCachedegasus
this is the first step, uniform handling is still missing
2013-02-07also check for glsl errors on linking, activation GLSL_DEBUG again (slowdown ↵degasus
on shader compilation)
2013-01-26Only check shader compilation status in debug or with DEBUG_GLSL defined. ↵Ryan Houdek
invalidate range on bindbufferrange since we don't care about what is in the range. Both give a performance boost for me.
2013-01-18report glsl shader warings as errorsdegasus
2012-12-27Bit more cleanup from removing Nvidia CGRyan Houdek
2012-12-24Initial removal of Nvidia CG. Still some more cleanup to goRyan Houdek
2012-10-09Add support for Dual source blending to older ATI cards that don't support ↵Ryan Houdek
420pack but do support GL_ARB_blend_func_extended. This is more proper as well anyways.
2012-10-09refactor ProgramShaderCache::PCacheEntryShawn Hoffman
2012-10-09fix formatting uglies introduced in glsl-master branchShawn Hoffman
2012-10-09have separate variables/functions for VS/PS ubo stuff, array was confusing.Jordan Woyak
2012-10-098 spaces indentation -> tabsPierre Bourdon
2012-10-09yay, UBOs work 100% now.Ryan Houdek
2012-10-09UBO works for Pixel Shaders if Binding for UBO is zero, otherwise fails. ↵Ryan Houdek
Probably why Vertex shader UBO is failing. Too tired to investigate right now.
2012-10-09Fix one error.Ryan Houdek
2012-10-09Remove bSupportsGLSLLocation since it won't work how I expect it.Ryan Houdek
2012-10-09Add in UBOs, doesn't work yet. Still debugging here.Ryan Houdek
2012-10-09Add support for GL_ARB_shading_language_420pack so we don't have to binding ↵Ryan Houdek
sampler locations. Also add support for GL_ARB_separate_shader_objects which doesn't currently work for some reason....investigating.
2012-10-09This lets us see stuff with GLSL shaders. Just need to take care of some ↵Ryan Houdek
compile errors now.
2012-10-09Almost there.Ryan Houdek
2012-10-09More stuffRyan Houdek
2012-10-09mahRyan Houdek
2012-10-09CompileRyan Houdek
2012-10-09mehRyan Houdek
2012-10-09Now CG plays nice with this new stuff.Ryan Houdek
2012-10-09Add in GLSL setting again.Ryan Houdek
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-09-29Clean up various things.NeoBrainX
2011-09-09Make shader ID validation optional by adding a gfx setting called ↵NeoBrainX
"EnableShaderDebugging". Setting this to True will enable additional checks if the shader cache misses any relevant register changes.
2011-09-09Improve the shader UID debugging stuff and merge it to VideoCommon, ↵NeoBrainX
effectively enabling it in D3D9 and D3D11 as well.
2011-07-29Shader compilation error message modified to contain some helpful ↵NeoBrainX
information for noobs (includes a reference to the full bad shader dump). Removed the "Hide Shader Errors" option; hide shader errors if panic handlers are disabled now. Removed superfluous error messages about shader compilations; display only one error message instead. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7688 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28Convert GetUserPath to return a std::string instead of a const char *. This ↵Glenn Rice
simplifies its usage in most cases. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31Eliminated the plugin interface. Merged DX9/DX11/OGL video plugins into ↵Jordan Woyak
Dolphin. It could still use a lot of cleanup. Lots of things are still named "plugin". Software renderer is temporarily disabled until it gets some namespaces. I only updated vs08/10, Linux/OSX builds are broken. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29Put some stuff in the gfx plugins into namespaces, so that the symbols won't ↵hrydgard
collide if someone decides to merge the gfx plugins into dolphin too. still more things left to do though. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6972 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27Clean out the long since bit-rotted video profiling code.Soren Jorvang
Profiler.{cpp,h} also happened to be the only dupliated filenames left in Source, the absence of which should make link-time optimization easier to get working. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6935 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01Patch applied from issue 3829, author admin@dasmetzelmaennchen.de.james.jdunne
Tweaked SetMultiVSConstant functions to prefer glProgramEnvParameters4fvEXT over glProgramEnvParameter4fvARB with fall-back for older harder. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6713 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05Merged the D3D9 debugger into VideoCommon/VideoUICommon:NeoBrainX
Separated UI from debugger functionality. Generally cleaned up that stuff. Most functionality needs to be reimplemented now, but will be available to D3D9, D3D11 as well as OpenGL then. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6523 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05allow gcc to check the format of args being passed to MsgAlert and ↵Shawn Hoffman
GenericLog. Fixed nearly all warnings that arose from this, as well as some preexisting ones (some were actually crashes and/or bugs...) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6522 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-06little commit for developers:Rodolfo Osvaldo Bogado
patch/hack to make dolphin work under virtual box using Linux guest tested under gentoo and virtualbox 3.2.8 with 3d acceleration on git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6262 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28Minor code formatting:skidau
First step to bring a level of consistency between the video plug-ins - variable names, spacing, function names, function order, comments, file names. This will help us identify common code for VideoMerge. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6235 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08DX9/OGL: Remove some superfluous checks (this is already done in VideoCommon).NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6073 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-24Make Cg conditional on those platforms for which it is available.Soren Jorvang
Of course, this doesn't do much good without another shader compiler.. WIP of OS X application bundle building. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5961 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-22Prevent Python from stripping off the final newline of the main(){} Soren Jorvang
autoconfiguration tests. Some versions of gcc care enough about ANSI C to complain about this. Use the Linux install hierarchy conventions on other Unices as well. XKeysymToString returns NULL on unknown keysyms, which is not a valid std::string initializer. There appears to be some disagreement regarding the second parameter to iconv(). Some versions/installations have it as const, others don't. Unfortunately, due to wonderful C++ brain damage, implicit conversion from const to non-const doesn't work here. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5945 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18big changes here:Rodolfo Osvaldo Bogado
- Eliminate the useless check for cpu modifications option from efb to ram as it must be enabled always - use constant names in dx11 for buffer length calculation instead to simplify code reading - implemented scaled efb copy in opengl, still bugy in some games, the option is not in the gui but will add it when it works perfect - Change the depth calculation behavior: if the game use z textures is exactly the same as before. if the game do not use z texture calculate z values in the vertex shader. the advantage id this approach is that early z culling is applied, improving fill rate. this mus speed up things, even with ssaa and msaa enabled. please test for regression and enjoy. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5896 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-05little fx to solve issue 2897Rodolfo Osvaldo Bogado
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5839 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03Slightly change my last commit with sorens idea of using CG_VERSION_NUM instead.j4ck.fr0st
For everyone having black screens on Windows: Try switching off MSAA, it seems to be broken (at least for me) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5832 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03Add the patch from Dragonlord for broken Cg 2.1 on Linux with ATI cards ↵j4ck.fr0st
(Fixes Issue 2508). Shouldn't affect anything else than Linux, please test it there. Update Issue 2508 This should take care about the black screen. Please open a new issue for other problems that may arise. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5830 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-20D3D9: Delete some long dead code. Also add one more statistic: number of ↵hrydgard
compiled shaders that actually have unique code (not accurate unless you delete the shader cache before running). This stat clearly shows that in f-zero we create 5x as many pixel shaders as we should, so there's clearly a problem with the shader ID generation. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5754 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-12Preparing stuff for DX11:NeoBrainX
- be more strict with the input signature of generated pixel shaders - replace the D3D parameter with an API_TYPE one, so that we can further distinguish between DX9 and DX11 - for what it's worth dx11 (using vs_4_0) doesn't support D3DCOLORtoUBYTE4; added a workaround for this - add a "dx9-" prefix to the shader cache files to avoid conflicts with dx11 shaders Apart from that we're calling CommandProcessor::Shutdown() in main.cpp,Shutdown() now. Delete all files in User/ShaderCache if you want to save a few KB disk space :P git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5659 8ced0084-cf51-0410-be5f-012b33b47a6e