3Dmigoto now open-source...
  43 / 141    
thanks! so this is the best way to disable shader? i know 3Dmigoto is dx11 fix original program,but what about dx9 fix? is there a original program that i can hunting shader in dx9 fix?
thanks! so this is the best way to disable shader?
i know 3Dmigoto is dx11 fix original program,but what about dx9 fix? is there a original program that i can hunting shader in dx9 fix?

Posted 12/13/2015 02:15 PM   
[quote="toomyxp"]With the help of DarkStar yesterday, I was able to fix the skyboxes. Now, I would like to fix water reflections as well, and later shadows. The problem with the water is that it adds stereo separation to the reflections, but those already had separation, so now the reflections are not lined up with their objects on the land. If I remove the separation with the following formula [code]"o0.x -= separation * (o0.w - convergence);"[/code] then the reflections are ok, but the water itself is rendered at screendepth. Is there a way to detect in the water reflection vertex shader if the currently processed input already has separation applied to it so this shader shouldn't add it's own separation? Or in other words, apply the separation only to the water itself and skip in case of reflections?[/quote] See if you can find the pixel shader for the water & apply the correction there. For example: [code]//water - halo fix Texture2D<float4> t4 : register(t4); Texture2D<float4> t3 : register(t3); Texture2D<float4> t2 : register(t2); Texture2D<float4> t1 : register(t1); Texture2D<float4> t0 : register(t0); SamplerState s4_s : register(s4); SamplerState s3_s : register(s3); SamplerState s2_s : register(s2); SamplerState s1_s : register(s1); SamplerState s0_s : register(s0); cbuffer cb2 : register(b2) { float4 cb2[2]; } cbuffer cb1 : register(b1) { float4 cb1[8]; } cbuffer cb0 : register(b0) { float4 cb0[27]; } Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float4 v0 : SV_POSITION0, float2 v1 : TEXCOORD0, float w1 : TEXCOORD7, float4 v2 : TEXCOORD1, float4 v3 : TEXCOORD2, float4 v4 : TEXCOORD3, float4 v5 : TEXCOORD4, float4 v6 : TEXCOORD5, float4 v7 : COLOR0, float4 v8 : TEXCOORD6, uint v9 : SV_IsFrontFace0, out float4 o0 : SV_Target0) { float4 r0,r1,r2,r3,r4,r5,r6; uint4 bitmask, uiDest; float4 fDest; float4 stereo = StereoParams.Load(0); float4 r30 = v8; r30.x += stereo.x*(r30.w - stereo.y) * 0.5; //--Stereoize TEXCOORD6 r0.xy = r30.xy / r30.ww; //---------------v8.xy & v8.ww changed to r30 r0.xyzw = t0.Sample(s1_s, r0.xy).xyzw; r0.x = cb1[7].z * r0.x + cb1[7].w; r0.x = 1 / r0.x; r0.x = -cb1[5].y + r0.x; r0.y = -cb1[5].y + r30.z; //v8.z changed to r30.z .. [/code] In this case, I wasn't sure which texcoord would fix the water. So I tried all of them (v1 through v8) until I found the one that worked.
toomyxp said:With the help of DarkStar yesterday, I was able to fix the skyboxes. Now, I would like to fix water reflections as well, and later shadows.
The problem with the water is that it adds stereo separation to the reflections, but those already had separation, so now the reflections are not lined up with their objects on the land. If I remove the separation with the following formula
"o0.x -= separation  * (o0.w - convergence);"

then the reflections are ok, but the water itself is rendered at screendepth.

Is there a way to detect in the water reflection vertex shader if the currently processed input already has separation applied to it so this shader shouldn't add it's own separation? Or in other words, apply the separation only to the water itself and skip in case of reflections?


See if you can find the pixel shader for the water & apply the correction there.

For example:

//water - halo fix
Texture2D<float4> t4 : register(t4);

Texture2D<float4> t3 : register(t3);

Texture2D<float4> t2 : register(t2);

Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s4_s : register(s4);

SamplerState s3_s : register(s3);

SamplerState s2_s : register(s2);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

cbuffer cb2 : register(b2)
{
float4 cb2[2];
}

cbuffer cb1 : register(b1)
{
float4 cb1[8];
}

cbuffer cb0 : register(b0)
{
float4 cb0[27];
}


Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float4 v0 : SV_POSITION0,
float2 v1 : TEXCOORD0,
float w1 : TEXCOORD7,
float4 v2 : TEXCOORD1,
float4 v3 : TEXCOORD2,
float4 v4 : TEXCOORD3,
float4 v5 : TEXCOORD4,
float4 v6 : TEXCOORD5,
float4 v7 : COLOR0,
float4 v8 : TEXCOORD6,
uint v9 : SV_IsFrontFace0,
out float4 o0 : SV_Target0)
{
float4 r0,r1,r2,r3,r4,r5,r6;
uint4 bitmask, uiDest;
float4 fDest;

float4 stereo = StereoParams.Load(0);
float4 r30 = v8;
r30.x += stereo.x*(r30.w - stereo.y) * 0.5; //--Stereoize TEXCOORD6

r0.xy = r30.xy / r30.ww; //---------------v8.xy & v8.ww changed to r30
r0.xyzw = t0.Sample(s1_s, r0.xy).xyzw;
r0.x = cb1[7].z * r0.x + cb1[7].w;
r0.x = 1 / r0.x;
r0.x = -cb1[5].y + r0.x;
r0.y = -cb1[5].y + r30.z; //v8.z changed to r30.z
..


In this case, I wasn't sure which texcoord would fix the water. So I tried all of them (v1 through v8) until I found the one that worked.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

Posted 12/13/2015 02:15 PM   
HAH, I made it. A dynamic specular reflections from the headlights which were non existent before :) Thanks guys once again. Another milestone reached from my list of improvements. Here's a little video for showoff :) https://www.youtube.com/watch?v=YQ-wOJ47HOY
HAH, I made it. A dynamic specular reflections from the headlights which were non existent before :)
Thanks guys once again. Another milestone reached from my list of improvements.

