summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VertexLoader.cpp
AgeCommit message (Collapse)Author
2012-12-10Clean up gcc/g++ compiler warnings that have accumulated.Glenn Rice
2011-10-28Bounding Box bugfixes.crudelios
- Fixes all (I hope) BBox-related unknown pointer crashes. - Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes). - Fixes a small oversight on the change I made to the ISO Properties dialog. This should also be a (very very little) bit faster than the previous version.
2011-10-26Added proper Bounding Box support.crudelios
Should fix most graphical issues with Paper Mario: TTYD and Super Paper Mario. Fixes issue 360. Since only those two games seem to require BBox support, and as per ector's suggestion, BBox is only enabled for those two games. BBoxes and Display List Caches don't get along too well, causing Paper Mario: TTYD to hang during certain effects where BBoxes are used. For now, I disabled DList Cache for the Paper Mario games, hopefully both will be compatible in the future.
2011-03-21Moved per-game graphics configuration to the game-list right click menu. It ↵Jordan Woyak
will be too difficult to make the "profiles" drop-down thing work with 3-state vs 2-state checkboxes. The per-game settings now have "undetermined" states, except for the radio buttons(I'll fix that later). It's super hacky right now. Video config (probably all config stuff) could be redone. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7386 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-12Fix things so that those who wish to compile with -std=c++0x can. To active ↵Glenn Rice
this with the cmake build add CXXFLAGS="-std=c++0x" before cmake on the command line, or export that variable. This enables the experimental features like std::thread, std::mutex, etc., that are provided by g++ instead of using the implementation in dolphin. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7333 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-04First Revert my changes to VertexLoader.cpp, i don't own the games that get ↵Rodolfo Osvaldo Bogado
error so i revert the changes until i can test it myself. Second: A experiment. implemented parallelization in texture decoding using openmp. is most a experiment to test the performance in different os/plataforms. in my system (windows x64 amd 1055t) give a speedup in large textures, but i tested in in intel dual core and gives a slowdown. o i limited the use for large textures and cpus with more than 3 cores. please test an let me know if it improves or degrades the speed. please for linux and osx user. to enable this you will have to enable your compiler support for openmp to test this code. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7284 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25some cleaning in dlist cache, runvertices and runcompiledverticesRodolfo Osvaldo Bogado
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7246 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-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-19rework the normal loading now it should be a accurate as real hardware.Rodolfo Osvaldo Bogado
more accurate means more slow so no complains about speed lost, will optimize later. please test for regression, but i hope you will get a nice surprise about this commit :). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6881 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-18some adjustments in Normal loading to improve lighting in dx9.Rodolfo Osvaldo Bogado
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6874 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05Fix VideoCommon build configuration for DebugFast/x64.NeoBrainX
VertexLoader: Align bounding box registers properly, the hardware reads them in 2x2 blocks. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6524 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-26Minor change to ease video plugin merging. Made static ↵Jordan Woyak
NativeVertexFormat::Create function into a virtual function of VertexManager. I believe this is the last bit of code which is only declared in VideoCommon and defined in each of the plugins. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6479 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-21Polish, fix and otherwise improve the video plugin configuration dialog:NeoBrainX
- Add some info about a backend's feature set (MSAA, Real XFB, EFB to RAM, ..) to VideoConfig - Gray out options if they aren't supported by the backend or if changing them doesn't affect anything (e.g. changing STC mode if STC is disabled) - Allow signed bytes for D3D11. Not sure if this causes glitches, but it should work - Call wxEvent.Skip() in the event function handlers, not sure if this fixes any bugs but the old code definitely caused bugs during development of this patch - Fix a memory leak in the configuration dialog if D3D11 is used - Other minor stuff that doesn't need to be mentioned or which I forgot git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6450 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-14more work on dlist caching now should be a little fasterRodolfo Osvaldo Bogado
a little bugfix in vertex loading and some fixes. not much time to work these days but at least i can spend a little time fixing thing. please test for regressions. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6409 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-14VideoCommon: A minor optimization.nodchip
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6204 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-30some fixes for dlist, now is configurable in the video config section, still ↵Rodolfo Osvaldo Bogado
not in the gui, disabled by default till a fix for segfaults in linux and geometry problems in some games git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6155 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29fully implemented display list cache with vertex data included and added in ↵Rodolfo Osvaldo Bogado
all the plugins. still experimental, not totally optimized but must bring a nice speed up please test for regressions an error. an please Linux people fix scons :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6149 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-23VideoCommon: A minor speed up.nodchip
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5772 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05HUGE commit :)Rodolfo Osvaldo Bogado
in general cleanup and bugfix disable pierre patch for the moment as it causes problem in some games and hopefully fix the remaining missing textures for nvidia users in opengl. make the code in pixelshadergen looks nice and readable. D3D: this is a ultra experimental commit please check for regressions or error. make the efb Scale / super sampling level customizable to improve the output quality and let the user configure quality according to his hardware. is everyone likes this change will translate it to opengl please test git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5612 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26For these assertions to trip, enums in CPMemory.h which seem pretty much setSoren Jorvang
in stone would have to change. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5496 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-04fast commit :Rodolfo Osvaldo Bogado
make native mips loading an option to prevent performance lost in game that not need this functionality.( thanks to dorian.fevrier for point the performance lost.) added a patch from pierre@pirsoft.de to avoid vertex drops when index array is full in opengl implementation that do not support large index arrays git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5432 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-09VideoCommon: Added automatic selection routines for SSSE3/SSE4.1 codes. It ↵nodchip
selects SSSE3/SSE4.1 codes only if a proper preprocessor definition is defined and the target cpu supports SSSE3/SSE4.1. The selection routines in VertexLoader_* use function pointers. TextureDecoder uses a combination of "#if" and "if" statements. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5302 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-28Refactored VertexLoader::CompileVertexTranslator(). Now texture coordinates ↵nodchip
loaders are also selected from a function table. I will add a hack to increase the speed in the next commit. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5140 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-28Refactored VertexLoader::CompileVertexTranslator(). Now the vertex position ↵nodchip
loader is selected from a function table. I will apply the same kind of refactoring to texture coordinates loader. This is a pre-preparation to optimize texture coordinates loaders. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5139 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-24Reverted because of some processor and performance issue. I will develop in ↵nodchip
a branch about SSSE3/SSE4.1. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5123 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-24Added SSSE3/SSE4.1 code for speed up. The code does not work in this ↵nodchip
revision because cpu_info is not initialized properly. I will fix the issue in another commit. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5119 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12Fix missing shading in NSMBWii etc in the D3D plugin. Now, I'm not entirely ↵hrydgard
sure why the existing code didn't work properly, but hey, this fixes it :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4810 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-10Moving pixel engine and command processor from core to video common. This ↵donkopunchstania
will break previous save states. Adds decoding single pixels to texture decoder. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4391 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-26r4322 commented out an important Flush() call - restore that.hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4323 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-26OpenGL: commit rodolfoosvaldobogado's (what a name!) speedup patches.hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4322 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13D3D: Fix 8-bit signed normals. Fixes lighting problems in Super Smash Bros ↵hrydgard
Melee. misc tiny things git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4265 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-30Don't use lookup tables. It's better to use CPU registers and reduce memory ↵Nolan Check
accesses. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3909 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28Now ALL copyright dates are fixed to the legally correct year: The year in ↵XTra.KrazzY
which the project began. Now we don't have to change it every year :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-26GFX: updated Dates, code formatting cleanup, code cleanup / organization, ↵omegadox
some unknown BPs uncovered, fixed OGL's config dialog bug, added another shader DSPHLE: Some warning fixes and added some logging for unknown voice cases Please report if anything has broken. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3884 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-03Assorted cleanup, perf counter logging, and minor fixes that have been ↵hrydgard
accumulating on my hdd :p git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3663 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28Graphics: (faked) bounding box support. Helps some Paper Mario effects ↵hrydgard
although they're still a bit glitchy. Might also help other games? Enable with the #define in VideoCommon.h. Since there might be a speed hit it's off by default. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3580 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-22revert last 2 commitsnakeee
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3533 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-22They should be called SU Registers (Setup Unit/Rasterization). BP (Bypass) ↵omegadox
is really the name of the commands that are passed in. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3531 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-10A fix to D3D NativeVertexFormat. Might not fix much, but should be a step in ↵hrydgard
the right direction. Other misc bits and bobs. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2644 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-15vertexloader_pos cleanup - remove the branch per vertex. not much of a ↵hrydgard
speedup though. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2256 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-15Sort vertex loader debug statistics by number of verts loaded - now easy to ↵hrydgard
identify the heaviest vertex loader in games. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2252 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-09Cache vertex array pointers, a la magumagu's idea. Misc other stuff. Should ↵hrydgard
give very minor speed boost. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2185 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-06more info in the vertex loader debug displayhrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2128 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-10Linux 64-bit fix by tinctorius, please verify!XTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1845 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26moar cleanuphrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1694 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26GL Vertex loader moved to VideoCommon.hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1692 8ced0084-cf51-0410-be5f-012b33b47a6e