GSdx-d3d: Add support for ChannelShuffle in PS constant buffer.

Needed for GXBY channel.
This commit is contained in:
lightningterror 2018-12-11 16:17:03 +01:00
parent c8f53f32fc
commit c7aca64642
2 changed files with 5 additions and 1 deletions

View File

@ -94,6 +94,7 @@ public:
GSVector4 MinMax;
GSVector4 MinF_TA;
GSVector4i MskFix;
GSVector4i ChannelShuffle;
GSVector4 TC_OffsetHack;
@ -105,6 +106,7 @@ public:
MinMax = GSVector4::zero();
MinF_TA = GSVector4::zero();
MskFix = GSVector4i::zero();
ChannelShuffle = GSVector4i::zero();
}
__forceinline bool Update(const PSConstantBuffer* cb)
@ -112,7 +114,7 @@ public:
GSVector4i* a = (GSVector4i*)this;
GSVector4i* b = (GSVector4i*)cb;
if(!((a[0] == b[0]) /*& (a[1] == b1)*/ & (a[2] == b[2]) & (a[3] == b[3]) & (a[4] == b[4]) & (a[5] == b[5])).alltrue()) // if WH matches HalfTexel does too
if(!((a[0] == b[0]) /*& (a[1] == b1)*/ & (a[2] == b[2]) & (a[3] == b[3]) & (a[4] == b[4]) & (a[5] == b[5]) & (a[6] == b[6])).alltrue()) // if WH matches HalfTexel does too
{
a[0] = b[0];
a[1] = b[1];
@ -120,6 +122,7 @@ public:
a[3] = b[3];
a[4] = b[4];
a[5] = b[5];
a[6] = b[6];
return true;
}

View File

@ -105,6 +105,7 @@ cbuffer cb1
float2 MinF;
float2 TA;
uint4 MskFix;
int4 ChannelShuffle;
float4 TC_OffsetHack;
};