Here's a little video for showoff :)

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 12/13/2015 04:52 PM   
Thank you 4everAwake! I tested your suggestion and there is something happening indeed, though I don't underdstand it yet. The separation appears to be shifting the left and right images diagonally instead of laterally only. So the water separation is not just increasing to the sides but the left and the right images are shifting propotionally up and down too. It is so frustrating as I'm sure your suggestion is the solution but I don't have enough background knowledge to apply it correctly, I'm afraid. [code]//water pixel Texture2D<float4> t8 : register(t8); Texture2D<float4> t7 : register(t7); Texture2D<float4> t6 : register(t6); Texture2D<float4> t5 : register(t5); Texture2D<float4> t4 : register(t4); Texture2D<float4> t1 : register(t1); Texture2D<float4> t0 : register(t0); SamplerState s8_s : register(s8); SamplerState s7_s : register(s7); SamplerState s6_s : register(s6); SamplerState s5_s : register(s5); SamplerState s4_s : register(s4); SamplerState s1_s : register(s1); SamplerState s0_s : register(s0); cbuffer cb0 : register(b0) { float4 cb0[34]; } Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float4 v0 : SV_POSITION0, float4 v1 : TEXCOORD0, float4 v2 : TEXCOORD1, float4 v3 : TEXCOORD2, float2 v4 : TEXCOORD3, float w4 : FOG0, float4 v5 : TEXCOORD4, float4 v6 : TEXCOORD5, float4 v7 : TEXCOORD6, float4 v8 : TEXCOORD7, float3 v9 : COLOR0, out float4 o0 : SV_TARGET0) { float4 r0,r1,r2,r3,r4,r5,r6,r7,r8; uint4 bitmask, uiDest; float4 fDest; float4 st = StereoParams.Load(0); float separation = st.x; float convergence = st.y; float4 r10=v2; float4 r11=v1; float4 r12=v3; float2 r13=v4; float4 r14=v5; float4 r15=v6; float4 r16=v7; float4 r17=v8; float co=1; /* // I've tested each of them one by one, and together as well, as the vertex shader is putting a specific water layer into each textcoord. For example: One is just for sun glare, second is for the ripples, third is for transparency etc. r10.x += separation * (r10.w - convergence)*co; r11.x += separation * (r11.w - convergence)*co; r12.x += separation * (r12.w - convergence)*co; //r13.x += separation * (r13.w - convergence)*co; //variable is float2, it doesn't have w component r14.x += separation * (r14.w - convergence)*co; r15.x += separation * (r15.w - convergence)*co; r16.x += separation * (r16.w - convergence)*co; r17.x += separation * (r17.w - convergence)*co; */ r0.xy = t5.Sample(s5_s, r11.xy).xy; r0.zw = t5.Sample(s5_s, r11.zw).xy; r0.xy = r0.xy + r0.zw; r0.xy = float2(-1,-1) + r0.xy; r0.zw = t5.Sample(s5_s, r10.xy).xy; r1.xy = t5.Sample(s5_s, r10.zw).xy; r0.zw = r1.xy + r0.zw; r0.zw = float2(-1,-1) + r0.zw; r0.zw = float2(1.39999998,1.39999998) * r0.zw; r0.xy = r0.xy * float2(2,2) + -r0.zw; r1.x = dot(r14.xyz, r14.xyz); r1.x = sqrt(r1.x); r1.y = r1.x * 0.00100000005 + 0.200000003; r1.y = min(1, r1.y); r0.xy = r1.yy * r0.xy + r0.zw; r0.xy = cb0[25].ww * r0.xy; r0.z = 1; r0.z = dot(r0.xyz, r0.xyz); r0.z = rsqrt(r0.z); r1.yz = r0.xy * r0.zz; r2.xyzw = r1.yzyz * float4(0.0199999996,0.0199999996,0.0199999996,0.0199999996) + float4(9.99999997e-007,9.99999997e-007,9.99999997e-007,9.99999997e-007); r2.xyzw = r17.xyzw + -r2.xyzw; r3.xw = cb0[32].xy; r3.yz = float2(0,0); r3.xyzw = r3.xyzw + r2.zwzw; r1.yz = t8.Sample(s8_s, r3.xy).xy; r3.xy = t8.Sample(s8_s, r3.zw).xy; r0.w = r1.y + -r1.z; r0.w = cb0[33].y * r0.w + r1.z; r1.yz = t8.Sample(s8_s, r2.zw).xy; r1.y = r1.y + -r1.z; r1.y = cb0[33].y * r1.y + r1.z; r0.w = -r1.y + r0.w; r4.x = cb0[30].w * r0.w; r4.yz = float2(1,1); r0.w = dot(r4.xy, r4.xy); r0.w = rsqrt(r0.w); r1.zw = r4.xy * r0.ww; r0.w = r3.x + -r3.y; r0.w = cb0[33].y * r0.w + r3.y; r0.w = r0.w + -r1.y; r4.w = cb0[30].w * r0.w; r0.w = dot(r4.zw, r4.zw); r0.w = rsqrt(r0.w); r3.xy = r4.zw * r0.ww; r1.yz = r3.xy * r1.zw; r3.xyzw = r2.xyzw * float4(2,2,2,2) + float4(-1,-1,-1,-1); r2.zw = max(abs(r3.xz), abs(r3.yw)); r3.xy = -cb0[32].xy + float2(1,1); r3.xy = r2.ww < r3.xy; r3.xy = r3.xy ? cb0[25].zz : 0; r1.yz = r3.xy * r1.yz; r3.xw = cb0[31].xy; r3.yz = float2(0,0); r3.xyzw = r3.xyzw + r2.xyxy; r2.xy = t4.Sample(s4_s, r2.xy).xy; r3.xy = t4.Sample(s4_s, r3.xy).xy; r3.zw = t4.Sample(s4_s, r3.zw).xy; r0.w = r3.x + -r3.y; r0.w = cb0[33].x * r0.w + r3.y; r1.w = r2.x + -r2.y; r1.w = cb0[33].x * r1.w + r2.y; r0.w = -r1.w + r0.w; r4.x = cb0[30].w * r0.w; r4.yz = float2(1,1); r0.w = dot(r4.xy, r4.xy); r0.w = rsqrt(r0.w); r2.xy = r4.xy * r0.ww; r0.w = r3.z + -r3.w; r0.w = cb0[33].x * r0.w + r3.w; r0.w = r0.w + -r1.w; r4.w = cb0[30].w * r0.w; r0.w = dot(r4.zw, r4.zw); r0.w = rsqrt(r0.w); r3.xy = r4.zw * r0.ww; r2.xy = r3.xy * r2.xy; r3.xy = -cb0[31].xy + float2(1,1); r2.zw = r2.zz < r3.xy; r2.zw = r2.zw ? cb0[25].zz : 0; r1.yz = r2.xy * r2.zw + r1.yz; r0.xy = r0.xy * r0.zz + r1.yz; r2.xy = cb0[25].yy * r0.xy + r15.xy; r0.x = 0.100000001 * r0.y; r0.x = r13.y + abs(r0.x); r2.z = r15.z; r0.y = dot(r2.xyz, r2.xyz); r0.y = rsqrt(r0.y); r1.yzw = r2.xyz * r0.yyy; r0.zw = -r2.xy * r0.yy + r12.xy; r0.y = saturate(r2.z * r0.y + -0.800000012); r2.xyz = t7.Sample(s7_s, r0.zw).xyz; r3.xyz = v5.xyz / r1.xxx; r0.z = 0.00666666683 * r1.x; r0.z = min(1, r0.z); r0.z = 1.10000002 + -r0.z; r0.w = dot(r3.xyz, r1.yzw); r0.w = 1 + r0.w; r0.w = saturate(r0.w * 0.449999988 + 0.100000001); r4.xyz = r1.yzw * float3(-1,-1,0) + -r3.xyz; r4.xyz = r0.www * r4.xyz + r3.xyz; r4.xyz = r4.xyz * float3(20,20,20) + v5.xyz; r5.xyz = cb0[14].xyw * r4.yyy; r4.xyw = r4.xxx * cb0[13].xyw + r5.xyz; r4.xyz = r4.zzz * cb0[15].xyw + r4.xyw; r4.xyz = cb0[16].xyw * float3(2,2,2) + r4.xyz; r4.w = -r4.y; r4.xy = r4.xw / r4.zz; r4.xy = float2(1,1) + r4.xy; r4.xy = float2(0.5,0.5) * r4.xy; r4.xyz = t1.Sample(s1_s, r4.xy).xyz; r5.xyzw = cb0[18].xyzw + -cb0[17].xyzw; r5.xyzw = r0.xxxx * r5.xyzw + cb0[17].xyzw; r0.x = saturate(dot(cb0[1].xyz, r15.xyz)); r6.xyz = cb0[3].xyz * r0.xxx + cb0[2].xyz; r6.xyz = v9.xyz * r6.xyz; r7.xyz = r5.xyz * r6.xyz + -r4.xyz; r4.xyz = r7.xyz * float3(0.600000024,0.600000024,0.600000024) + r4.xyz; r0.xw = float2(0.100000001,0.100000001) * r1.yz; r1.x = saturate(dot(-r3.xyz, r1.yzw)); r1.x = 1 + -r1.x; r2.w = -r1.x * r1.x + 1.20000005; r1.x = r1.x * r1.x; r3.w = cb0[6].z * v5.y; r3.w = v5.x * cb0[5].z + r3.w; r3.w = v5.z * cb0[7].z + r3.w; r3.w = cb0[8].z + r3.w; r7.xy = r16.xy / r16.ww; r7.xy = r7.xy * cb0[28].xy + cb0[28].zw; r4.w = t6.Sample(s6_s, r7.xy).x; r4.w = r4.w + -r3.w; r6.w = r4.w / r3.w; r6.w = 100 * r6.w; r2.w = saturate(r6.w * r2.w); r7.zw = r0.xw * r2.ww + r7.xy; r0.xw = r2.ww * r0.xw; r2.w = t6.Sample(s6_s, r7.zw).x; r2.w = r3.w < r2.w; r2.w = r2.w ? 1.000000 : 0; r0.xw = r2.ww * r0.xw + r7.xy; r7.xyz = t0.Sample(s0_s, r0.xw).xyz; r8.xyz = r5.xyz * r6.xyz + -r7.xyz; r5.xyz = r6.xyz * r5.xyz; r0.x = -r1.x * 0.100000001 + 1; r0.x = r0.x * r5.w; r6.xyz = r0.xxx * r8.xyz + r7.xyz; r4.xyz = -r6.xyz + r4.xyz; r0.xw = r1.xx * float2(0.5,0.5) + float2(0.100000001,0.200000003); r4.xyz = r0.xxx * r4.xyz + r6.xyz; r0.xw = float2(1.20000005,2.5) * r0.ww; r0.xw = float2(1,1) / r0.xw; r6.xy = r1.zy * float2(0.200000003,0.200000003) + r12.zw; r6.xyz = t7.Sample(s7_s, r6.xy).xyz; r2.xyz = r6.xyz + r2.xyz; r2.w = 1 + -r3.z; r3.xyz = cb0[1].xyz + -r3.xyz; r2.w = r4.w * r2.w; r0.x = saturate(r4.w * r0.x); r0.w = saturate(r2.w * r0.w); r2.w = r0.w * -2 + 3; r0.w = r0.w * r0.w; r0.w = -r2.w * r0.w + 1; r0.w = cb0[30].y * r0.w; r0.z = r0.w * r0.z; r0.z = r0.z * r1.w; r2.xyz = r0.zzz * r2.xyz + r4.xyz; r0.z = saturate(dot(cb0[1].xyz, r1.yzw)); r0.z = cb0[29].z * r0.z; r4.xyz = cb0[3].xyz * r0.zzz; r2.xyz = r4.xyz * r5.xyz + r2.xyz; r0.z = dot(r3.xyz, r3.xyz); r0.z = rsqrt(r0.z); r3.xyz = r3.xyz * r0.zzz; r0.z = saturate(dot(r3.xyz, r1.yzw)); r0.z = log2(r0.z); r0.z = cb0[4].w * r0.z; r0.z = exp2(r0.z); r0.y = r0.z + r0.y; r0.yzw = cb0[4].xyz * r0.yyy; r0.yzw = r0.yzw * r1.xxx; r0.yzw = cb0[29].www * r0.yzw + r2.xyz; r0.yzw = -cb0[0].xyz + r0.yzw; o0.xyz = w4.x * r0.yzw + cb0[0].xyz; r0.y = r0.x * -2 + 3; r0.x = r0.x * r0.x; o0.w = r0.y * r0.x; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.11 on Sun Dec 13 15:37:10 2015 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float // TEXCOORD 0 xyzw 1 NONE float xyzw // TEXCOORD 1 xyzw 2 NONE float xyzw // TEXCOORD 2 xyzw 3 NONE float xyzw // TEXCOORD 3 xy 4 NONE float y // FOG 0 z 4 NONE float z // TEXCOORD 4 xyz 5 NONE float xyz // TEXCOORD 5 xyz 6 NONE float xyz // TEXCOORD 6 xyzw 7 NONE float xy w // TEXCOORD 7 xyzw 8 NONE float xyzw // COLOR 0 xyz 9 NONE float xyz // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_TARGET 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[34], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s4, mode_default dcl_sampler s5, mode_default dcl_sampler s6, mode_default dcl_sampler s7, mode_default dcl_sampler s8, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2d (float,float,float,float) t1 dcl_resource_texture2d (float,float,float,float) t4 dcl_resource_texture2d (float,float,float,float) t5 dcl_resource_texture2d (float,float,float,float) t6 dcl_resource_texture2d (float,float,float,float) t7 dcl_resource_texture2d (float,float,float,float) t8 dcl_input_ps linear v1.xyzw dcl_input_ps linear v2.xyzw dcl_input_ps linear v3.xyzw dcl_input_ps linear v4.y dcl_input_ps linear v4.z dcl_input_ps linear v5.xyz dcl_input_ps linear v6.xyz dcl_input_ps linear v7.xyw dcl_input_ps linear v8.xyzw dcl_input_ps linear v9.xyz dcl_output o0.xyzw dcl_temps 9 sample_indexable(texture2d)(float,float,float,float) r0.xy, v1.xyxx, t5.xyzw, s5 sample_indexable(texture2d)(float,float,float,float) r0.zw, v1.zwzz, t5.zwxy, s5 add r0.xy, r0.zwzz, r0.xyxx add r0.xy, r0.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000) sample_indexable(texture2d)(float,float,float,float) r0.zw, v2.xyxx, t5.zwxy, s5 sample_indexable(texture2d)(float,float,float,float) r1.xy, v2.zwzz, t5.xyzw, s5 add r0.zw, r0.zzzw, r1.xxxy add r0.zw, r0.zzzw, l(0.000000, 0.000000, -1.000000, -1.000000) mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 1.400000, 1.400000) mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), -r0.zwzz dp3 r1.x, v5.xyzx, v5.xyzx sqrt r1.x, r1.x mad r1.y, r1.x, l(0.001000), l(0.200000) min r1.y, r1.y, l(1.000000) mad r0.xy, r1.yyyy, r0.xyxx, r0.zwzz mul r0.xy, r0.xyxx, cb0[25].wwww mov r0.z, l(1.000000) dp3 r0.z, r0.xyzx, r0.xyzx rsq r0.z, r0.z mul r1.yz, r0.zzzz, r0.xxyx mad r2.xyzw, r1.yzyz, l(0.020000, 0.020000, 0.020000, 0.020000), l(0.000001, 0.000001, 0.000001, 0.000001) add r2.xyzw, -r2.xyzw, v8.xyzw mov r3.xw, cb0[32].xxxy mov r3.yz, l(0,0,0,0) add r3.xyzw, r2.zwzw, r3.xyzw sample_indexable(texture2d)(float,float,float,float) r1.yz, r3.xyxx, t8.zxyw, s8 sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.zwzz, t8.xyzw, s8 add r0.w, -r1.z, r1.y mad r0.w, cb0[33].y, r0.w, r1.z sample_indexable(texture2d)(float,float,float,float) r1.yz, r2.zwzz, t8.zxyw, s8 add r1.y, -r1.z, r1.y mad r1.y, cb0[33].y, r1.y, r1.z add r0.w, r0.w, -r1.y mul r4.x, r0.w, cb0[30].w mov r4.yz, l(0,1.000000,1.000000,0) dp2 r0.w, r4.xyxx, r4.xyxx rsq r0.w, r0.w mul r1.zw, r0.wwww, r4.xxxy add r0.w, -r3.y, r3.x mad r0.w, cb0[33].y, r0.w, r3.y add r0.w, -r1.y, r0.w mul r4.w, r0.w, cb0[30].w dp2 r0.w, r4.zwzz, r4.zwzz rsq r0.w, r0.w mul r3.xy, r0.wwww, r4.zwzz mul r1.yz, r1.zzwz, r3.xxyx mad r3.xyzw, r2.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000) max r2.zw, |r3.yyyw|, |r3.xxxz| add r3.xy, l(1.000000, 1.000000, 0.000000, 0.000000), -cb0[32].xyxx lt r3.xy, r2.wwww, r3.xyxx and r3.xy, r3.xyxx, cb0[25].zzzz mul r1.yz, r1.yyzy, r3.xxyx mov r3.xw, cb0[31].xxxy mov r3.yz, l(0,0,0,0) add r3.xyzw, r2.xyxy, r3.xyzw sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t4.xyzw, s4 sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t4.xyzw, s4 sample_indexable(texture2d)(float,float,float,float) r3.zw, r3.zwzz, t4.zwxy, s4 add r0.w, -r3.y, r3.x mad r0.w, cb0[33].x, r0.w, r3.y add r1.w, -r2.y, r2.x mad r1.w, cb0[33].x, r1.w, r2.y add r0.w, r0.w, -r1.w mul r4.x, r0.w, cb0[30].w mov r4.yz, l(0,1.000000,1.000000,0) dp2 r0.w, r4.xyxx, r4.xyxx rsq r0.w, r0.w mul r2.xy, r0.wwww, r4.xyxx add r0.w, -r3.w, r3.z mad r0.w, cb0[33].x, r0.w, r3.w add r0.w, -r1.w, r0.w mul r4.w, r0.w, cb0[30].w dp2 r0.w, r4.zwzz, r4.zwzz rsq r0.w, r0.w mul r3.xy, r0.wwww, r4.zwzz mul r2.xy, r2.xyxx, r3.xyxx add r3.xy, l(1.000000, 1.000000, 0.000000, 0.000000), -cb0[31].xyxx lt r2.zw, r2.zzzz, r3.xxxy and r2.zw, r2.zzzw, cb0[25].zzzz mad r1.yz, r2.xxyx, r2.zzwz, r1.yyzy mad r0.xy, r0.xyxx, r0.zzzz, r1.yzyy mad r2.xy, cb0[25].yyyy, r0.xyxx, v6.xyxx mul r0.x, r0.y, l(0.100000) add r0.x, |r0.x|, v4.y mov r2.z, v6.z dp3 r0.y, r2.xyzx, r2.xyzx rsq r0.y, r0.y mul r1.yzw, r0.yyyy, r2.xxyz mad r0.zw, -r2.xxxy, r0.yyyy, v3.xxxy mad_sat r0.y, r2.z, r0.y, l(-0.800000) sample_indexable(texture2d)(float,float,float,float) r2.xyz, r0.zwzz, t7.xyzw, s7 div r3.xyz, v5.xyzx, r1.xxxx mul r0.z, r1.x, l(0.00666666683) min r0.z, r0.z, l(1.000000) add r0.z, -r0.z, l(1.100000) dp3 r0.w, r3.xyzx, r1.yzwy add r0.w, r0.w, l(1.000000) mad_sat r0.w, r0.w, l(0.450000), l(0.100000) mad r4.xyz, r1.yzwy, l(-1.000000, -1.000000, 0.000000, 0.000000), -r3.xyzx mad r4.xyz, r0.wwww, r4.xyzx, r3.xyzx mad r4.xyz, r4.xyzx, l(20.000000, 20.000000, 20.000000, 0.000000), v5.xyzx mul r5.xyz, r4.yyyy, cb0[14].xywx mad r4.xyw, r4.xxxx, cb0[13].xyxw, r5.xyxz mad r4.xyz, r4.zzzz, cb0[15].xywx, r4.xywx mad r4.xyz, cb0[16].xywx, l(2.000000, 2.000000, 2.000000, 0.000000), r4.xyzx mov r4.w, -r4.y div r4.xy, r4.xwxx, r4.zzzz add r4.xy, r4.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000) mul r4.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) sample_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyxx, t1.xyzw, s1 add r5.xyzw, -cb0[17].xyzw, cb0[18].xyzw mad r5.xyzw, r0.xxxx, r5.xyzw, cb0[17].xyzw dp3_sat r0.x, cb0[1].xyzx, v6.xyzx mad r6.xyz, cb0[3].xyzx, r0.xxxx, cb0[2].xyzx mul r6.xyz, r6.xyzx, v9.xyzx mad r7.xyz, r5.xyzx, r6.xyzx, -r4.xyzx mad r4.xyz, r7.xyzx, l(0.600000, 0.600000, 0.600000, 0.000000), r4.xyzx mul r0.xw, r1.yyyz, l(0.100000, 0.000000, 0.000000, 0.100000) dp3_sat r1.x, -r3.xyzx, r1.yzwy add r1.x, -r1.x, l(1.000000) mad r2.w, -r1.x, r1.x, l(1.200000) mul r1.x, r1.x, r1.x mul r3.w, v5.y, cb0[6].z mad r3.w, v5.x, cb0[5].z, r3.w mad r3.w, v5.z, cb0[7].z, r3.w add r3.w, r3.w, cb0[8].z div r7.xy, v7.xyxx, v7.wwww mad r7.xy, r7.xyxx, cb0[28].xyxx, cb0[28].zwzz sample_indexable(texture2d)(float,float,float,float) r4.w, r7.xyxx, t6.yzwx, s6 add r4.w, -r3.w, r4.w div r6.w, r4.w, r3.w mul r6.w, r6.w, l(100.000000) mul_sat r2.w, r2.w, r6.w mad r7.zw, r0.xxxw, r2.wwww, r7.xxxy mul r0.xw, r0.xxxw, r2.wwww sample_indexable(texture2d)(float,float,float,float) r2.w, r7.zwzz, t6.yzwx, s6 lt r2.w, r3.w, r2.w and r2.w, r2.w, l(0x3f800000) mad r0.xw, r2.wwww, r0.xxxw, r7.xxxy sample_indexable(texture2d)(float,float,float,float) r7.xyz, r0.xwxx, t0.xyzw, s0 mad r8.xyz, r5.xyzx, r6.xyzx, -r7.xyzx mul r5.xyz, r5.xyzx, r6.xyzx mad r0.x, -r1.x, l(0.100000), l(1.000000) mul r0.x, r5.w, r0.x mad r6.xyz, r0.xxxx, r8.xyzx, r7.xyzx add r4.xyz, r4.xyzx, -r6.xyzx mad r0.xw, r1.xxxx, l(0.500000, 0.000000, 0.000000, 0.500000), l(0.100000, 0.000000, 0.000000, 0.200000) mad r4.xyz, r0.xxxx, r4.xyzx, r6.xyzx mul r0.xw, r0.wwww, l(1.200000, 0.000000, 0.000000, 2.500000) div r0.xw, l(1.000000, 1.000000, 1.000000, 1.000000), r0.xxxw mad r6.xy, r1.zyzz, l(0.200000, 0.200000, 0.000000, 0.000000), v3.zwzz sample_indexable(texture2d)(float,float,float,float) r6.xyz, r6.xyxx, t7.xyzw, s7 add r2.xyz, r2.xyzx, r6.xyzx add r2.w, -r3.z, l(1.000000) add r3.xyz, -r3.xyzx, cb0[1].xyzx mul r2.w, r2.w, r4.w mul_sat r0.x, r0.x, r4.w mul_sat r0.w, r0.w, r2.w mad r2.w, r0.w, l(-2.000000), l(3.000000) mul r0.w, r0.w, r0.w mad r0.w, -r2.w, r0.w, l(1.000000) mul r0.w, r0.w, cb0[30].y mul r0.z, r0.z, r0.w mul r0.z, r1.w, r0.z mad r2.xyz, r0.zzzz, r2.xyzx, r4.xyzx dp3_sat r0.z, cb0[1].xyzx, r1.yzwy mul r0.z, r0.z, cb0[29].z mul r4.xyz, r0.zzzz, cb0[3].xyzx mad r2.xyz, r4.xyzx, r5.xyzx, r2.xyzx dp3 r0.z, r3.xyzx, r3.xyzx rsq r0.z, r0.z mul r3.xyz, r0.zzzz, r3.xyzx dp3_sat r0.z, r3.xyzx, r1.yzwy log r0.z, r0.z mul r0.z, r0.z, cb0[4].w exp r0.z, r0.z add r0.y, r0.y, r0.z mul r0.yzw, r0.yyyy, cb0[4].xxyz mul r0.yzw, r1.xxxx, r0.yyzw mad r0.yzw, cb0[29].wwww, r0.yyzw, r2.xxyz add r0.yzw, r0.yyzw, -cb0[0].xxyz mad o0.xyz, v4.zzzz, r0.yzwy, cb0[0].xyzx mad r0.y, r0.x, l(-2.000000), l(3.000000) mul r0.x, r0.x, r0.x mul o0.w, r0.x, r0.y ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
Thank you 4everAwake! I tested your suggestion and there is something happening indeed, though I don't underdstand it yet. The separation appears to be shifting the left and right images diagonally instead of laterally only. So the water separation is not just increasing to the sides but the left and the right images are shifting propotionally up and down too.
It is so frustrating as I'm sure your suggestion is the solution but I don't have enough background knowledge to apply it correctly, I'm afraid.

