summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
AgeCommit message (Collapse)Author
2013-08-15Revert wrong indentation of some files. sorry for that one i was really ↵Rodolfo Bogado
convinced that i read that spaces must be used instead of tabs :)
2013-08-15some fixes for point renderingRodolfo Bogado
2013-06-17Merge '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/VertexShaderGen.cpp
2013-05-23add new statistics for gpu buffer streamingdegasus
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-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-04-03Adds support for PE performance metrics in the D3D9 backendRodolfo Bogado
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-28Implement dual source blending to avoid unneeded alpha pass.Rodolfo Bogado
this implementation does not work in windows xp (sorry no support for dual source blending there). this should improve speed on older hardware or in newer hardware using super sampling. disable partial fix for 4x supersampling as I'm interested in knowing the original issue with the implementation to fix it correctly. remove the deprecation label from the plugin while I'm working on it.
2013-03-26Fix Windows build, try 2.NeoBrainX
2013-03-15Derp. No Windows to test compile on.Ryan Houdek
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-12decrease d3d vertex buffer sizedegasus
2013-03-06fix compilationdegasus
i missed to fix a merge conflict in dx9
2013-03-06Merge branch 'master' into GLSL-masterdegasus
Conflicts: CMakeLists.txt Source/Core/DolphinWX/CMakeLists.txt Source/Core/DolphinWX/Src/GLInterface.h Source/Core/VideoCommon/Src/PixelShaderGen.cpp Source/Core/VideoCommon/Src/TextureCacheBase.cpp Source/Core/VideoCommon/Src/VertexManagerBase.cpp Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-02-27Tweak Vertex/Index buffer handling a bit.Jordan Woyak
2013-02-22VertexManager cleanupJordan Woyak
2013-02-21consistently usage of buffer pointersdegasus
2013-02-18Merge branch 'master' into GLSL-masterdegasus
Conflicts: CMakeLists.txt Source/Core/DolphinWX/Dolphin.vcxproj Source/Core/DolphinWX/Src/GLInterface/WX.cpp Source/Core/DolphinWX/Src/GLInterface/WX.h Source/Core/VideoCommon/Src/TextureCacheBase.cpp Source/Core/VideoCommon/Src/TextureCacheBase.h Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h Source/Plugins/Plugin_VideoOGL/Src/Render.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp damn mipmap_fixes ...
2013-02-15Changes/cleanup to TextureCache::Load and other mipmap related code.Jordan Woyak
The significant change is what is now line 520 of TextureCacheBase.cpp: ((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1) to TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat); Fixes issue 5328. Fixes issue 5461.
2013-02-07Merge branch 'mipmap_fixes'.NeoBrainX
2012-11-12fix for point rendering in dx9 backend, that will teach me to read the full ↵rodolfoosvaldobogado
documentation. if someone founs a games that use points a lot i will try to implement a faster path for point rendering. now the map in twin snakes is functional in all the backends.
2012-11-11 more fixes for my last commit, player problem in twin snakes is fixedrodolfoosvaldobogado
2012-11-10This should fix the bugs introduced by my last commit please retest the ↵rodolfoosvaldobogado
games that where showing graphical glitches.
2012-10-26implement some code to reduce the amounts of calls to setup vertex format, ↵rodolfoosvaldobogado
in d3d9 it gives no noticeable speedup, in opengl it still does not work right. thanks to neobrain for the idea
2012-10-26Implement the new buffer approach in opengl. sadly in my machine it gives my ↵rodolfoosvaldobogado
only 2 more fps and if your hardware does not support ARB_map_buffer_range is even slower than plain vertex arrays. change naming in all the backends vertex managers to make more easy to continue with the merge an some future improvements. please test this as i'm interested in knowing the performance in linux and windows with the different hardware platforms.
2012-10-22Some code cleaning for my last commit.rodolfoosvaldobogado
the amount and size of the buffer is now changed to "new hardware" frienly values and will fall back to the right values if hardware does not support them. my next commit will be to a branch, with my ogl work.
2012-10-20[bugfix] Make sure to specify the correct max lod level.NeoBrainX
2012-10-20Hey, long time no commits :).rodolfoosvaldobogado@gmail.com
So to compensate lets bring back some speed to the emulation. change a little the way the vertex are send to the gpu, This first implementation changes dx9 a lot and dx11 a little to increase the parallelism between the cpu and gpu. ogl: is my next step in ogl is a little more trickier so i have to take a little more time. the original concept is Marcos idea, with my little touch to make it even more faster. what to look for: SPEEEEEDDD :). please test it a lot and let me know if you see any problem. in dx9 the code is prepared to fall back to the previous implementation if your card does not support the amount of buffers needed. So if you did not experience any speed gains you know where is the problem :). for the ones with more experience and compression of the code please test changing the amount and size of the buffers to tune this for your specific machine. The current values are the sweet spot for my machine. All must Thanks Marcos, I hate him for giving good ideas when I'm full of work.
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-06-08Fast mipmaps deserves to die!!NeoBrainX
2012-04-03Second Stage: re implement zcomplock and correct all the logic error in ↵rodolfoosvaldobogado
PixelShaderGen.cpp. i disable fastzcomlock for the moment to avoid confusions. please test for regressions
2012-04-02First Stage:rodolfoosvaldobogado
Fix depth related errors in dstalpha pass. best place to test: water splash effect in super mario galaxy
2012-03-30Revert Rodolfo's recent zcomploc commits until they actually work correctly.NeoBrainX
This reverts commit 402006a83a89bc0f790934096e915f0e8c23f808. This reverts commit 48d8d71391fc2cc40d85732680eb6421164bf87c. This reverts commit 450dcc9d2cd874f6ab40d4a339afc29f55751319.
2012-03-29more fixes to zcomplock and opengl implementationrodolfoosvaldobogado
2012-03-27Fix for my last commit, this must fix the problem in the algorithm pointed ↵rodolfoosvaldobogado
by neobrain. thanks
2012-03-27As requested, this is my implementation of zcomploc using a multi-pass ↵rodolfoosvaldobogado
algorithm. My apologize to the others devs for committing in the main branch but is the only way to get this tested as soon as possible. please test for regressions, speed and for other issues fixed, as a example, the black color in water splash in super mario galaxy are fixed with this rev. please as soon as yo find a bug let me know.
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...
2012-02-03Implement texture preloadingNeoBrainX
2012-01-31TextureCache: Renaming some variablesNeoBrainX
OGL: Fix a possible bug at texture dumping OGL: Add a TODO about a possible bug
2011-02-25D3D9/11: Fix that "Disable Dest. Alpha Pass" option...NeoBrainX
Thanks to NaturalViolence for reporting ;) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7244 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27build fixin'hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6939 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-27DX9: Only enable dst alpha pass if the EFB format has an alpha channel.NeoBrainX
Guess it would be better if we made bpmem.blendmode.alphaupdate private to prevent improper usage... git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6932 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24DX11 code maintenance, part 4:NeoBrainX
Move blend state management from EmuGfxState to Renderer. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6905 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-11-18Move some shared gfx plugin code into VideoCommon. Changed "Renderer" class ↵Jordan Woyak
to use virtual functions. (setting stuff up for video plugin merging) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6433 8ced0084-cf51-0410-be5f-012b33b47a6e