dolphin/Source/Core/VideoCommon/Src
james.jdunne 60082853ec GX_TF_I4 texture decoder optimized with SSE2 producing a ~76% speed increase over reference C implementation.
GX_TF_RGBA8 texture decoder optimized with SSE2 producing a ~68% speed increase over reference C implementation.
TABified the entire document per NeoBrainX. :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6706 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 03:52:32 +00:00
..
OpenCL Avoid shadowing variables. 2010-12-19 16:03:39 +00:00
AVIDump.cpp Encode framedumps in AVI format on linux as on windows. This adds the additional dependency of libavformat-dev. Remember if you want raw framedumps as before add -DENCODE_FRAMEDUMPS=OFF to the cmake command line. 2010-11-18 16:46:17 +00:00
AVIDump.h On linux encode frame dumps in MPG format instead of writing raw frames. To enable this portion of the code you must have libavcodec-dev and libswscale-dev installed (package names for Ubuntu). 2010-11-14 21:14:26 +00:00
BPFunctions.cpp Linux build fix. 2010-12-29 15:23:02 +00:00
BPFunctions.h Implement pixel data reinterpretation on EFB format change. 2010-12-27 21:56:20 +00:00
BPMemory.cpp
BPMemory.h **Changes** 2010-12-18 18:23:22 +00:00
BPStructs.cpp Finish implementing gamma correction in DX9. 2010-12-31 07:06:53 +00:00
BPStructs.h
CommandProcessor.cpp More FIFO work. This is an Experimental commit, Fixed "Monopoly Wii" ("FIFOs linked but out of sync" problem in this game) Re-sync the FIFO again when this is in immediate mode. Copy CP register values to PI register. Now this games is booting and ingame :) 2010-12-29 07:12:37 +00:00
CommandProcessor.h More FIFO work, HACK Solution for extreme overflow on breakpoints. 2010-12-27 02:55:35 +00:00
CPMemory.cpp
CPMemory.h Some more cleanup which should've been in r6232. Thanks Billiard. 2010-09-27 05:16:11 +00:00
DataReader.h TextureDecoder.cpp: new SSE2 optimized GX_TF_I8 decoder. Probably not ultimately optimal SSE2 code, but provably better (on my machine) than the memset version. Tested with __rdtsc counts in an independent project. I get about 6-7 FPS more on average during the intro movie playback in Mario Kart Wii. Hope this compiles for GCC okay. 2010-12-30 19:17:08 +00:00
Debugger.cpp reduced frequency of dx9 ps_2_0 pixel generation errors, and made dx9 efb depth peek of 16-bit depth buffer not use 24-bit adjustment factor. shouldn't affect other the plugins. 2010-12-19 20:59:23 +00:00
Debugger.h We effectively only have a single namespace for private header files, 2010-12-05 15:28:31 +00:00
DLCache.cpp TextureDecoder.cpp: new SSE2 optimized GX_TF_I8 decoder. Probably not ultimately optimal SSE2 code, but provably better (on my machine) than the memset version. Tested with __rdtsc counts in an independent project. I get about 6-7 FPS more on average during the intro movie playback in Mario Kart Wii. Hope this compiles for GCC okay. 2010-12-30 19:17:08 +00:00
DLCache.h fully implemented display list cache with vertex data included and added in all the plugins. 2010-08-29 23:08:56 +00:00
EmuWindow.cpp Win32-only: 2010-12-19 19:43:18 +00:00
EmuWindow.h Win32-only: 2010-12-19 19:43:18 +00:00
Fifo.cpp Ops! Little fix for my prior commit. 2010-12-27 03:46:17 +00:00
Fifo.h BIG FIFO Commit PART 1! Sometimes you need to write everything from 0, so 10 days later Ive rewrited some parts of the FIFO in Dual Core mode. Is pending use the same code for SC mode. 2010-12-11 12:42:55 +00:00
FramebufferManagerBase.cpp Second Experimental commit: 2010-12-27 03:18:01 +00:00
FramebufferManagerBase.h Second Experimental commit: 2010-12-27 03:18:01 +00:00
HiresTextures.cpp allow gcc to check the format of args being passed to MsgAlert and GenericLog. Fixed nearly all warnings that arose from this, as well as some preexisting ones (some were actually crashes and/or bugs...) 2010-12-05 09:04:34 +00:00
HiresTextures.h Merged common texture cache code from video plugins into VideoCommon. (DX11 native mipmaps currently broken, disabled) Hopefully everything else should still be working. 2010-10-19 22:24:27 +00:00
ImageWrite.cpp
ImageWrite.h
IndexGenerator.cpp Related to Texture's glitches: 2010-11-25 20:39:54 +00:00
IndexGenerator.h let's keep experimenting: 2010-05-22 21:58:43 +00:00
LookUpTables.h
MainBase.cpp Lock emulation while saving state on all platforms. 2010-12-19 16:07:05 +00:00
MainBase.h Build missing BPFunctions.cpp with SCons. 2010-11-18 23:25:40 +00:00
memcpy_amd.cpp
NativeVertexFormat.h Minor change to ease video plugin merging. Made static 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. 2010-11-26 09:25:08 +00:00
OnScreenDisplay.cpp Move some shared gfx plugin code into VideoCommon. Changed "Renderer" class to use virtual functions. (setting stuff up for video plugin merging) 2010-11-18 02:21:26 +00:00
OnScreenDisplay.h
OpcodeDecoding.cpp TextureDecoder.cpp: new SSE2 optimized GX_TF_I8 decoder. Probably not ultimately optimal SSE2 code, but provably better (on my machine) than the memset version. Tested with __rdtsc counts in an independent project. I get about 6-7 FPS more on average during the intro movie playback in Mario Kart Wii. Hope this compiles for GCC okay. 2010-12-30 19:17:08 +00:00
OpcodeDecoding.h sometimes to advance you have to make a step back. 2010-08-28 15:09:42 +00:00
PixelEngine.cpp More FIFO works, Hopefully this commit can fix randoms hangs in Wii Music, Wii Sports, maybe in Wii Resort, etc. Please test your games now. This commit is not related with FIFO Overflown and Fifo linked desync. 2010-12-21 04:39:39 +00:00
PixelEngine.h Properly emulate the alpha read pixel engine register function (used for EFB peeks). 2010-10-24 19:52:52 +00:00
PixelShaderGen.cpp fix Issue 3539 2010-12-19 22:24:19 +00:00
PixelShaderGen.h this probably doesn't fix anything noticeable, but, it seems like a bug that C_COLORMATRIX+4 overlapped with C_PLIGHTS 2010-12-19 21:09:29 +00:00
PixelShaderManager.cpp reduced frequency of dx9 ps_2_0 pixel generation errors, and made dx9 efb depth peek of 16-bit depth buffer not use 24-bit adjustment factor. shouldn't affect other the plugins. 2010-12-19 20:59:23 +00:00
PixelShaderManager.h i know still a lot to fix and much work to do but sometimes experiments are fun :) 2010-09-23 02:17:48 +00:00
Profiler.cpp
Profiler.h
RenderBase.cpp Finish implementing gamma correction in DX9. 2010-12-31 07:06:53 +00:00
RenderBase.h Implement pixel data reinterpretation on EFB format change. 2010-12-27 21:56:20 +00:00
SConscript We effectively only have a single namespace for private header files, 2010-12-05 15:28:31 +00:00
Statistics.cpp D3D9: Delete some long dead code. Also add one more statistic: number of 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. 2010-06-20 22:23:34 +00:00
Statistics.h D3D9: Delete some long dead code. Also add one more statistic: number of 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. 2010-06-20 22:23:34 +00:00
TextureCacheBase.cpp All 64-bit capable Macs have the SSSE3 extension. 2010-12-27 22:17:19 +00:00
TextureCacheBase.h DX11: Fix mipmaps. Someone forgot creating them at the proper time ;P 2010-11-24 19:13:19 +00:00
TextureConversionShader.cpp made texture conversion shaders use less instructions 2010-12-19 21:05:41 +00:00
TextureConversionShader.h hopefully fixed zww issue with new efb to ram. 2010-07-12 19:30:25 +00:00
TextureDecoder.cpp GX_TF_I4 texture decoder optimized with SSE2 producing a ~76% speed increase over reference C implementation. 2011-01-01 03:52:32 +00:00
TextureDecoder.h Include "Hash.h" rather than "hash.h" for case-sensitive file systems. 2010-08-28 15:53:01 +00:00
VertexLoader_Color.cpp Merged identical VertexManager code from DX9/DX11/OGL plugins into 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). 2010-10-03 00:41:06 +00:00
VertexLoader_Color.h
VertexLoader_Normal.cpp Merged identical VertexManager code from DX9/DX11/OGL plugins into 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). 2010-10-03 00:41:06 +00:00
VertexLoader_Normal.h Newer versions of GCC's <tmmintrin.h> check for __SSSE3__ (-mssse3). 2010-07-31 15:26:46 +00:00
VertexLoader_Position.cpp more work on dlist caching now should be a little faster 2010-11-14 14:42:11 +00:00
VertexLoader_Position.h VideoCommon: Added automatic selection routines for SSSE3/SSE4.1 codes. It 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. 2010-04-09 15:13:42 +00:00
VertexLoader_TextCoord.cpp Merged identical VertexManager code from DX9/DX11/OGL plugins into 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). 2010-10-03 00:41:06 +00:00
VertexLoader_TextCoord.h VideoCommon: Added automatic selection routines for SSSE3/SSE4.1 codes. It 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. 2010-04-09 15:13:42 +00:00
VertexLoader.cpp Fix VideoCommon build configuration for DebugFast/x64. 2010-12-05 14:31:00 +00:00
VertexLoader.h Changed macro for disallowing copy-ctor and =operator into an inheritable class. Removed IrPointer.ini (no longer used) 2010-11-15 05:29:10 +00:00
VertexLoaderManager.cpp fully implemented display list cache with vertex data included and added in all the plugins. 2010-08-29 23:08:56 +00:00
VertexLoaderManager.h fully implemented display list cache with vertex data included and added in all the plugins. 2010-08-29 23:08:56 +00:00
VertexManagerBase.cpp Move some shared gfx plugin code into VideoCommon. Changed "Renderer" class to use virtual functions. (setting stuff up for video plugin merging) 2010-11-18 02:21:26 +00:00
VertexManagerBase.h DX9 debugger improvements: 2010-11-29 16:16:48 +00:00
VertexShaderGen.cpp Change comparison in specular light function. Fixes issue 1258. 2010-12-01 04:50:25 +00:00
VertexShaderGen.h big changes here: 2010-07-18 00:18:31 +00:00
VertexShaderManager.cpp Added a projection hack for Metroid: Other M. This fixes the black screens that occur in cut-scenes. Patch by Trevor002. 2010-11-11 09:22:19 +00:00
VertexShaderManager.h Added a projection hack for Metroid: Other M. This fixes the black screens that occur in cut-scenes. Patch by Trevor002. 2010-11-11 09:22:19 +00:00
VideoCommon.h Yet another ClearScreen fix, should be the last one now. 2010-12-27 18:09:03 +00:00
VideoConfig.cpp Implement pixel data reinterpretation on EFB format change. 2010-12-27 21:56:20 +00:00
VideoConfig.h Implement pixel data reinterpretation on EFB format change. 2010-12-27 21:56:20 +00:00
VideoState.cpp
VideoState.h
XFBConvert.cpp
XFBConvert.h
XFMemory.cpp
XFMemory.h Replace all bitfields which were only declared with "(un)signed" with their actual types. Let me know if I missed any. It would also be a good idea to test this commit in both x64 and x86. 2010-09-27 04:29:51 +00:00
XFStructs.cpp Merged identical VertexManager code from DX9/DX11/OGL plugins into 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). 2010-10-03 00:41:06 +00:00
XFStructs.h