//water pixel

Texture2D<float4> t8 : register(t8);

Texture2D<float4> t7 : register(t7);

Texture2D<float4> t6 : register(t6);

Texture2D<float4> t5 : register(t5);

Texture2D<float4> t4 : register(t4);

Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s8_s : register(s8);

SamplerState s7_s : register(s7);

SamplerState s6_s : register(s6);

SamplerState s5_s : register(s5);

SamplerState s4_s : register(s4);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

cbuffer cb0 : register(b0)
{
float4 cb0[34];
}


Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float4 v0 : SV_POSITION0,
float4 v1 : TEXCOORD0,
float4 v2 : TEXCOORD1,
float4 v3 : TEXCOORD2,
float2 v4 : TEXCOORD3,
float w4 : FOG0,
float4 v5 : TEXCOORD4,
float4 v6 : TEXCOORD5,
float4 v7 : TEXCOORD6,
float4 v8 : TEXCOORD7,
float3 v9 : COLOR0,
out float4 o0 : SV_TARGET0)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8;
uint4 bitmask, uiDest;
float4 fDest;

float4 st = StereoParams.Load(0);
float separation = st.x; float convergence = st.y;
float4 r10=v2;
float4 r11=v1;
float4 r12=v3;
float2 r13=v4;
float4 r14=v5;
float4 r15=v6;
float4 r16=v7;
float4 r17=v8;

