dolphin/Source/Core/VideoCommon/Src
Soren Jorvang 824b509d2e Make the SSE3.1 VideoCommon code available in GCC builds.
The GCC model for extended instructions like these is that you compile
with -msse3 etc. These affect code generation for whole compilation units,
so the idea is that you have a separate .c file for each instruction set
class and then indirect to the desired one at runtime.

Without e.g. -msse4.1, the GCC built-ins used by <foointrin.h> are not
available. However, in our specific case of compiling with -msse2 and
wanting to use SSE3.1 code, enough built-ins are available that we only
need to provide a little hack for pshufb.

Upgrading this to also use SSE4.1 instructions doesn't appear feasible
without a lot of undesirable duplication of GCC built-in functions and
headers, so we'd probably have to move to the GCC model of separate
source files for that.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6014 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-31 14:40:01 +00:00
..
OpenCL Use .cpp suffix when detecting libraries. On some systems, g++ 2010-07-29 13:29:15 +00:00
AVIDump.cpp Linux global build. At least the basic footwork is done here. 2010-02-02 21:56:29 +00:00
AVIDump.h
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
BPMemory.h HUGE commit :) 2010-06-05 00:01:18 +00:00
BPStructs.cpp cleanup + some eolz 2010-07-06 13:14:51 +00:00
BPStructs.h
CommandProcessor.cpp When the new FIFO is being attached We make sure there wont be SetFinish event pending if so reset this. This protection fix Eternal Darkness booting, because the second SetFinish event when it is booting seems invalid or has a bug and hang the game. 2010-07-28 02:57:17 +00:00
CommandProcessor.h My first commit :D 2010-06-24 13:28:54 +00:00
CPMemory.cpp
CPMemory.h
DataReader.h Because we only ever call Pos_ReadDirect (and through that, DataRead<T>) 2010-07-18 05:31:51 +00:00
Fifo.cpp Committing some cleanups by avindra: 2010-07-18 10:11:34 +00:00
Fifo.h 1. This should fix Issue 1625 (Bizarre Auto Frame Limit) 2010-01-07 20:01:41 +00:00
HiresTextures.cpp Automatically detect and use shared library packages for 2010-06-16 12:42:49 +00:00
HiresTextures.h DX9: - Add hires texture loading. 2009-12-22 06:47:42 +00:00
ImageWrite.cpp
ImageWrite.h
IndexGenerator.cpp some more minor optimizations introduced by aavindraa, i only corrected evaluation order using some (). 2010-07-16 12:36:55 +00:00
IndexGenerator.h let's keep experimenting: 2010-05-22 21:58:43 +00:00
LookUpTables.h
memcpy_amd.cpp
NativeVertexFormat.h D3D: Fix 8-bit signed normals. Fixes lighting problems in Super Smash Bros Melee. misc tiny things 2009-09-13 21:18:04 +00:00
NativeVertexWriter.cpp
NativeVertexWriter.h fast commit : 2010-05-04 14:43:30 +00:00
OnScreenDisplay.cpp Kill the last timeGetTime calls. 2010-01-21 21:27:52 +00:00
OnScreenDisplay.h Moving more things out of GL into VideoCommon... 2009-09-03 20:37:35 +00:00
OpcodeDecoding.cpp Add a toggle option for OpenCL in Config (in Advanced Settings). Default is off. 2010-06-22 13:17:01 +00:00
OpcodeDecoding.h I hope you all like this. Changes: 2009-10-02 14:03:07 +00:00
PixelEngine.cpp When the new FIFO is being attached We make sure there wont be SetFinish event pending if so reset this. This protection fix Eternal Darkness booting, because the second SetFinish event when it is booting seems invalid or has a bug and hang the game. 2010-07-28 02:57:17 +00:00
PixelEngine.h When the new FIFO is being attached We make sure there wont be SetFinish event pending if so reset this. This protection fix Eternal Darkness booting, because the second SetFinish event when it is booting seems invalid or has a bug and hang the game. 2010-07-28 02:57:17 +00:00
PixelShaderGen.cpp Further *BSD portability. 2010-07-23 23:51:34 +00:00
PixelShaderGen.h big changes here: 2010-07-18 00:18:31 +00:00
PixelShaderManager.cpp a little optimization in shaders constants setting , based on the same idea of nodchip changes. 2010-05-17 22:17:46 +00:00
PixelShaderManager.h Preparing stuff for DX11: 2010-06-12 15:49:21 +00:00
Profiler.cpp Kill the last timeGetTime calls. 2010-01-21 21:27:52 +00:00
Profiler.h
Render.h 2 commits in one: 2010-07-09 20:56:16 +00:00
SConscript Get rid of a number of unnecessary env.Clones. 2010-07-19 03:42:37 +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
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 Make the SSE3.1 VideoCommon code available in GCC builds. 2010-07-31 14:40:01 +00:00
TextureDecoder.h add a path to texture decoder to produce only rgba textures, this will make texture loading in dx11 a lot easier and give a little performance boost to. 2010-06-19 13:31:40 +00:00
VertexLoader_Color.cpp I missed some cases in r5901: 2010-07-18 08:30:40 +00:00
VertexLoader_Color.h
VertexLoader_Normal.cpp 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_Normal.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_Position.cpp I missed some cases in r5901: 2010-07-18 08:30:40 +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 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.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 VideoCommon: A minor speed up. 2010-06-23 03:02:15 +00:00
VertexLoader.h Removed more compiler warnings in linux. 2010-03-07 22:48:37 +00:00
VertexLoaderManager.cpp Fixed the crazy code in r5161. 2010-03-06 10:07:37 +00:00
VertexLoaderManager.h make DLCache compile on linux, required some weird casting so tell me 2009-08-10 06:18:10 +00:00
VertexShaderGen.cpp big changes here: 2010-07-18 00:18:31 +00:00
VertexShaderGen.h big changes here: 2010-07-18 00:18:31 +00:00
VertexShaderManager.cpp big changes here: 2010-07-18 00:18:31 +00:00
VertexShaderManager.h Preparing stuff for DX11: 2010-06-12 15:49:21 +00:00
VideoCommon.h some fixes to my last commit and .... 2010-06-14 14:36:01 +00:00
VideoConfig.cpp BPHack option removed (it was not used anymore) 2010-07-27 10:29:34 +00:00
VideoConfig.h BPHack option removed (it was not used anymore) 2010-07-27 10:29:34 +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
XFBConvert.cpp Woops, that is why getting work group size failed 2009-10-07 07:44:35 +00:00
XFBConvert.h
XFMemory.cpp
XFMemory.h a minor cleanup in xf registers, an some small bug fixes. please test and give me feedback 2009-11-19 02:28:41 +00:00
XFStructs.cpp a minor cleanup in xf registers, an some small bug fixes. please test and give me feedback 2009-11-19 02:28:41 +00:00
XFStructs.h