summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VertexShaderManager.cpp
AgeCommit message (Collapse)Author
2013-12-31Remove unnecessary Src/ foldersJasper St. Pierre
2013-12-30VertexShaderManager: Remove a hardcoded projection hack.NeoBrainX
2013-11-03Run code through the advanced tool 'sed' to remove trailing whitespace.comex
2013-10-29VideoCommon: drop UpdateViewportWithCorrectiondegasus
It's only used once in BPFunction which itself is also only used once. So the setter is moved to BPStructs like all other ones.
2013-10-29VideoCommon: remove constants.depthparams[2+3] as they aren't used in the ↵degasus
shader at all
2013-10-29VideoCommon: move ViewportCorrection into VideoCommondegasus
D3D doesn't allow bigger viewports than rendertargets. But flipper does, so the viewport will be clipped and the transformation matrix will be changed. This was done in the D3D backend itself. This is now moved into VideoCommon. This don't reduce code, but in this way, VideoCommon doesn't depend on the backends.
2013-10-12VideoCommon: remove SetVSConstant4fdegasus
2013-10-12VideoCommon: refactor PixelShaderManager settersdegasus
The old way was to use a dirty flag per setter. Now we just update the const buffer per setter directly. The old optimization isn't needed any more as the setters don't call the backend any more. The follow parts are rewritten: Alpha ZTextureType zbias FogParam FogColor Color TexDim IndMatrix MaterialColor FogRangeAdjust Lights
2013-10-12D3D: also uses VideoCommon constant buffer handlingdegasus
As now both backends uses the VideoCommon one, the old setting API was removed.
2013-10-12ogl: implement useful constant buffer uploaddegasus
this will remove the additional memcpy introduced in my last commit
2013-10-12VideoCommon: keep a copy of the const buffer in VideoCommondegasus
The upload in the backend isn't done, it's just pushed by the mostly removed SetMulti*SConstant4fv. Also no optimizations was done on VideoCommon side, but I can start now :-) Sorry for the hacky way, but I think this is a nice (working) snapshot for a much bigger change.
2013-07-22Add "Q" / "E" as freelook keybindingsJasper St. Pierre
To move the view up and down.
2013-07-21VertexShaderManager: Make ProjectionHack privateJasper St. Pierre
There's no reason to make this public, and it prevents a build issue with the next commit.
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-31Fix some typos and correct some capitalizations in the log messages.Lioncash
Makes the logging look more orderly and less spammy when spitting out things.
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-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-24change projection_type to u32degasus
Fix issue 5740 thx @ erwan_taf for debuging all the week
2013-01-22fix small dx9 slowdowndegasus
2013-01-10Redundant line of code in VertexShaderManager::Dirty()Lioncash
Also cleaned it up.
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
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-12-01VertexShaderManager: Fix redundant shader constant updates.NeoBrainX
Thanks to konpie for spotting this. Might give a fairly perceivable speedup in the D3D11 backend.
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-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-05-27Update the viewport when the scissor offset is changedPierre Bourdon
Fixes a bug with Another Code: R that was noticed when gx-optimization was merged.
2012-05-26fixed some graphics problems with loading savestates (for example, wrong ↵nitsuja
colors on title screen of metroid prime 3)
2012-03-24D3D9: Fix texel to pixel mapping when sampling textures properly.NeoBrainX
2012-01-04initialize the uninitializednitsuja
2011-05-12Don't resize render target to handle out-of-bounds viewports. Instead, ↵Nolan Check
adjust the projection matrix. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7538 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-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-31* Changes about recent Custom PHack implementationgnick79
- Usability enhancement: Added Presets git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7025 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-30* All is fixed now about Custom Projection Hack (problem was inverted memmber)gnick79
- added support to DX11 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6980 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30- Projection Hack disabled internally because it breaks all games (tomorrow ↵gnick79
I check better my bad nonsense) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6979 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29A few compiler warnings.Soren Jorvang
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6975 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29* Changed the Projection Hack option in game properties to "Custom ↵gnick79
Projection Hack" - dislocating all sensible stuff related to "values per game/pattern" outside the sourcecode. - giving more control to end-users across the user-friendly interface. - deleting/cleaning some dead variables. - updating all gameconfig.ini data to reflect new PHack concept (pending upload). * Updated Italian translation - Includes corrections, a better strings translating and suggestions directly by Google Code's people. + Minor old pending changes... git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6973 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
2010-11-11Added a projection hack for Metroid: Other M. This fixes the black screens ↵skidau
that occur in cut-scenes. Patch by Trevor002. Fixes issue 3477. Fixes issue 3127. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6381 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-03Merged identical VertexManager code from DX9/DX11/OGL plugins into ↵Jordan Woyak
VideoCommon. Still need to merge VertexManager::Flush (will be easier after TextureCache is merged). Purposely using a class/virtualfuncs rather than a namespace so multiple VertexManager can be in one plugin (VideoMergeNew? :p). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6249 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