summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2013-07-29 23:26:18 +0200
committerdegasus <wickmarkus@web.de>2013-07-29 23:26:18 +0200
commit4987f89ecc4213725769b50986746d39f829f5eb (patch)
tree1bc26f954705c831bb0458c82dba05e9197e471f /Source/Core/VideoCommon
parentd029fc2f9f04396e145f27716266965e1da39793 (diff)
simplify my last commit
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/Src/PixelShaderGen.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
index 4dfbd62307..f7ddec5477 100644
--- a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
+++ b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
@@ -230,7 +230,7 @@ static void BuildSwapModeTable()
}
template<class T> static void WriteStage(T& out, pixel_shader_uid_data& uid_data, int n, API_TYPE ApiType, RegisterState RegisterStates[4]);
-template<class T> static void SampleTexture(T& out, const char *destination, const int dest_index, const char *texcoords, const char *texswap, int texmap, API_TYPE ApiType);
+template<class T> static void SampleTexture(T& out, const char *texcoords, const char *texswap, int texmap, API_TYPE ApiType);
template<class T> static void WriteAlphaTest(T& out, pixel_shader_uid_data& uid_data, API_TYPE ApiType,DSTALPHA_MODE dstAlphaMode, bool per_pixel_depth);
template<class T> static void WriteFog(T& out, pixel_shader_uid_data& uid_data);
@@ -558,7 +558,8 @@ static void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_TYPE Api
else
out.Write("\ttempcoord = float2(0.0f, 0.0f);\n");
- SampleTexture<T>(out, "float3 indtex", i, "tempcoord", "abg", texmap, ApiType);
+ out.Write("float3 indtex%d = ", i);
+ SampleTexture<T>(out, "tempcoord", "abg", texmap, ApiType);
}
}
@@ -886,7 +887,9 @@ static void WriteStage(T& out, pixel_shader_uid_data& uid_data, int n, API_TYPE
char *texswap = swapModeTable[bpmem.combiners[n].alphaC.tswap];
int texmap = bpmem.tevorders[n/2].getTexMap(n&1);
uid_data.SetTevindrefTexmap(i, texmap);
- SampleTexture<T>(out, "textemp", -1, "tevcoord", texswap, texmap, ApiType);
+
+ out.Write("textemp = ");
+ SampleTexture<T>(out, "tevcoord", texswap, texmap, ApiType);
}
else
{
@@ -1108,15 +1111,10 @@ static void WriteStage(T& out, pixel_shader_uid_data& uid_data, int n, API_TYPE
}
template<class T>
-void SampleTexture(T& out, const char *destination, const int dest_index, const char *texcoords, const char *texswap, int texmap, API_TYPE ApiType)
+void SampleTexture(T& out, const char *texcoords, const char *texswap, int texmap, API_TYPE ApiType)
{
out.SetConstantsUsed(C_TEXDIMS+texmap,C_TEXDIMS+texmap);
- if(dest_index >= 0)
- out.Write("%s%d = ", destination, dest_index);
- else
- out.Write("%s = ", destination);
-
if (ApiType == API_D3D11)
out.Write("Tex%d.Sample(samp%d,%s.xy * " I_TEXDIMS"[%d].xy).%s;\n", texmap,texmap, texcoords, texmap, texswap);
else