dolphin/Source/Core/VideoCommon/Src
rice1964 718c88ff6a Some optimization on the pixel and vertex shader generators. As tested on Zelda TP, these changes should be able to reduce the number of lines in the compiled pixel shader program by 20% to 30%, for example, from 38 lines to 28 lines after the generated cg/HLSL pixel shader compiled by the cg/HLSL compiler. These could means slightly faster rasterization on slower video cards.
Also fixed shader compilation errors for DX9 plugin by using correct pixel/vertex attribute names that are compatibile with DX9 HLSL shader compiler. Now the generated vertex or pixel shader programs will compile correctly in either OGL or DX9. 

However, DX9 plugin is still not fixed, even though the shader programs can be compiled now.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4113 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 04:23:30 +00:00
..
AVIDump.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
AVIDump.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
BPFunctions.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
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 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
BPStructs.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
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
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 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
DataReader.h Frameskipping more aggressive (minor speedup, plz report any serious problems). Initial display list cache implementation, disabled for now. Various cleanup. 2009-08-09 11:03:58 +00:00
Fifo.cpp GFX: 2009-08-15 07:33:35 +00:00
Fifo.h Frameskipping! Complete with GUI! Even my most naive approach resulted in great speeds, even with graphic-intensive games such as Pikmin. 2009-08-08 01:39:56 +00:00
GlobalControl.cpp ... 2009-08-15 07:36:24 +00:00
GlobalControl.h and its header... 2009-08-15 07:39:07 +00:00
HiresTextures.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
HiresTextures.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
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 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.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
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
NativeVertexFormat.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
NativeVertexWriter.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
NativeVertexWriter.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
OpcodeDecoding.cpp random small fixes - fix debug builds, dump ucodes on PAD_BUTTON_X, get rid of a never-closed FILE* 2009-08-11 00:35:07 +00:00
OpcodeDecoding.h Frameskipping more aggressive (minor speedup, plz report any serious problems). Initial display list cache implementation, disabled for now. Various cleanup. 2009-08-09 11:03:58 +00:00
PixelShaderGen.cpp Some optimization on the pixel and vertex shader generators. As tested on Zelda TP, these changes should be able to reduce the number of lines in the compiled pixel shader program by 20% to 30%, for example, from 38 lines to 28 lines after the generated cg/HLSL pixel shader compiled by the cg/HLSL compiler. These could means slightly faster rasterization on slower video cards. 2009-08-31 04:23:30 +00:00
PixelShaderGen.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
PixelShaderManager.cpp Re-enable CPU swap on XFB mode only, to avoid flickering in a couple of games 2009-08-25 18:30:15 +00:00
PixelShaderManager.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
Profiler.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
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
SConscript GFX: New GlobalControl system - cleaner way to control hacks and for possible control over other parts of the video code (video debugger control). 2009-08-15 07:20:37 +00:00
Statistics.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
Statistics.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
TextureDecoder.cpp GFX: Cleanup - Move OGL's GetBlockHeightInTexels and GetBlockWidthInTexels code into VideoCommon. 2009-08-11 20:36:13 +00:00
TextureDecoder.h GFX: Cleanup - Move OGL's GetBlockHeightInTexels and GetBlockWidthInTexels code into VideoCommon. 2009-08-11 20:36:13 +00:00
VertexLoader.cpp Don't use lookup tables. It's better to use CPU registers and reduce memory accesses. 2009-07-30 20:29:52 +00:00
VertexLoader.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
VertexLoaderManager.cpp Frameskipping! Complete with GUI! Even my most naive approach resulted in great speeds, even with graphic-intensive games such as Pikmin. 2009-08-08 01:39:56 +00:00
VertexLoaderManager.h make DLCache compile on linux, required some weird casting so tell me 2009-08-10 06:18:10 +00:00
VertexLoader_Color.cpp Don't use lookup tables. It's better to use CPU registers and reduce memory accesses. 2009-07-30 20:29:52 +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 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.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_Position.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
VertexLoader_Position.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_TextCoord.cpp Frameskipping more aggressive (minor speedup, plz report any serious problems). Initial display list cache implementation, disabled for now. Various cleanup. 2009-08-09 11:03:58 +00:00
VertexLoader_TextCoord.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
VertexShaderGen.cpp Some optimization on the pixel and vertex shader generators. As tested on Zelda TP, these changes should be able to reduce the number of lines in the compiled pixel shader program by 20% to 30%, for example, from 38 lines to 28 lines after the generated cg/HLSL pixel shader compiled by the cg/HLSL compiler. These could means slightly faster rasterization on slower video cards. 2009-08-31 04:23:30 +00:00
VertexShaderGen.h vertex shader generator: don't multiply z by two in d3d mode (thanks drk|razi) 2009-08-29 12:15:59 +00:00
VertexShaderManager.cpp GFX: New GlobalControl system - cleaner way to control hacks and for possible control over other parts of the video code (video debugger control). 2009-08-15 07:20:37 +00:00
VertexShaderManager.h GFX: New GlobalControl system - cleaner way to control hacks and for possible control over other parts of the video code (video debugger control). 2009-08-15 07:20:37 +00:00
VideoCommon.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
VideoState.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
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 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.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 GFX: revert of r4044 2009-08-24 23:36:28 +00:00
XFStructs.cpp GFX: revert of r4044 2009-08-24 23:36:28 +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
memcpy_amd.cpp GL Vertex loader moved to VideoCommon. 2008-12-26 13:09:16 +00:00