dolphin/Source/Core/VideoCommon/Src
NeoBrainX 7698d85a8e DX11:
- Speed up MSAA by using custom resolve shaders instead of ID3D11DeviceContext::ResolveSubresource().
- Fix EFB access when MSAA is enabled.
- Implement the "force linear filtering" option.
- Compile shaders using shader model 4.1 or 5.0 if available.
- Some minor cleanups.

Who cares about DX9 and OGL anyway :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6481 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-27 11:11:05 +00:00
..
OpenCL Added a safer OpenCL shutdown procedure. 2010-10-24 04:17:36 +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 Fixed RealXFB being enabled when XFB box is unchecked. Moved some shared code into VideoCommon. Renamed EFBCopyDisable setting to EFBCopy"Enable" in the code and inifile. Fix DX11 settings not loading. Fixed Issue 3378.(graphics settings dialog displaying gameini settings in game) 2010-11-18 03:50:50 +00:00
BPFunctions.h D3D: Fix some texture wrapping issues by setting the texture state for every texture used at draw time. Hopefully there will not be a noticable slowdown, thanks to the state caching. Also some minor cleanup. Should fix issues like repeated shadows. TODO: In theory it should have worked without this, so I should investigate why this change was needed. 2010-01-12 23:40:30 +00:00
BPMemory.cpp Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
BPMemory.h Related FOG changes: 2010-11-23 13:57:01 +00:00
BPStructs.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
BPStructs.h Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
CommandProcessor.cpp Corrected the FIFO breakpoint clause in Single Core mode too. That fix Pokemon XD (Only single core mode) Dual core mode suffer distances problems like RE0. 2010-11-25 02:25:27 +00:00
CommandProcessor.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
CPMemory.cpp Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
CPMemory.h Some more cleanup which should've been in r6232. Thanks Billiard. 2010-09-27 05:16:11 +00:00
DataReader.h Because we only ever call Pos_ReadDirect (and through that, DataRead<T>) 2010-07-18 05:31:51 +00:00
DLCache.cpp Some compiler warnings and eol-style. 2010-11-14 23:56:26 +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
Fifo.cpp Corrected the FIFO breakpoint clause in the FIFO loop. This fixes Super Monkey Ball: Banana Blitz, Super Monkey Ball: Step & Roll and Pokemon XD. 2010-11-24 06:02:03 +00:00
Fifo.h Fix saving states on mesa3d and clean up the handling of asynchronous requests 2010-08-04 21:02:32 +00:00
FramebufferManagerBase.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
FramebufferManagerBase.h 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
HiresTextures.cpp StringUtil cleanup. Nothing seems broken. 2010-11-10 04:12:31 +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 Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
ImageWrite.h Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
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 Don't use lookup tables. It's better to use CPU registers and reduce memory accesses. 2009-07-30 20:29:52 +00:00
MainBase.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
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 Moving more things out of GL into VideoCommon... 2009-09-03 20:37:35 +00:00
OpcodeDecoding.cpp sometimes to advance you have to make a step back. 2010-08-28 15:09:42 +00:00
OpcodeDecoding.h sometimes to advance you have to make a step back. 2010-08-28 15:09:42 +00:00
PixelEngine.cpp Properly emulate the alpha read pixel engine register function (used for EFB peeks). 2010-10-24 19:52:52 +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 DX11: Fix mipmaps. Someone forgot creating them at the proper time ;P 2010-11-24 19:13:19 +00:00
PixelShaderGen.h Put infrastructure in place so that other plugins may support dual-source blending. 2010-10-21 05:22:18 +00:00
PixelShaderManager.cpp Related FOG changes: 2010-11-23 13:57:01 +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 Kill the last timeGetTime calls. 2010-01-21 21:27:52 +00:00
Profiler.h Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
RenderBase.cpp Fixed RealXFB being enabled when XFB box is unchecked. Moved some shared code into VideoCommon. Renamed EFBCopyDisable setting to EFBCopy"Enable" in the code and inifile. Fix DX11 settings not loading. Fixed Issue 3378.(graphics settings dialog displaying gameini settings in game) 2010-11-18 03:50:50 +00:00
RenderBase.h Fixed RealXFB being enabled when XFB box is unchecked. Moved some shared code into VideoCommon. Renamed EFBCopyDisable setting to EFBCopy"Enable" in the code and inifile. Fix DX11 settings not loading. Fixed Issue 3378.(graphics settings dialog displaying gameini settings in game) 2010-11-18 03:50:50 +00:00
SConscript Build missing BPFunctions.cpp with SCons. 2010-11-18 23:25:40 +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 DX11: Fix mipmaps. Someone forgot creating them at the proper time ;P 2010-11-24 19:13: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 hopefully fixed zww issue with new efb to ram. 2010-07-12 19:30:25 +00:00
TextureConversionShader.h hopefully fixed zww issue with new efb to ram. 2010-07-12 19:30:25 +00:00
TextureDecoder.cpp VideoCommon: An experimental fix for Issue 3493. Changed _mm_load_si128 to _mm_loadu_si128. I could not test the bug because I don't have Sonic Colors. 2010-11-14 04:29:20 +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 Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
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 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
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 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
VertexShaderGen.cpp Slightly adjust z-values calculated in the vertex shader so OGL does not clip the 2010-09-23 19:38:49 +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 DX11: 2010-11-27 11:11:05 +00:00
VideoConfig.cpp Renamed the "Disable Copy to EFB" option in the game properties(and game ini) to "Enable Copy to EFB", as it is named in the global video settings. (fixes issue 3556) 2010-11-25 02:19:06 +00:00
VideoConfig.h Tiny commit. Just re-added 3D Vision to the config dialog. Hope nobody minds, I made sure it gets greyed out and all that. Sorry about my lack of commits, got another ongoing project that's gotten me a bit hooked. 2010-11-24 17:13:12 +00:00
VideoState.cpp Moving pixel engine and command processor from core to video common. This will break previous save states. Adds decoding single pixels to texture decoder. 2009-10-10 21:19:39 +00:00
VideoState.h Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
XFBConvert.cpp Woops, that is why getting work group size failed 2009-10-07 07:44:35 +00:00
XFBConvert.h Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
XFMemory.cpp Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00
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 Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :) 2009-07-28 21:32:10 +00:00