float co=1;

/* // I've tested each of them one by one, and together as well, as the vertex shader is putting a specific water layer into each textcoord. For example: One is just for sun glare, second is for the ripples, third is for transparency etc.
r10.x += separation * (r10.w - convergence)*co;
r11.x += separation * (r11.w - convergence)*co;
r12.x += separation * (r12.w - convergence)*co;
//r13.x += separation * (r13.w - convergence)*co; //variable is float2, it doesn't have w component
r14.x += separation * (r14.w - convergence)*co;
r15.x += separation * (r15.w - convergence)*co;
r16.x += separation * (r16.w - convergence)*co;
r17.x += separation * (r17.w - convergence)*co;
*/

r0.xy = t5.Sample(s5_s, r11.xy).xy;
r0.zw = t5.Sample(s5_s, r11.zw).xy;
r0.xy = r0.xy + r0.zw;
r0.xy = float2(-1,-1) + r0.xy;
r0.zw = t5.Sample(s5_s, r10.xy).xy;
r1.xy = t5.Sample(s5_s, r10.zw).xy;
r0.zw = r1.xy + r0.zw;
r0.zw = float2(-1,-1) + r0.zw;
r0.zw = float2(1.39999998,1.39999998) * r0.zw;
r0.xy = r0.xy * float2(2,2) + -r0.zw;
r1.x = dot(r14.xyz, r14.xyz);
r1.x = sqrt(r1.x);
r1.y = r1.x * 0.00100000005 + 0.200000003;
r1.y = min(1, r1.y);
r0.xy = r1.yy * r0.xy + r0.zw;
r0.xy = cb0[25].ww * r0.xy;
r0.z = 1;
r0.z = dot(r0.xyz, r0.xyz);
r0.z = rsqrt(r0.z);
r1.yz = r0.xy * r0.zz;
r2.xyzw = r1.yzyz * float4(0.0199999996,0.0199999996,0.0199999996,0.0199999996) + float4(9.99999997e-007,9.99999997e-007,9.99999997e-007,9.99999997e-007);
r2.xyzw = r17.xyzw + -r2.xyzw;
r3.xw = cb0[32].xy;
r3.yz = float2(0,0);
r3.xyzw = r3.xyzw + r2.zwzw;
r1.yz = t8.Sample(s8_s, r3.xy).xy;
r3.xy = t8.Sample(s8_s, r3.zw).xy;
r0.w = r1.y + -r1.z;
r0.w = cb0[33].y * r0.w + r1.z;
r1.yz = t8.Sample(s8_s, r2.zw).xy;
r1.y = r1.y + -r1.z;
r1.y = cb0[33].y * r1.y + r1.z;
r0.w = -r1.y + r0.w;
r4.x = cb0[30].w * r0.w;
r4.yz = float2(1,1);
r0.w = dot(r4.xy, r4.xy);
r0.w = rsqrt(r0.w);
r1.zw = r4.xy * r0.ww;
r0.w = r3.x + -r3.y;
r0.w = cb0[33].y * r0.w + r3.y;
r0.w = r0.w + -r1.y;
r4.w = cb0[30].w * r0.w;
r0.w = dot(r4.zw, r4.zw);
r0.w = rsqrt(r0.w);
r3.xy = r4.zw * r0.ww;
r1.yz = r3.xy * r1.zw;
r3.xyzw = r2.xyzw * float4(2,2,2,2) + float4(-1,-1,-1,-1);
r2.zw = max(abs(r3.xz), abs(r3.yw));
r3.xy = -cb0[32].xy + float2(1,1);
r3.xy = r2.ww < r3.xy;
r3.xy = r3.xy ? cb0[25].zz : 0;
r1.yz = r3.xy * r1.yz;
r3.xw = cb0[31].xy;
r3.yz = float2(0,0);
r3.xyzw = r3.xyzw + r2.xyxy;
r2.xy = t4.Sample(s4_s, r2.xy).xy;
r3.xy = t4.Sample(s4_s, r3.xy).xy;
r3.zw = t4.Sample(s4_s, r3.zw).xy;
r0.w = r3.x + -r3.y;
r0.w = cb0[33].x * r0.w + r3.y;
r1.w = r2.x + -r2.y;
r1.w = cb0[33].x * r1.w + r2.y;
r0.w = -r1.w + r0.w;
r4.x = cb0[30].w * r0.w;
r4.yz = float2(1,1);
r0.w = dot(r4.xy, r4.xy);
r0.w = rsqrt(r0.w);
r2.xy = r4.xy * r0.ww;
r0.w = r3.z + -r3.w;
r0.w = cb0[33].x * r0.w + r3.w;
r0.w = r0.w + -r1.w;
r4.w = cb0[30].w * r0.w;
r0.w = dot(r4.zw, r4.zw);
r0.w = rsqrt(r0.w);
r3.xy = r4.zw * r0.ww;
r2.xy = r3.xy * r2.xy;
r3.xy = -cb0[31].xy + float2(1,1);
r2.zw = r2.zz < r3.xy;
r2.zw = r2.zw ? cb0[25].zz : 0;
r1.yz = r2.xy * r2.zw + r1.yz;
r0.xy = r0.xy * r0.zz + r1.yz;
r2.xy = cb0[25].yy * r0.xy + r15.xy;
r0.x = 0.100000001 * r0.y;
r0.x = r13.y + abs(r0.x);
r2.z = r15.z;
r0.y = dot(r2.xyz, r2.xyz);
r0.y = rsqrt(r0.y);
r1.yzw = r2.xyz * r0.yyy;
r0.zw = -r2.xy * r0.yy + r12.xy;
r0.y = saturate(r2.z * r0.y + -0.800000012);
r2.xyz = t7.Sample(s7_s, r0.zw).xyz;
r3.xyz = v5.xyz / r1.xxx;
r0.z = 0.00666666683 * r1.x;
r0.z = min(1, r0.z);
r0.z = 1.10000002 + -r0.z;
r0.w = dot(r3.xyz, r1.yzw);
r0.w = 1 + r0.w;
r0.w = saturate(r0.w * 0.449999988 + 0.100000001);
r4.xyz = r1.yzw * float3(-1,-1,0) + -r3.xyz;
r4.xyz = r0.www * r4.xyz + r3.xyz;
r4.xyz = r4.xyz * float3(20,20,20) + v5.xyz;
r5.xyz = cb0[14].xyw * r4.yyy;
r4.xyw = r4.xxx * cb0[13].xyw + r5.xyz;
r4.xyz = r4.zzz * cb0[15].xyw + r4.xyw;
r4.xyz = cb0[16].xyw * float3(2,2,2) + r4.xyz;
r4.w = -r4.y;
r4.xy = r4.xw / r4.zz;
r4.xy = float2(1,1) + r4.xy;
r4.xy = float2(0.5,0.5) * r4.xy;
r4.xyz = t1.Sample(s1_s, r4.xy).xyz;
r5.xyzw = cb0[18].xyzw + -cb0[17].xyzw;
r5.xyzw = r0.xxxx * r5.xyzw + cb0[17].xyzw;
r0.x = saturate(dot(cb0[1].xyz, r15.xyz));
r6.xyz = cb0[3].xyz * r0.xxx + cb0[2].xyz;
r6.xyz = v9.xyz * r6.xyz;
r7.xyz = r5.xyz * r6.xyz + -r4.xyz;
r4.xyz = r7.xyz * float3(0.600000024,0.600000024,0.600000024) + r4.xyz;
r0.xw = float2(0.100000001,0.100000001) * r1.yz;
r1.x = saturate(dot(-r3.xyz, r1.yzw));
r1.x = 1 + -r1.x;
r2.w = -r1.x * r1.x + 1.20000005;
r1.x = r1.x * r1.x;
r3.w = cb0[6].z * v5.y;
r3.w = v5.x * cb0[5].z + r3.w;
r3.w = v5.z * cb0[7].z + r3.w;
r3.w = cb0[8].z + r3.w;
r7.xy = r16.xy / r16.ww;
r7.xy = r7.xy * cb0[28].xy + cb0[28].zw;
r4.w = t6.Sample(s6_s, r7.xy).x;
r4.w = r4.w + -r3.w;
r6.w = r4.w / r3.w;
r6.w = 100 * r6.w;
r2.w = saturate(r6.w * r2.w);
r7.zw = r0.xw * r2.ww + r7.xy;
r0.xw = r2.ww * r0.xw;
r2.w = t6.Sample(s6_s, r7.zw).x;
r2.w = r3.w < r2.w;
r2.w = r2.w ? 1.000000 : 0;
r0.xw = r2.ww * r0.xw + r7.xy;
r7.xyz = t0.Sample(s0_s, r0.xw).xyz;
r8.xyz = r5.xyz * r6.xyz + -r7.xyz;
r5.xyz = r6.xyz * r5.xyz;
r0.x = -r1.x * 0.100000001 + 1;
r0.x = r0.x * r5.w;
r6.xyz = r0.xxx * r8.xyz + r7.xyz;
r4.xyz = -r6.xyz + r4.xyz;
r0.xw = r1.xx * float2(0.5,0.5) + float2(0.100000001,0.200000003);
r4.xyz = r0.xxx * r4.xyz + r6.xyz;
r0.xw = float2(1.20000005,2.5) * r0.ww;
r0.xw = float2(1,1) / r0.xw;
r6.xy = r1.zy * float2(0.200000003,0.200000003) + r12.zw;
r6.xyz = t7.Sample(s7_s, r6.xy).xyz;
r2.xyz = r6.xyz + r2.xyz;
r2.w = 1 + -r3.z;
r3.xyz = cb0[1].xyz + -r3.xyz;
r2.w = r4.w * r2.w;
r0.x = saturate(r4.w * r0.x);
r0.w = saturate(r2.w * r0.w);
r2.w = r0.w * -2 + 3;
r0.w = r0.w * r0.w;
r0.w = -r2.w * r0.w + 1;
r0.w = cb0[30].y * r0.w;
r0.z = r0.w * r0.z;
r0.z = r0.z * r1.w;
r2.xyz = r0.zzz * r2.xyz + r4.xyz;
r0.z = saturate(dot(cb0[1].xyz, r1.yzw));
r0.z = cb0[29].z * r0.z;
r4.xyz = cb0[3].xyz * r0.zzz;
r2.xyz = r4.xyz * r5.xyz + r2.xyz;
r0.z = dot(r3.xyz, r3.xyz);
r0.z = rsqrt(r0.z);
r3.xyz = r3.xyz * r0.zzz;
r0.z = saturate(dot(r3.xyz, r1.yzw));
r0.z = log2(r0.z);
r0.z = cb0[4].w * r0.z;
r0.z = exp2(r0.z);
r0.y = r0.z + r0.y;
r0.yzw = cb0[4].xyz * r0.yyy;
r0.yzw = r0.yzw * r1.xxx;
r0.yzw = cb0[29].www * r0.yzw + r2.xyz;
r0.yzw = -cb0[0].xyz + r0.yzw;
o0.xyz = w4.x * r0.yzw + cb0[0].xyz;
r0.y = r0.x * -2 + 3;
r0.x = r0.x * r0.x;
o0.w = r0.y * r0.x;

