summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/PixelShaderManager.cpp
AgeCommit message (Collapse)Author
2013-06-25PixelShaderManager: Revert code introduced mainly in revision 0fdeb81038d9.NeoBrainX
The shader constant usage profile functionality is still buggy and the code using it wasn't ever meant to be merged to master.
2013-04-25Merge 'master' into shader-uids-awesome.NeoBrainX
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-24Formatting cleanup for VideoCommon.Lioncash
Block braces on new lines. Also killed off trailing whitespace and dangling elses. Spaced some things out to make them more readable (only in places where it looked like a bit of a clusterfuck).
2013-04-17New license header introduced for DiscIO, AudioCommon, InputCommon, ↵Lioncash
VideoCommon, and Common projects.
2013-04-07Fix a few typos in the comments/logging in VideoDX9, VideoCommon, and ↵Lioncash
VideoSoftware projects. See Render.cpp, PixelShaderGen.cpp, and PixelShaderManager.cpp for most of the changes. See VertexShaderManager.cpp for a logging typo fix. See SWRenderer.cpp for a small typo fix for a message that gets swprintf'd in DrawDebugText. See SWVertexLoader.cpp for a typo fix of an assert message. Should slightly improve the readability of some of those files.
2013-03-29PixelShaderGen: Some cleanups.NeoBrainX
2013-03-29PixelShaderManager: Disable constant cache (won't work in the non-UBO path ↵NeoBrainX
of the opengl backend). ShaderGen: Replace typeid usage with more general code.
2013-03-26Merge 'master' into shader-uids-awesome.NeoBrainX
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-19Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.lioncash
Not planning to touch Core since it's the most actively changed part of the project.
2013-03-15Merge branch 'master' into GLSL-masterRyan Houdek
Conflicts: Source/Core/VideoCommon/Src/PixelShaderGen.cpp Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15PixelShaderManager: Reload fog range adjustment shader constants upon ↵NeoBrainX
viewport change. Fixes issue 5618.
2013-01-28PixelShaderManager: Reduce number of redundant shader constant updatesNeoBrainX
2013-01-28Add some code for generating a shader constant usage profile.NeoBrainX
2013-01-24Merge branch 'immediate-removal' into GLSL-masterdegasus
Conflicts: Source/Core/VideoCommon/Src/PixelShaderGen.cpp Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal so we get less conflicts by merging
2013-01-22fix small dx9 slowdowndegasus
2013-01-09Merge branch 'arb_framebuffer' into GLSL-masterdegasus
Conflicts: Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp Source/Plugins/Plugin_VideoOGL/Src/Render.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2013-01-08Move alpha pretest to BPMemory.h and rename a bunch of alpha testing related ↵NeoBrainX
stuff
2012-12-30Fix the last few warnings in Dolphin on my system.Ryan Houdek
2012-12-27Merge branch 'master' into GLSL-masterdegasus
Conflicts: Source/Core/DolphinWX/Src/VideoConfigDiag.h Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h Source/Plugins/Plugin_VideoOGL/Src/Render.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2012-12-24Initial removal of Nvidia CG. Still some more cleanup to goRyan Houdek
2012-12-10Clean up gcc/g++ compiler warnings that have accumulated.Glenn Rice
2012-10-09Add in UBOs, doesn't work yet. Still debugging here.Ryan Houdek
2012-10-09Bit of cleanup. Clean up my massive hack in the ShaderManagerFiles. Almost ↵Ryan Houdek
feature parity with Nvidia CG now I think. Just need to do Alpha test with Dual source blending now.
2012-10-09This is the terrible bit that can't be removed until we use UBOs in the GLSL ↵Ryan Houdek
shaders.
2012-08-10Revert the recent zcomploc changes including the Graphic_Fixes merge.NeoBrainX
Reason: - It's wrong, zcomploc can't be emulated perfectly in HW backends without severely impacting performance. - It provides virtually no advantages over the previous hack while introducing lots of code. - There is a better alternative: If people insist on having some sort of valid zcomploc emulation, I suggest rendering each primitive separately while using a _clean_ dual-pass approach to emulate zcomploc. This reverts commit 0efd4e5c29766ba5f5d22204339637ade9ccec83. This reverts commit b4ec836aca4392a86b864dc58b1030ca616fe0d5. This reverts commit bb4c9e2205d4117f48fd4ca50774ee56c28c92e4. This reverts commit 146b02615c07dd52dddaa18b7e23d09bc23b549e.
2012-08-06Skipped the ZCompLoc pass if the result can be determined at compile time. ↵skidau
Brings back the speed lost by r146b02615c07.
2012-05-26fixed some graphics problems with loading savestates (for example, wrong ↵nitsuja
colors on title screen of metroid prime 3)
2012-03-24Revert r41bcf657f89d, r3a9fed0ba285, r9adc119e3c2f and re58692653afd (all of ↵NeoBrainX
them are wrong).
2012-02-20PixelShaderGen: For custom textures and scaled EFB copies, use correct texel ↵NeoBrainX
to pixel mapping when sampling textures (D3D9 only) This is basically the same as revision e58692653afd, just for scaled textures and with a LOT more work...
2011-07-04VideoCommon: Always update pixel shader constants when tevregs changepierre
This time, it doesn't break the games i tested, and still fixes Metroid Prime 3 texts/colors. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7668 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-20Small update for disabled Fog for older hardware that fails to divide by ↵Sonicadvance1
zero in shaders git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7612 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-11Fix an error introduced in r7083. In the pixel shader manager the farZ and ↵donkopunchstania
zRange of the z bias were flipped. Switched to using the viewport struct rather than a raw float array to hopefully avoid such confusion in the future. Fixes issue 4060. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7446 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19Game-specific video settings:skidau
* Moved the config validity check to reflect the emulator enforced settings at the config dialog * Removed some obsolete validity checks * Corrected "EnablePixelLighting" typo in the ini files Fixes issue 4277. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7374 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-05Rework XF register loading a bit and change how registers are arranged in ↵donkopunchstania
memory. This removes the assumption that all data for a viewport or projection matrix will be available when index 0 is loaded. Fixes issue 3688 and probably breaks old save states (sorry). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7083 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-29initial implementation of fog range adjust, I don't think is correct or work ↵Rodolfo Osvaldo Bogado
right but is a start. some tweaks and fixes. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6957 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-09some little optimizations and some cleaning.Rodolfo Osvaldo Bogado
now lighting should be fully functional again in SM 2.0 cards git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6794 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07normalize the efb to texture process for color textures to make it work the ↵Rodolfo Osvaldo Bogado
same in all the plugins and with the same accuracy as real hardware (almost :)) please test for regressions and fixes. some little changes to make pixel shader more dx9 sm2.0 friendly. the condition is not to use pixel lighting ( sorry no hardware support for the quantity of parameters needed). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6777 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-19reduced frequency of dx9 ps_2_0 pixel generation errors, and made dx9 efb ↵nitsuja-
depth peek of 16-bit depth buffer not use 24-bit adjustment factor. shouldn't affect other the plugins. (probably nobody else cares, but I need at least one video plugin that actually works on this computer) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6618 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-18**Changes**gnick79
* More formats recognition for "Clear Screen" step. Improved the ability handling the alpha channel (% color translucency). * Related to CPUID detecting: - Added support displaying correct SysInfo for recent multicore Intel CPUs x86-64 with HT/SMT (Core i3/i5/i7 and Xeon) based on Nehalem architecture. + minor and passive changes. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6604 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-11-23Related FOG changes:gnick79
* revert back to proper upscale mantissa of parameters A and C * properly downscale magnitude to 0.24 bits instead than ≡0.23 * Z Eyespace conversion for projection by original patent concept git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6463 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-23i know still a lot to fix and much work to do but sometimes experiments are ↵Rodolfo Osvaldo Bogado
fun :) for all the plugins implemented per pixel lighting, this will make games that uses lighting a lot nice. (just look at mario sunshine and compare :)) for dx9: implemented temporal anaglyph stereo: just grab your red-cyan glasses and enjoy. stereo calibration: use stereo separation ( distance of the point from you are looking) and Focal Angle: the angle necessary to focus in one particular object. this settings are different in every games as they use different depth ranges. please for any regression and bug introduced by this commit. if you ask why i did not implement stereo in dx11 and opengl the reason is one: they don't work right when i have more time will try to find a way to make them work. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6224 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-30Remove more obsolete codeNolan Check
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6153 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29Remove a bunch of freshly-obsolete codeNolan Check
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6148 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-17a little optimization in shaders constants setting , based on the same idea ↵Rodolfo Osvaldo Bogado
of nodchip changes. a MAYORRRRRR change in pixel shader generation, please review all games you can and leave comments this must improve accuracy in graphic emulation a lot. for example: mario eyes in super mario galaxy, water pod transparency an water transparency on game intro in super mario sunshine, etc. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5457 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-21NSMB background fix. Fixes 1654.fgfemperor
There was a problem with the fog calculations... Now NSMB shows the background, while the fog still works! git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4714 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-09Small fix for the last commit, and a little fix for disable fog to really ↵Rodolfo Osvaldo Bogado
disable it :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4662 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-21Try to do Z textures better. Z texturing does not work if early z or no z ↵donkopunchstania
update. Corrected the Z texture bias used on 8 and 16 bit textures. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4596 8ced0084-cf51-0410-be5f-012b33b47a6e