summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/PixelShaderGen.cpp
diff options
context:
space:
mode:
authorMarkus Wick <markus+github@selfnet.de>2015-02-21 10:09:47 +0100
committerMarkus Wick <markus+github@selfnet.de>2015-02-21 10:09:47 +0100
commit6bbf77450714df5fa2a379e20e483905ce8f3889 (patch)
treed891d531cc9c72b4391fdfd20f25bfa859e9d8a4 /Source/Core/VideoCommon/PixelShaderGen.cpp
parent5da28f394a723536525c0bf1cd5fc7e4a0d340c4 (diff)
parent4cdf9f543f1de00076a7d2c02963aec2f9e544ef (diff)
Merge pull request #2075 from magumagu/titantron-fix
Partially fix WWE12 titantron videos.
Diffstat (limited to 'Source/Core/VideoCommon/PixelShaderGen.cpp')
-rw-r--r--Source/Core/VideoCommon/PixelShaderGen.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/PixelShaderGen.cpp b/Source/Core/VideoCommon/PixelShaderGen.cpp
index e4efccaac9..c962379f54 100644
--- a/Source/Core/VideoCommon/PixelShaderGen.cpp
+++ b/Source/Core/VideoCommon/PixelShaderGen.cpp
@@ -192,6 +192,12 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T
"int3 iround(float3 x) { return int3(round(x)); }\n"
"int4 iround(float4 x) { return int4(round(x)); }\n\n");
+ out.Write("int itrunc(float x) { return int (trunc(x)); }\n"
+ "int2 itrunc(float2 x) { return int2(trunc(x)); }\n"
+ "int3 itrunc(float3 x) { return int3(trunc(x)); }\n"
+ "int4 itrunc(float4 x) { return int4(trunc(x)); }\n\n");
+
+
if (ApiType == API_OPENGL)
{
// Declare samplers
@@ -432,7 +438,7 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T
out.SetConstantsUsed(C_TEXDIMS, C_TEXDIMS+numTexgen-1);
for (unsigned int i = 0; i < numTexgen; ++i)
{
- out.Write("\tint2 fixpoint_uv%d = iround(", i);
+ out.Write("\tint2 fixpoint_uv%d = itrunc(", i);
// optional perspective divides
uid_data->texMtxInfo_n_projection |= xfmem.texMtxInfo[i].projection << i;
if (xfmem.texMtxInfo[i].projection == XF_TEXPROJ_STQ)