return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.11 on Sun Dec 13 15:37:10 2015
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 1 xyzw 2 NONE float xyzw
// TEXCOORD 2 xyzw 3 NONE float xyzw
// TEXCOORD 3 xy 4 NONE float y
// FOG 0 z 4 NONE float z
// TEXCOORD 4 xyz 5 NONE float xyz
// TEXCOORD 5 xyz 6 NONE float xyz
// TEXCOORD 6 xyzw 7 NONE float xy w
// TEXCOORD 7 xyzw 8 NONE float xyzw
// COLOR 0 xyz 9 NONE float xyz
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[34], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s7, mode_default
dcl_sampler s8, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t8
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xyzw
dcl_input_ps linear v4.y
dcl_input_ps linear v4.z
dcl_input_ps linear v5.xyz
dcl_input_ps linear v6.xyz
dcl_input_ps linear v7.xyw
dcl_input_ps linear v8.xyzw
dcl_input_ps linear v9.xyz
dcl_output o0.xyzw
dcl_temps 9
sample_indexable(texture2d)(float,float,float,float) r0.xy, v1.xyxx, t5.xyzw, s5
sample_indexable(texture2d)(float,float,float,float) r0.zw, v1.zwzz, t5.zwxy, s5
add r0.xy, r0.zwzz, r0.xyxx
add r0.xy, r0.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r0.zw, v2.xyxx, t5.zwxy, s5
sample_indexable(texture2d)(float,float,float,float) r1.xy, v2.zwzz, t5.xyzw, s5
add r0.zw, r0.zzzw, r1.xxxy
add r0.zw, r0.zzzw, l(0.000000, 0.000000, -1.000000, -1.000000)
mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 1.400000, 1.400000)
mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), -r0.zwzz
dp3 r1.x, v5.xyzx, v5.xyzx
sqrt r1.x, r1.x
mad r1.y, r1.x, l(0.001000), l(0.200000)
min r1.y, r1.y, l(1.000000)
mad r0.xy, r1.yyyy, r0.xyxx, r0.zwzz
mul r0.xy, r0.xyxx, cb0[25].wwww
mov r0.z, l(1.000000)
dp3 r0.z, r0.xyzx, r0.xyzx
rsq r0.z, r0.z
mul r1.yz, r0.zzzz, r0.xxyx
mad r2.xyzw, r1.yzyz, l(0.020000, 0.020000, 0.020000, 0.020000), l(0.000001, 0.000001, 0.000001, 0.000001)
add r2.xyzw, -r2.xyzw, v8.xyzw
mov r3.xw, cb0[32].xxxy
mov r3.yz, l(0,0,0,0)
add r3.xyzw, r2.zwzw, r3.xyzw
sample_indexable(texture2d)(float,float,float,float) r1.yz, r3.xyxx, t8.zxyw, s8
sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.zwzz, t8.xyzw, s8
add r0.w, -r1.z, r1.y
mad r0.w, cb0[33].y, r0.w, r1.z
sample_indexable(texture2d)(float,float,float,float) r1.yz, r2.zwzz, t8.zxyw, s8
add r1.y, -r1.z, r1.y
mad r1.y, cb0[33].y, r1.y, r1.z
add r0.w, r0.w, -r1.y
mul r4.x, r0.w, cb0[30].w
mov r4.yz, l(0,1.000000,1.000000,0)
dp2 r0.w, r4.xyxx, r4.xyxx
rsq r0.w, r0.w
mul r1.zw, r0.wwww, r4.xxxy
add r0.w, -r3.y, r3.x
mad r0.w, cb0[33].y, r0.w, r3.y
add r0.w, -r1.y, r0.w
mul r4.w, r0.w, cb0[30].w
dp2 r0.w, r4.zwzz, r4.zwzz
rsq r0.w, r0.w
mul r3.xy, r0.wwww, r4.zwzz
mul r1.yz, r1.zzwz, r3.xxyx
mad r3.xyzw, r2.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
max r2.zw, |r3.yyyw|, |r3.xxxz|
add r3.xy, l(1.000000, 1.000000, 0.000000, 0.000000), -cb0[32].xyxx
lt r3.xy, r2.wwww, r3.xyxx
and r3.xy, r3.xyxx, cb0[25].zzzz
mul r1.yz, r1.yyzy, r3.xxyx
mov r3.xw, cb0[31].xxxy
mov r3.yz, l(0,0,0,0)
add r3.xyzw, r2.xyxy, r3.xyzw
sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t4.xyzw, s4
sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t4.xyzw, s4
sample_indexable(texture2d)(float,float,float,float) r3.zw, r3.zwzz, t4.zwxy, s4
add r0.w, -r3.y, r3.x
mad r0.w, cb0[33].x, r0.w, r3.y
add r1.w, -r2.y, r2.x
mad r1.w, cb0[33].x, r1.w, r2.y
add r0.w, r0.w, -r1.w
mul r4.x, r0.w, cb0[30].w
mov r4.yz, l(0,1.000000,1.000000,0)
dp2 r0.w, r4.xyxx, r4.xyxx
rsq r0.w, r0.w
mul r2.xy, r0.wwww, r4.xyxx
add r0.w, -r3.w, r3.z
mad r0.w, cb0[33].x, r0.w, r3.w
add r0.w, -r1.w, r0.w
mul r4.w, r0.w, cb0[30].w
dp2 r0.w, r4.zwzz, r4.zwzz
rsq r0.w, r0.w
mul r3.xy, r0.wwww, r4.zwzz
mul r2.xy, r2.xyxx, r3.xyxx
add r3.xy, l(1.000000, 1.000000, 0.000000, 0.000000), -cb0[31].xyxx
lt r2.zw, r2.zzzz, r3.xxxy
and r2.zw, r2.zzzw, cb0[25].zzzz
mad r1.yz, r2.xxyx, r2.zzwz, r1.yyzy
mad r0.xy, r0.xyxx, r0.zzzz, r1.yzyy
mad r2.xy, cb0[25].yyyy, r0.xyxx, v6.xyxx
mul r0.x, r0.y, l(0.100000)
add r0.x, |r0.x|, v4.y
mov r2.z, v6.z
dp3 r0.y, r2.xyzx, r2.xyzx
rsq r0.y, r0.y
mul r1.yzw, r0.yyyy, r2.xxyz
mad r0.zw, -r2.xxxy, r0.yyyy, v3.xxxy
mad_sat r0.y, r2.z, r0.y, l(-0.800000)
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r0.zwzz, t7.xyzw, s7
div r3.xyz, v5.xyzx, r1.xxxx
mul r0.z, r1.x, l(0.00666666683)
min r0.z, r0.z, l(1.000000)
add r0.z, -r0.z, l(1.100000)
dp3 r0.w, r3.xyzx, r1.yzwy
add r0.w, r0.w, l(1.000000)
mad_sat r0.w, r0.w, l(0.450000), l(0.100000)
mad r4.xyz, r1.yzwy, l(-1.000000, -1.000000, 0.000000, 0.000000), -r3.xyzx
mad r4.xyz, r0.wwww, r4.xyzx, r3.xyzx
mad r4.xyz, r4.xyzx, l(20.000000, 20.000000, 20.000000, 0.000000), v5.xyzx
mul r5.xyz, r4.yyyy, cb0[14].xywx
mad r4.xyw, r4.xxxx, cb0[13].xyxw, r5.xyxz
mad r4.xyz, r4.zzzz, cb0[15].xywx, r4.xywx
mad r4.xyz, cb0[16].xywx, l(2.000000, 2.000000, 2.000000, 0.000000), r4.xyzx
mov r4.w, -r4.y
div r4.xy, r4.xwxx, r4.zzzz
add r4.xy, r4.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
mul r4.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyxx, t1.xyzw, s1
add r5.xyzw, -cb0[17].xyzw, cb0[18].xyzw
mad r5.xyzw, r0.xxxx, r5.xyzw, cb0[17].xyzw
dp3_sat r0.x, cb0[1].xyzx, v6.xyzx
mad r6.xyz, cb0[3].xyzx, r0.xxxx, cb0[2].xyzx
mul r6.xyz, r6.xyzx, v9.xyzx
mad r7.xyz, r5.xyzx, r6.xyzx, -r4.xyzx
mad r4.xyz, r7.xyzx, l(0.600000, 0.600000, 0.600000, 0.000000), r4.xyzx
mul r0.xw, r1.yyyz, l(0.100000, 0.000000, 0.000000, 0.100000)
dp3_sat r1.x, -r3.xyzx, r1.yzwy
add r1.x, -r1.x, l(1.000000)
mad r2.w, -r1.x, r1.x, l(1.200000)
mul r1.x, r1.x, r1.x
mul r3.w, v5.y, cb0[6].z
mad r3.w, v5.x, cb0[5].z, r3.w
mad r3.w, v5.z, cb0[7].z, r3.w
add r3.w, r3.w, cb0[8].z
div r7.xy, v7.xyxx, v7.wwww
mad r7.xy, r7.xyxx, cb0[28].xyxx, cb0[28].zwzz
sample_indexable(texture2d)(float,float,float,float) r4.w, r7.xyxx, t6.yzwx, s6
add r4.w, -r3.w, r4.w
div r6.w, r4.w, r3.w
mul r6.w, r6.w, l(100.000000)
mul_sat r2.w, r2.w, r6.w
mad r7.zw, r0.xxxw, r2.wwww, r7.xxxy
mul r0.xw, r0.xxxw, r2.wwww
sample_indexable(texture2d)(float,float,float,float) r2.w, r7.zwzz, t6.yzwx, s6
lt r2.w, r3.w, r2.w
and r2.w, r2.w, l(0x3f800000)
mad r0.xw, r2.wwww, r0.xxxw, r7.xxxy
sample_indexable(texture2d)(float,float,float,float) r7.xyz, r0.xwxx, t0.xyzw, s0
mad r8.xyz, r5.xyzx, r6.xyzx, -r7.xyzx
mul r5.xyz, r5.xyzx, r6.xyzx
mad r0.x, -r1.x, l(0.100000), l(1.000000)
mul r0.x, r5.w, r0.x
mad r6.xyz, r0.xxxx, r8.xyzx, r7.xyzx
add r4.xyz, r4.xyzx, -r6.xyzx
mad r0.xw, r1.xxxx, l(0.500000, 0.000000, 0.000000, 0.500000), l(0.100000, 0.000000, 0.000000, 0.200000)
mad r4.xyz, r0.xxxx, r4.xyzx, r6.xyzx
mul r0.xw, r0.wwww, l(1.200000, 0.000000, 0.000000, 2.500000)
div r0.xw, l(1.000000, 1.000000, 1.000000, 1.000000), r0.xxxw
mad r6.xy, r1.zyzz, l(0.200000, 0.200000, 0.000000, 0.000000), v3.zwzz
sample_indexable(texture2d)(float,float,float,float) r6.xyz, r6.xyxx, t7.xyzw, s7
add r2.xyz, r2.xyzx, r6.xyzx
add r2.w, -r3.z, l(1.000000)
add r3.xyz, -r3.xyzx, cb0[1].xyzx
mul r2.w, r2.w, r4.w
mul_sat r0.x, r0.x, r4.w
mul_sat r0.w, r0.w, r2.w
mad r2.w, r0.w, l(-2.000000), l(3.000000)
mul r0.w, r0.w, r0.w
mad r0.w, -r2.w, r0.w, l(1.000000)
mul r0.w, r0.w, cb0[30].y
mul r0.z, r0.z, r0.w
mul r0.z, r1.w, r0.z
mad r2.xyz, r0.zzzz, r2.xyzx, r4.xyzx
dp3_sat r0.z, cb0[1].xyzx, r1.yzwy
mul r0.z, r0.z, cb0[29].z
mul r4.xyz, r0.zzzz, cb0[3].xyzx
mad r2.xyz, r4.xyzx, r5.xyzx, r2.xyzx
dp3 r0.z, r3.xyzx, r3.xyzx
rsq r0.z, r0.z
mul r3.xyz, r0.zzzz, r3.xyzx
dp3_sat r0.z, r3.xyzx, r1.yzwy
log r0.z, r0.z
mul r0.z, r0.z, cb0[4].w
exp r0.z, r0.z
add r0.y, r0.y, r0.z
mul r0.yzw, r0.yyyy, cb0[4].xxyz
mul r0.yzw, r1.xxxx, r0.yyzw
mad r0.yzw, cb0[29].wwww, r0.yyzw, r2.xxyz
add r0.yzw, r0.yyzw, -cb0[0].xxyz
mad o0.xyz, v4.zzzz, r0.yzwy, cb0[0].xyzx
mad r0.y, r0.x, l(-2.000000), l(3.000000)
mul r0.x, r0.x, r0.x
mul o0.w, r0.x, r0.y
ret
// Approximately 0 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

Posted 12/13/2015 05:09 PM   
When I use the add render target method and press F10 the game crashes Here are my d3dx.ini entries [code] [ResourceHeadlights] [ShaderOverride-c0677e8702c32f18] Hash = c0677e8702c32f18 ps-t111 = copy ResourceHeadlights post ps-t111 = null [ShaderOverride-4977ae594eb27c06] Hash = 4977ae594eb27c06 ResourceHeadlights = copy o0 o1 = reference ResourceHeadlights post o1 = null [/code] edit1: I don't see any errors in the log file either. edit2: Even resizing the window or going in and from fullscreen crashes the game. I know it's experimental as you mentioned it many times, but I desperately need it working.
When I use the add render target method and press F10 the game crashes

Here are my d3dx.ini entries

[ResourceHeadlights]
[ShaderOverride-c0677e8702c32f18]
Hash = c0677e8702c32f18
ps-t111 = copy ResourceHeadlights
post ps-t111 = null

[ShaderOverride-4977ae594eb27c06]
Hash = 4977ae594eb27c06
ResourceHeadlights = copy o0
o1 = reference ResourceHeadlights
post o1 = null


edit1: I don't see any errors in the log file either.
edit2: Even resizing the window or going in and from fullscreen crashes the game. I know it's experimental as you mentioned it many times, but I desperately need it working.

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 12/13/2015 07:11 PM   
[quote="Oomek"]When I use the add render target method and press F10 the game crashes[/quote]Oh well, untested code is usually buggy code and I guess I'm not infallible - the crashes should be fixed in [s]1.2.24[/s]1.2.14 [quote="masterotaku"]Sorry for the late response. I have been busy these days. But this would be me trying something like that: [img]http://i.kinja-img.com/gawker-media/image/upload/japbcvpavbzau9dbuaxf.jpg[/img] [quote="DarkStarSword"]On the other hand, if you've seen through my attempt to recruit a new coder and have no interest in doing this, let me know and I'll do it ;-) [/quote] Hahaha :p. I am a web developer (html, css, javascript, php, java, etc), and it's totally different from these other things. I want to learn, but I'm not prepared to be in the team yet. I wish I had more free time. And yes, you're free to do that yourself :p. You'll do it faster and better than me, even in the case I could manage to make it work.[/quote]I've added this to 3DMigoto [s]1.2.4[/s]1.2.14, but don't get your hopes up - I gave it a try on a few things in Far Cry 4 and only suceeded in breaking everything. I still think it could work, but perhaps only in some games or maybe there's still some missing pieces of the puzzle. If you want to try it, identify the texture hash, create a [TextureOverride] section for it and add width=blah and height=blah to it - it's likley that "blah" should be some power of 2. You will need to restart the game for the changes to take effect.
Oomek said:When I use the add render target method and press F10 the game crashes
Oh well, untested code is usually buggy code and I guess I'm not infallible - the crashes should be fixed in 1.2.241.2.14

masterotaku said:Sorry for the late response. I have been busy these days. But this would be me trying something like that:

Image


DarkStarSword said:On the other hand, if you've seen through my attempt to recruit a new coder and have no interest in doing this, let me know and I'll do it ;-)


Hahaha :p. I am a web developer (html, css, javascript, php, java, etc), and it's totally different from these other things. I want to learn, but I'm not prepared to be in the team yet. I wish I had more free time. And yes, you're free to do that yourself :p. You'll do it faster and better than me, even in the case I could manage to make it work.
I've added this to 3DMigoto 1.2.41.2.14, but don't get your hopes up - I gave it a try on a few things in Far Cry 4 and only suceeded in breaking everything. I still think it could work, but perhaps only in some games or maybe there's still some missing pieces of the puzzle. If you want to try it, identify the texture hash, create a [TextureOverride] section for it and add width=blah and height=blah to it - it's likley that "blah" should be some power of 2. You will need to restart the game for the changes to take effect.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 12/14/2015 03:36 AM   
Not quite done, but getting pretty close :-> [img]http://sg.bo3b.net/fc4/FarCry408_85.jps[/img]
Not quite done, but getting pretty close :->

Image

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 12/14/2015 10:16 AM   
I've seen in the history on GitHub some changes in the assigning render targets. I just need to ask. Is there any chance to see the new release this week with fix for the crashes? If not don't worry, I still have a backup plan of how to deal with my problem without creating extra render targets, a bit time consuming though. I can reference all the resources from one shader to another and copy entire code and make my changes. I just need to know if I should carry on with my plan or wait for a new release.
I've seen in the history on GitHub some changes in the assigning render targets. I just need to ask. Is there any chance to see the new release this week with fix for the crashes? If not don't worry, I still have a backup plan of how to deal with my problem without creating extra render targets, a bit time consuming though. I can reference all the resources from one shader to another and copy entire code and make my changes. I just need to know if I should carry on with my plan or wait for a new release.

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 12/14/2015 08:49 PM   
[quote="Oomek"]I've seen in the history on GitHub some changes in the assigning render targets. I just need to ask. Is there any chance to see the new release this week with fix for the crashes?[/quote]It's already released: [quote="DarkStarSword"]the crashes should be fixed in 1.2.24[/quote]
Oomek said:I've seen in the history on GitHub some changes in the assigning render targets. I just need to ask. Is there any chance to see the new release this week with fix for the crashes?
It's already released:

DarkStarSword said:the crashes should be fixed in 1.2.24

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 12/14/2015 11:32 PM   
Where? When? How? the latest version I see is 1.2.14 on the releases page. edit: stop making tricks on me :) it is 1.2.14 and it doesn't crash anymore!!! I followed you suggestion and I believed I've got the latest one and was waiting for 1.2.24 :) BIG Thanks!!!
Where? When? How? the latest version I see is 1.2.14 on the releases page.

edit:
stop making tricks on me :) it is 1.2.14 and it doesn't crash anymore!!! I followed you suggestion and I believed I've got the latest one and was waiting for 1.2.24 :)

BIG Thanks!!!

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 12/14/2015 11:51 PM   
Oh, sorry - my bad >_<
Oh, sorry - my bad >_<

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 12/15/2015 03:00 AM   
I've just added a new feature to 3DMigoto to make it easier to work with Unity games when you have to force full screen mode to get 3D to engage. To alt+tab out of these games without them locking up you will be able to uncomment the toggle_full_screen option, then: F7, Alt+Enter, Alt+Tab To force full screen to get 3D to engage again, do: F7, Alt+Enter Sometimes you might need to Ctrl+T after that it seems. This will be in 1.2.15, which hasn't been released yet - if anyone urgently wants this feature let me know.
I've just added a new feature to 3DMigoto to make it easier to work with Unity games when you have to force full screen mode to get 3D to engage. To alt+tab out of these games without them locking up you will be able to uncomment the toggle_full_screen option, then:

F7, Alt+Enter, Alt+Tab

To force full screen to get 3D to engage again, do:

F7, Alt+Enter

Sometimes you might need to Ctrl+T after that it seems. This will be in 1.2.15, which hasn't been released yet - if anyone urgently wants this feature let me know.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 12/15/2015 04:48 AM   
Feature complete: Showing the first line of text of a shader file in the Overlay UI. v1.2.15 [img]http://sg.bo3b.net/fc4/FarCry411_85.jps[/img] You can add anything you like as the first line of the file. Should also work for ASM files, and CS, GS, DS, HS. Let me know if you run into any problems with it, I only tested it in FC4.
Feature complete: Showing the first line of text of a shader file in the Overlay UI. v1.2.15

Image


You can add anything you like as the first line of the file. Should also work for ASM files, and CS, GS, DS, HS.

Let me know if you run into any problems with it, I only tested it in FC4.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 12/16/2015 06:21 AM   
Oooh, that's handy.
Oooh, that's handy.

Posted 12/16/2015 06:25 AM   
Awesome !
Awesome !

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 12/16/2015 12:06 PM   
  43 / 141    
Scroll To Top