Conan Exiles 3D fix Maybe
  7 / 12    
[url]https://helixmod.blogspot.com/2017/07/conan-exiles-beta-wip.html?showComment=1501685816121#c8624268080867220163[/url]

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#91
Posted 08/02/2017 02:57 PM   
[quote="The_Nephilim"]OK I retried this fix and was looking to recorrect the shadows it may not work as I don't fully understand what DHR did but at least I can redisdable the shadows here to get it working a bit..[/quote] @The_Nephilim, you have to correct the VS (Main shadows shader) + PS (individual ones). The VS correct some haloing issue and the PS correct the position.....use same code. Hope this helps, but like i said before...is an early access so the chance that another update break the fix is high.
The_Nephilim said:OK I retried this fix and was looking to recorrect the shadows it may not work as I don't fully understand what DHR did but at least I can redisdable the shadows here to get it working a bit..

@The_Nephilim, you have to correct the VS (Main shadows shader) + PS (individual ones). The VS correct some haloing issue and the PS correct the position.....use same code.

Hope this helps, but like i said before...is an early access so the chance that another update break the fix is high.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#92
Posted 08/03/2017 09:29 PM   
Yes I did not want to trouble you again for that reason.. I was going to wait to ask for help when it is released and try and maintain what I have currently without the shadows working.. I kinda know what to do but still scratching my head on how to do it ;) I appreciate the help thus far and since it is early access *I guess to keep it like it is for now and await final relase..
Yes I did not want to trouble you again for that reason.. I was going to wait to ask for help when it is released and try and maintain what I have currently without the shadows working..

I kinda know what to do but still scratching my head on how to do it ;)

I appreciate the help thus far and since it is early access *I guess to keep it like it is for now and await final relase..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#93
Posted 08/03/2017 09:47 PM   
OK I think it is making sence. lets see if I better understand.. this for for instance was a PS shadow fix: [code] // ---- Created with 3Dmigoto v1.2.61 on Mon Jul 03 20:18:54 2017 Texture2D<float4> t6 : register(t6); Texture2D<float4> t5 : register(t5); 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 s6_s : register(s6); SamplerState s5_s : register(s5); 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 cb3 : register(b3) { float4 cb3[28]; } cbuffer cb2 : register(b2) { float4 cb2[12]; } cbuffer cb1 : register(b1) { float4 cb1[14]; } cbuffer cb0 : register(b0) { float4 cb0[60]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); #include "matrix.hlsl" void main( linear centroid float4 v0 : TEXCOORD10, linear centroid float4 v1 : TEXCOORD11, float4 v2 : TEXCOORD0, float4 v3 : VELOCITY_PREV_POS0, float3 v4 : TEXCOORD9, float4 v5 : SV_Position0, uint v6 : SV_IsFrontFace0, out float4 o0 : SV_Target0, out float4 o1 : SV_Target1, out float4 o2 : SV_Target2, out float4 o3 : SV_Target3, out float4 o4 : SV_Target4, out float4 o5 : SV_Target5, out float4 o6 : SV_Target6) { float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11; uint4 bitmask, uiDest; float4 fDest; r0.xyz = v1.zxy * v0.yzx; r0.xyz = v1.yzx * v0.zxy + -r0.xyz; r0.xyz = v1.www * r0.xyz; r1.xy = -cb1[1].xy + v5.xy; r1.xy = r1.xy * cb1[2].zw + float2(-0.5,-0.5); r1.xy = v5.ww * r1.xy; r1.z = v5.w; r1.xyz = float3(2,-2,1) * r1.xyz; r2.xyzw = cb0[37].xyzw * v5.yyyy; r2.xyzw = v5.xxxx * cb0[36].xyzw + r2.xyzw; r2.xyzw = v5.zzzz * cb0[38].xyzw + r2.xyzw; r2.xyzw = cb0[39].xyzw + r2.xyzw; r2.xyz = r2.xyz / r2.www; // Common SVPositionToTranslatedWorld fix: float4 s = StereoParams.Load(0); matrix TranslatedWorldToClip = MATRIX(cb0, 0); matrix ClipToTranslatedWorld = MATRIX(cb0, 32); float4 t = mul(r2.xyz, TranslatedWorldToClip); t.x -= s.x * (t.w - s.y); r2.xyz = mul(t, ClipToTranslatedWorld); r3.xyz = -cb0[56].xyz + v4.xyz; r0.w = dot(-r2.xyz, -r2.xyz); r0.w = rsqrt(r0.w); r4.xyz = -r2.xyz * r0.www; r5.x = dot(v0.xyz, r4.xyz); r5.y = dot(r0.xyz, r4.xyz); r0.w = dot(v1.xyz, r4.xyz); r4.xy = -r5.xy / r0.ww; r4.xy = cb3[20].yy * r4.xy; r4.zw = cb3[21].xx * r4.xy; r5.xy = v2.xy * cb3[20].xx + r4.zw; r1.w = cb3[21].y + -cb3[21].z; r0.w = abs(r0.w) * r1.w + cb3[21].z; r1.w = floor(r0.w); r0.w = 1 / r0.w; r5.zw = r4.xy * r0.ww; r1.w = 2 + r1.w; r2.w = 1; r3.w = 1; r6.xyzw = float4(0,0,1,0); while (true) { r7.x = (int)r6.w; r7.x = cmp(r7.x >= r1.w); if (r7.x != 0) break; r7.xy = r6.xy + r5.xy; r7.x = t0.SampleLevel(s0_s, r7.xy, 0).x; r7.y = cmp(r2.w < r7.x); if (r7.y != 0) { r7.y = -r6.z + r3.w; r7.z = r7.x + -r2.w; r7.y = r7.y + r7.z; r7.y = r7.z / r7.y; r6.xy = -r7.yy * r5.zw + r6.xy; break; } r7.y = r2.w + -r0.w; r6.xy = r4.xy * r0.ww + r6.xy; r6.w = (int)r6.w + 1; r3.w = r2.w; r6.z = r7.x; r2.w = r7.y; } r5.xy = r6.xy + r5.xy; r6.xy = t1.Sample(s1_s, r5.xy).xy; r6.xy = r6.xy * float2(2,2) + float2(-1,-1); r6.zw = cb3[21].ww * -r6.xy + r6.xy; r7.xy = cb3[22].xx * v2.xy; r7.xy = t2.Sample(s2_s, r7.xy).xy; r7.xy = r7.xy * float2(2,2) + float2(-1,-1); r7.xy = r7.xy * cb3[22].yy + r6.zw; r2.w = dot(r6.xy, r6.xy); r2.w = 1 + -r2.w; r2.w = max(0, r2.w); r7.z = sqrt(r2.w); r6.xyz = r7.xyz * cb1[7].www + cb1[7].xyz; r2.w = dot(r6.xyz, r6.xyz); r2.w = rsqrt(r2.w); r6.xyz = r6.xyz * r2.www; r0.xyz = r6.yyy * r0.xyz; r0.xyz = r6.xxx * v0.xyz + r0.xyz; r0.xyz = r6.zzz * v1.xyz + r0.xyz; r2.w = dot(r0.xyz, r0.xyz); r2.w = rsqrt(r2.w); r0.xyz = r2.www * r0.xyz; r4.zw = v2.xy * cb3[22].zz + r4.zw; r2.w = 1; r3.w = 1; r6.xyzw = float4(0,0,1,0); while (true) { r7.x = (int)r6.w; r7.x = cmp(r7.x >= r1.w); if (r7.x != 0) break; r7.xy = r6.xy + r4.zw; r7.x = t0.SampleLevel(s0_s, r7.xy, 0).x; r7.y = cmp(r2.w < r7.x); if (r7.y != 0) { r7.y = -r6.z + r3.w; r7.z = r7.x + -r2.w; r7.y = r7.y + r7.z; r7.y = r7.z / r7.y; r6.xy = -r7.yy * r5.zw + r6.xy; break; } r7.y = r2.w + -r0.w; r6.xy = r4.xy * r0.ww + r6.xy; r6.w = (int)r6.w + 1; r3.w = r2.w; r6.z = r7.x; r2.w = r7.y; } r4.zw = r6.xy + r4.zw; r6.xyz = t3.Sample(s3_s, r4.zw).xyz; r6.yzw = cb3[6].xyz * r6.xyz; r7.xyz = cb3[22].www * r6.yzw; r2.w = dot(r7.xyz, float3(0.300000012,0.589999974,0.109999999)); r6.yzw = -cb3[22].www * r6.yzw + r2.www; r6.yzw = cb3[23].xxx * r6.yzw + r7.xyz; r2.w = t3.Sample(s3_s, v2.xy).w; r6.yzw = cb3[8].xyz * r6.yzw + -r7.xyz; r6.yzw = r2.www * r6.yzw + r7.xyz; r7.xyz = t4.Sample(s4_s, r5.xy).yzw; r4.zw = max(float2(9.99999997e-007,9.99999997e-007), abs(r7.yx)); r4.zw = log2(r4.zw); r5.xy = cb3[23].yz * r4.zw; r5.xy = exp2(r5.xy); r7.xyw = -cb3[12].xyz + cb3[11].xyz; r7.xyw = r5.xxx * r7.xyw + cb3[12].xyz; r8.xyz = r7.xyw * r6.yzw; r9.xyz = float3(1,1,1) + -r6.yzw; r9.xyz = cb3[15].xyz * r9.xyz; r9.xyz = -r9.xyz * float3(2,2,2) + float3(1,1,1); r10.xyz = cb3[14].xyz * r6.yzw; r10.xyz = r10.xyz + r10.xyz; r11.xyz = cmp(r6.yzw >= float3(0.5,0.5,0.5)); r9.xyz = r11.xyz ? r9.xyz : r10.xyz; r6.yzw = -r6.yzw * r7.xyw + r9.xyz; r6.yzw = r5.yyy * r6.yzw + r8.xyz; r5.xy = r4.xy * cb3[21].xx + v2.xy; r2.w = 1; r3.w = 1; r4.w = 1; r7.xyw = float3(0,0,0); while (true) { r8.x = (int)r7.w; r8.x = cmp(r8.x >= r1.w); if (r8.x != 0) break; r8.xy = r7.xy + r5.xy; r8.x = t0.SampleLevel(s0_s, r8.xy, 0).x; r8.y = cmp(r2.w < r8.x); if (r8.y != 0) { r8.y = -r4.w + r3.w; r8.z = r8.x + -r2.w; r8.y = r8.y + r8.z; r8.y = r8.z / r8.y; r7.xy = -r8.yy * r5.zw + r7.xy; break; } r8.y = r2.w + -r0.w; r7.xy = r4.xy * r0.ww + r7.xy; r7.w = (int)r7.w + 1; r3.w = r2.w; r4.w = r8.x; r2.w = r8.y; } r4.xy = r7.xy + r5.xy; r4.xyw = t5.Sample(s5_s, r4.xy).xyz; r4.xyw = cb3[23].www * r4.xyw; r3.xyz = r3.xyz / cb3[25].yyy; r0.w = t6.Sample(s6_s, r3.xz).x; r1.w = t6.Sample(s6_s, r3.yz).x; r3.zw = saturate(abs(v1.xz) * float2(3,3) + float2(-1,-1)); r1.w = r1.w + -r0.w; r0.w = r3.z * r1.w + r0.w; r1.w = t6.Sample(s6_s, r3.xy).x; r1.w = r1.w + -r0.w; r0.w = r3.w * r1.w + r0.w; r1.w = cb3[25].z + -cb3[19].x; r0.w = saturate(r0.w * r1.w + cb3[19].x); r0.w = saturate(cb3[25].w * r0.w); r3.xyz = cb3[17].xyz * r4.xyw + -r6.yzw; r3.xyz = r0.www * r3.xyz + r6.yzw; r3.xyz = saturate(cb3[3].xyz * r3.xyz); r0.w = cb3[26].x + -cb3[26].y; r4.x = saturate(r6.x * r0.w + cb3[26].y); r0.w = -cb3[27].x + cb3[26].w; r0.w = saturate(r7.z * r0.w + cb3[27].x); r1.w = cb3[27].y * r4.z; o3.w = saturate(exp2(r1.w)); r4.y = saturate(cb3[26].z); o2.z = r0.w * cb1[8].y + cb1[8].x; r1.xy = r1.xy / r1.zz; r1.xy = -cb0[26].xy + r1.xy; r1.zw = v3.xy / v3.ww; r1.zw = -cb0[59].xy + r1.zw; r1.xy = r1.xy + -r1.zw; r1.xy = r1.xy * float2(0.249500006,0.249500006) + float2(0.499992371,0.499992371); o5.xy = v3.zz * r1.xy; o5.zw = float2(0,0); r1.xyz = -r3.xyz * r4.xxx + r3.xyz; r0.w = 0.0799999982 * r4.y; r5.xyz = -r4.yyy * float3(0.0799999982,0.0799999982,0.0799999982) + r3.xyz; r5.xyz = r4.xxx * r5.xyz + r0.www; r1.xyz = r1.xyz * cb1[5].www + cb1[5].xyz; r5.xyz = r5.xyz * cb1[6].www + cb1[6].xyz; r1.xyz = r5.xyz * float3(0.449999988,0.449999988,0.449999988) + r1.xyz; r5.xyz = max(float3(0,0,0), cb3[2].xyz); r0.w = cmp(0 < cb1[9].x); if (r0.w != 0) { r2.xyz = -cb0[56].xyz + r2.xyz; r6.xyz = -cb2[8].xyz + r2.xyz; r7.xyz = float3(1,1,1) + cb2[9].xyz; r6.xyz = cmp(r7.xyz < abs(r6.xyz)); r0.w = (int)r6.y | (int)r6.x; r0.w = (int)r6.z | (int)r0.w; r1.w = dot(r2.xyz, float3(0.577000022,0.577000022,0.577000022)); r1.w = 0.00200000009 * r1.w; r1.w = frac(r1.w); r1.w = cmp(0.5 < r1.w); r2.xyz = r1.www ? float3(0,1,1) : float3(1,1,0); r5.xyz = r0.www ? r2.xyz : r5.xyz; } o0.xyz = cb1[13].xxx * r1.xyz + r5.xyz; o1.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5); o0.w = 0; o1.w = cb2[11].x; o2.w = 0.129411772; o2.xy = r4.xy; o3.xyz = r3.xyz; o4.xyzw = float4(1,1,1,1); o6.xyzw = float4(0,0,0,0); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original ASM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 10 xyzw 0 NONE float xyz // TEXCOORD 11 xyzw 1 NONE float xyzw // TEXCOORD 0 xyzw 2 NONE float xy // VELOCITY_PREV_POS 0 xyzw 3 NONE float xyzw // TEXCOORD 9 xyz 4 NONE float xyz // SV_Position 0 xyzw 5 POS float xyzw // SV_IsFrontFace 0 x 6 FFACE uint // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // SV_Target 1 xyzw 1 TARGET float xyzw // SV_Target 2 xyzw 2 TARGET float xyzw // SV_Target 3 xyzw 3 TARGET float xyzw // SV_Target 4 xyzw 4 TARGET float xyzw // SV_Target 5 xyzw 5 TARGET float xyzw // SV_Target 6 xyzw 6 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[60], immediateIndexed dcl_constantbuffer cb1[14], immediateIndexed dcl_constantbuffer cb2[12], immediateIndexed dcl_constantbuffer cb3[28], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_sampler s3, mode_default dcl_sampler s4, mode_default dcl_sampler s5, mode_default dcl_sampler s6, 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) t2 dcl_resource_texture2d (float,float,float,float) t3 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_input_ps linear centroid v0.xyz dcl_input_ps linear centroid v1.xyzw dcl_input_ps linear v2.xy dcl_input_ps linear v3.xyzw dcl_input_ps linear v4.xyz dcl_input_ps_siv linear noperspective v5.xyzw, position dcl_output o0.xyzw dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_output o5.xyzw dcl_output o6.xyzw dcl_temps 12 mul r0.xyz, v0.yzxy, v1.zxyz mad r0.xyz, v1.yzxy, v0.zxyz, -r0.xyzx mul r0.xyz, r0.xyzx, v1.wwww add r1.xy, v5.xyxx, -cb1[1].xyxx mad r1.xy, r1.xyxx, cb1[2].zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000) mul r1.xy, r1.xyxx, v5.wwww mov r1.z, v5.w mul r1.xyz, r1.xyzx, l(2.000000, -2.000000, 1.000000, 0.000000) mul r2.xyzw, v5.yyyy, cb0[37].xyzw mad r2.xyzw, v5.xxxx, cb0[36].xyzw, r2.xyzw mad r2.xyzw, v5.zzzz, cb0[38].xyzw, r2.xyzw add r2.xyzw, r2.xyzw, cb0[39].xyzw div r2.xyz, r2.xyzx, r2.wwww add r3.xyz, v4.xyzx, -cb0[56].xyzx dp3 r0.w, -r2.xyzx, -r2.xyzx rsq r0.w, r0.w mul r4.xyz, r0.wwww, -r2.xyzx dp3 r5.x, v0.xyzx, r4.xyzx dp3 r5.y, r0.xyzx, r4.xyzx dp3 r0.w, v1.xyzx, r4.xyzx div r4.xy, -r5.xyxx, r0.wwww mul r4.xy, r4.xyxx, cb3[20].yyyy mul r4.zw, r4.xxxy, cb3[21].xxxx mad r5.xy, v2.xyxx, cb3[20].xxxx, r4.zwzz add r1.w, -cb3[21].z, cb3[21].y mad r0.w, |r0.w|, r1.w, cb3[21].z round_ni r1.w, r0.w div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w mul r5.zw, r0.wwww, r4.xxxy add r1.w, r1.w, l(2.000000) mov r2.w, l(1.000000) mov r3.w, l(1.000000) mov r6.xyzw, l(0,0,1.000000,0) loop itof r7.x, r6.w ge r7.x, r7.x, r1.w breakc_nz r7.x add r7.xy, r5.xyxx, r6.xyxx sample_l_indexable(texture2d)(float,float,float,float) r7.x, r7.xyxx, t0.xyzw, s0, l(0.000000) lt r7.y, r2.w, r7.x if_nz r7.y add r7.y, r3.w, -r6.z add r7.z, -r2.w, r7.x add r7.y, r7.z, r7.y div r7.y, r7.z, r7.y mad r6.xy, -r7.yyyy, r5.zwzz, r6.xyxx break endif add r7.y, -r0.w, r2.w mad r6.xy, r4.xyxx, r0.wwww, r6.xyxx iadd r6.w, r6.w, l(1) mov r3.w, r2.w mov r6.z, r7.x mov r2.w, r7.y endloop add r5.xy, r5.xyxx, r6.xyxx sample_indexable(texture2d)(float,float,float,float) r6.xy, r5.xyxx, t1.xyzw, s1 mad r6.xy, r6.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) mad r6.zw, cb3[21].wwww, -r6.xxxy, r6.xxxy mul r7.xy, v2.xyxx, cb3[22].xxxx sample_indexable(texture2d)(float,float,float,float) r7.xy, r7.xyxx, t2.xyzw, s2 mad r7.xy, r7.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) mad r7.xy, r7.xyxx, cb3[22].yyyy, r6.zwzz dp2 r2.w, r6.xyxx, r6.xyxx add r2.w, -r2.w, l(1.000000) max r2.w, r2.w, l(0.000000) sqrt r7.z, r2.w mad r6.xyz, r7.xyzx, cb1[7].wwww, cb1[7].xyzx dp3 r2.w, r6.xyzx, r6.xyzx rsq r2.w, r2.w mul r6.xyz, r2.wwww, r6.xyzx mul r0.xyz, r0.xyzx, r6.yyyy mad r0.xyz, r6.xxxx, v0.xyzx, r0.xyzx mad r0.xyz, r6.zzzz, v1.xyzx, r0.xyzx dp3 r2.w, r0.xyzx, r0.xyzx rsq r2.w, r2.w mul r0.xyz, r0.xyzx, r2.wwww mad r4.zw, v2.xxxy, cb3[22].zzzz, r4.zzzw mov r2.w, l(1.000000) mov r3.w, l(1.000000) mov r6.xyzw, l(0,0,1.000000,0) loop itof r7.x, r6.w ge r7.x, r7.x, r1.w breakc_nz r7.x add r7.xy, r4.zwzz, r6.xyxx sample_l_indexable(texture2d)(float,float,float,float) r7.x, r7.xyxx, t0.xyzw, s0, l(0.000000) lt r7.y, r2.w, r7.x if_nz r7.y add r7.y, r3.w, -r6.z add r7.z, -r2.w, r7.x add r7.y, r7.z, r7.y div r7.y, r7.z, r7.y mad r6.xy, -r7.yyyy, r5.zwzz, r6.xyxx break endif add r7.y, -r0.w, r2.w mad r6.xy, r4.xyxx, r0.wwww, r6.xyxx iadd r6.w, r6.w, l(1) mov r3.w, r2.w mov r6.z, r7.x mov r2.w, r7.y endloop add r4.zw, r4.zzzw, r6.xxxy sample_indexable(texture2d)(float,float,float,float) r6.xyz, r4.zwzz, t3.xyzw, s3 mul r6.yzw, r6.xxyz, cb3[6].xxyz mul r7.xyz, r6.yzwy, cb3[22].wwww dp3 r2.w, r7.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000) mad r6.yzw, -cb3[22].wwww, r6.yyzw, r2.wwww mad r6.yzw, cb3[23].xxxx, r6.yyzw, r7.xxyz sample_indexable(texture2d)(float,float,float,float) r2.w, v2.xyxx, t3.xyzw, s3 mad r6.yzw, cb3[8].xxyz, r6.yyzw, -r7.xxyz mad r6.yzw, r2.wwww, r6.yyzw, r7.xxyz sample_indexable(texture2d)(float,float,float,float) r7.xyz, r5.xyxx, t4.yzwx, s4 max r4.zw, |r7.yyyx|, l(0.000000, 0.000000, 0.000001, 0.000001) log r4.zw, r4.zzzw mul r5.xy, r4.zwzz, cb3[23].yzyy exp r5.xy, r5.xyxx add r7.xyw, cb3[11].xyxz, -cb3[12].xyxz mad r7.xyw, r5.xxxx, r7.xyxw, cb3[12].xyxz mul r8.xyz, r6.yzwy, r7.xywx add r9.xyz, -r6.yzwy, l(1.000000, 1.000000, 1.000000, 0.000000) mul r9.xyz, r9.xyzx, cb3[15].xyzx mad r9.xyz, -r9.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000) mul r10.xyz, r6.yzwy, cb3[14].xyzx add r10.xyz, r10.xyzx, r10.xyzx ge r11.xyz, r6.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000) movc r9.xyz, r11.xyzx, r9.xyzx, r10.xyzx mad r6.yzw, -r6.yyzw, r7.xxyw, r9.xxyz mad r6.yzw, r5.yyyy, r6.yyzw, r8.xxyz mad r5.xy, r4.xyxx, cb3[21].xxxx, v2.xyxx mov r2.w, l(1.000000) mov r3.w, l(1.000000) mov r4.w, l(1.000000) mov r7.xyw, l(0,0,0,0) loop itof r8.x, r7.w ge r8.x, r8.x, r1.w breakc_nz r8.x add r8.xy, r5.xyxx, r7.xyxx sample_l_indexable(texture2d)(float,float,float,float) r8.x, r8.xyxx, t0.xyzw, s0, l(0.000000) lt r8.y, r2.w, r8.x if_nz r8.y add r8.y, r3.w, -r4.w add r8.z, -r2.w, r8.x add r8.y, r8.z, r8.y div r8.y, r8.z, r8.y mad r7.xy, -r8.yyyy, r5.zwzz, r7.xyxx break endif add r8.y, -r0.w, r2.w mad r7.xy, r4.xyxx, r0.wwww, r7.xyxx iadd r7.w, r7.w, l(1) mov r3.w, r2.w mov r4.w, r8.x mov r2.w, r8.y endloop add r4.xy, r5.xyxx, r7.xyxx sample_indexable(texture2d)(float,float,float,float) r4.xyw, r4.xyxx, t5.xywz, s5 mul r4.xyw, r4.xyxw, cb3[23].wwww div r3.xyz, r3.xyzx, cb3[25].yyyy sample_indexable(texture2d)(float,float,float,float) r0.w, r3.xzxx, t6.yzwx, s6 sample_indexable(texture2d)(float,float,float,float) r1.w, r3.yzyy, t6.yzwx, s6 mad_sat r3.zw, |v1.xxxz|, l(0.000000, 0.000000, 3.000000, 3.000000), l(0.000000, 0.000000, -1.000000, -1.000000) add r1.w, -r0.w, r1.w mad r0.w, r3.z, r1.w, r0.w sample_indexable(texture2d)(float,float,float,float) r1.w, r3.xyxx, t6.yzwx, s6 add r1.w, -r0.w, r1.w mad r0.w, r3.w, r1.w, r0.w add r1.w, -cb3[19].x, cb3[25].z mad_sat r0.w, r0.w, r1.w, cb3[19].x mul_sat r0.w, r0.w, cb3[25].w mad r3.xyz, cb3[17].xyzx, r4.xywx, -r6.yzwy mad r3.xyz, r0.wwww, r3.xyzx, r6.yzwy mul_sat r3.xyz, r3.xyzx, cb3[3].xyzx add r0.w, -cb3[26].y, cb3[26].x mad_sat r4.x, r6.x, r0.w, cb3[26].y add r0.w, cb3[26].w, -cb3[27].x mad_sat r0.w, r7.z, r0.w, cb3[27].x mul r1.w, r4.z, cb3[27].y exp_sat o3.w, r1.w mov_sat r4.y, cb3[26].z mad o2.z, r0.w, cb1[8].y, cb1[8].x div r1.xy, r1.xyxx, r1.zzzz add r1.xy, r1.xyxx, -cb0[26].xyxx div r1.zw, v3.xxxy, v3.wwww add r1.zw, r1.zzzw, -cb0[59].xxxy add r1.xy, -r1.zwzz, r1.xyxx mad r1.xy, r1.xyxx, l(0.249500, 0.249500, 0.000000, 0.000000), l(0.499992, 0.499992, 0.000000, 0.000000) mul o5.xy, r1.xyxx, v3.zzzz mov o5.zw, l(0,0,0,0) mad r1.xyz, -r3.xyzx, r4.xxxx, r3.xyzx mul r0.w, r4.y, l(0.080000) mad r5.xyz, -r4.yyyy, l(0.080000, 0.080000, 0.080000, 0.000000), r3.xyzx mad r5.xyz, r4.xxxx, r5.xyzx, r0.wwww mad r1.xyz, r1.xyzx, cb1[5].wwww, cb1[5].xyzx mad r5.xyz, r5.xyzx, cb1[6].wwww, cb1[6].xyzx mad r1.xyz, r5.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), r1.xyzx max r5.xyz, cb3[2].xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) lt r0.w, l(0.000000), cb1[9].x if_nz r0.w add r2.xyz, r2.xyzx, -cb0[56].xyzx add r6.xyz, r2.xyzx, -cb2[8].xyzx add r7.xyz, cb2[9].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) lt r6.xyz, r7.xyzx, |r6.xyzx| or r0.w, r6.y, r6.x or r0.w, r6.z, r0.w dp3 r1.w, r2.xyzx, l(0.577000, 0.577000, 0.577000, 0.000000) mul r1.w, r1.w, l(0.002000) frc r1.w, r1.w lt r1.w, l(0.500000), r1.w movc r2.xyz, r1.wwww, l(0,1.000000,1.000000,0), l(1.000000,1.000000,0,0) movc r5.xyz, r0.wwww, r2.xyzx, r5.xyzx endif mad o0.xyz, cb1[13].xxxx, r1.xyzx, r5.xyzx mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000) mov o0.w, l(0) mov o1.w, cb2[11].x mov o2.w, l(0.129412) mov o2.xy, r4.xyxx mov o3.xyz, r3.xyzx mov o4.xyzw, l(1.000000,1.000000,1.000000,1.000000) mov o6.xyzw, l(0,0,0,0) ret // Approximately 0 instruction slots used [/code] Now I see what was inserted was this one of the few shader shadows found?? or was this a main PS shadow find?
OK I think it is making sence. lets see if I better understand.. this for for instance was a PS shadow fix:


// ---- Created with 3Dmigoto v1.2.61 on Mon Jul 03 20:18:54 2017
Texture2D<float4> t6 : register(t6);

Texture2D<float4> t5 : register(t5);

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 s6_s : register(s6);

SamplerState s5_s : register(s5);

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 cb3 : register(b3)
{
float4 cb3[28];
}

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

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

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




// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);
#include "matrix.hlsl"

void main(
linear centroid float4 v0 : TEXCOORD10,
linear centroid float4 v1 : TEXCOORD11,
float4 v2 : TEXCOORD0,
float4 v3 : VELOCITY_PREV_POS0,
float3 v4 : TEXCOORD9,
float4 v5 : SV_Position0,
uint v6 : SV_IsFrontFace0,
out float4 o0 : SV_Target0,
out float4 o1 : SV_Target1,
out float4 o2 : SV_Target2,
out float4 o3 : SV_Target3,
out float4 o4 : SV_Target4,
out float4 o5 : SV_Target5,
out float4 o6 : SV_Target6)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyz = v1.zxy * v0.yzx;
r0.xyz = v1.yzx * v0.zxy + -r0.xyz;
r0.xyz = v1.www * r0.xyz;
r1.xy = -cb1[1].xy + v5.xy;
r1.xy = r1.xy * cb1[2].zw + float2(-0.5,-0.5);
r1.xy = v5.ww * r1.xy;
r1.z = v5.w;
r1.xyz = float3(2,-2,1) * r1.xyz;
r2.xyzw = cb0[37].xyzw * v5.yyyy;
r2.xyzw = v5.xxxx * cb0[36].xyzw + r2.xyzw;
r2.xyzw = v5.zzzz * cb0[38].xyzw + r2.xyzw;
r2.xyzw = cb0[39].xyzw + r2.xyzw;
r2.xyz = r2.xyz / r2.www;

// Common SVPositionToTranslatedWorld fix:
float4 s = StereoParams.Load(0);
matrix TranslatedWorldToClip = MATRIX(cb0, 0);
matrix ClipToTranslatedWorld = MATRIX(cb0, 32);
float4 t = mul(r2.xyz, TranslatedWorldToClip);
t.x -= s.x * (t.w - s.y);
r2.xyz = mul(t, ClipToTranslatedWorld);

r3.xyz = -cb0[56].xyz + v4.xyz;
r0.w = dot(-r2.xyz, -r2.xyz);
r0.w = rsqrt(r0.w);
r4.xyz = -r2.xyz * r0.www;
r5.x = dot(v0.xyz, r4.xyz);
r5.y = dot(r0.xyz, r4.xyz);
r0.w = dot(v1.xyz, r4.xyz);
r4.xy = -r5.xy / r0.ww;
r4.xy = cb3[20].yy * r4.xy;
r4.zw = cb3[21].xx * r4.xy;
r5.xy = v2.xy * cb3[20].xx + r4.zw;
r1.w = cb3[21].y + -cb3[21].z;
r0.w = abs(r0.w) * r1.w + cb3[21].z;
r1.w = floor(r0.w);
r0.w = 1 / r0.w;
r5.zw = r4.xy * r0.ww;
r1.w = 2 + r1.w;
r2.w = 1;
r3.w = 1;
r6.xyzw = float4(0,0,1,0);
while (true) {
r7.x = (int)r6.w;
r7.x = cmp(r7.x >= r1.w);
if (r7.x != 0) break;
r7.xy = r6.xy + r5.xy;
r7.x = t0.SampleLevel(s0_s, r7.xy, 0).x;
r7.y = cmp(r2.w < r7.x);
if (r7.y != 0) {
r7.y = -r6.z + r3.w;
r7.z = r7.x + -r2.w;
r7.y = r7.y + r7.z;
r7.y = r7.z / r7.y;
r6.xy = -r7.yy * r5.zw + r6.xy;
break;
}
r7.y = r2.w + -r0.w;
r6.xy = r4.xy * r0.ww + r6.xy;
r6.w = (int)r6.w + 1;
r3.w = r2.w;
r6.z = r7.x;
r2.w = r7.y;
}
r5.xy = r6.xy + r5.xy;
r6.xy = t1.Sample(s1_s, r5.xy).xy;
r6.xy = r6.xy * float2(2,2) + float2(-1,-1);
r6.zw = cb3[21].ww * -r6.xy + r6.xy;
r7.xy = cb3[22].xx * v2.xy;
r7.xy = t2.Sample(s2_s, r7.xy).xy;
r7.xy = r7.xy * float2(2,2) + float2(-1,-1);
r7.xy = r7.xy * cb3[22].yy + r6.zw;
r2.w = dot(r6.xy, r6.xy);
r2.w = 1 + -r2.w;
r2.w = max(0, r2.w);
r7.z = sqrt(r2.w);
r6.xyz = r7.xyz * cb1[7].www + cb1[7].xyz;
r2.w = dot(r6.xyz, r6.xyz);
r2.w = rsqrt(r2.w);
r6.xyz = r6.xyz * r2.www;
r0.xyz = r6.yyy * r0.xyz;
r0.xyz = r6.xxx * v0.xyz + r0.xyz;
r0.xyz = r6.zzz * v1.xyz + r0.xyz;
r2.w = dot(r0.xyz, r0.xyz);
r2.w = rsqrt(r2.w);
r0.xyz = r2.www * r0.xyz;
r4.zw = v2.xy * cb3[22].zz + r4.zw;
r2.w = 1;
r3.w = 1;
r6.xyzw = float4(0,0,1,0);
while (true) {
r7.x = (int)r6.w;
r7.x = cmp(r7.x >= r1.w);
if (r7.x != 0) break;
r7.xy = r6.xy + r4.zw;
r7.x = t0.SampleLevel(s0_s, r7.xy, 0).x;
r7.y = cmp(r2.w < r7.x);
if (r7.y != 0) {
r7.y = -r6.z + r3.w;
r7.z = r7.x + -r2.w;
r7.y = r7.y + r7.z;
r7.y = r7.z / r7.y;
r6.xy = -r7.yy * r5.zw + r6.xy;
break;
}
r7.y = r2.w + -r0.w;
r6.xy = r4.xy * r0.ww + r6.xy;
r6.w = (int)r6.w + 1;
r3.w = r2.w;
r6.z = r7.x;
r2.w = r7.y;
}
r4.zw = r6.xy + r4.zw;
r6.xyz = t3.Sample(s3_s, r4.zw).xyz;
r6.yzw = cb3[6].xyz * r6.xyz;
r7.xyz = cb3[22].www * r6.yzw;
r2.w = dot(r7.xyz, float3(0.300000012,0.589999974,0.109999999));
r6.yzw = -cb3[22].www * r6.yzw + r2.www;
r6.yzw = cb3[23].xxx * r6.yzw + r7.xyz;
r2.w = t3.Sample(s3_s, v2.xy).w;
r6.yzw = cb3[8].xyz * r6.yzw + -r7.xyz;
r6.yzw = r2.www * r6.yzw + r7.xyz;
r7.xyz = t4.Sample(s4_s, r5.xy).yzw;
r4.zw = max(float2(9.99999997e-007,9.99999997e-007), abs(r7.yx));
r4.zw = log2(r4.zw);
r5.xy = cb3[23].yz * r4.zw;
r5.xy = exp2(r5.xy);
r7.xyw = -cb3[12].xyz + cb3[11].xyz;
r7.xyw = r5.xxx * r7.xyw + cb3[12].xyz;
r8.xyz = r7.xyw * r6.yzw;
r9.xyz = float3(1,1,1) + -r6.yzw;
r9.xyz = cb3[15].xyz * r9.xyz;
r9.xyz = -r9.xyz * float3(2,2,2) + float3(1,1,1);
r10.xyz = cb3[14].xyz * r6.yzw;
r10.xyz = r10.xyz + r10.xyz;
r11.xyz = cmp(r6.yzw >= float3(0.5,0.5,0.5));
r9.xyz = r11.xyz ? r9.xyz : r10.xyz;
r6.yzw = -r6.yzw * r7.xyw + r9.xyz;
r6.yzw = r5.yyy * r6.yzw + r8.xyz;
r5.xy = r4.xy * cb3[21].xx + v2.xy;
r2.w = 1;
r3.w = 1;
r4.w = 1;
r7.xyw = float3(0,0,0);
while (true) {
r8.x = (int)r7.w;
r8.x = cmp(r8.x >= r1.w);
if (r8.x != 0) break;
r8.xy = r7.xy + r5.xy;
r8.x = t0.SampleLevel(s0_s, r8.xy, 0).x;
r8.y = cmp(r2.w < r8.x);
if (r8.y != 0) {
r8.y = -r4.w + r3.w;
r8.z = r8.x + -r2.w;
r8.y = r8.y + r8.z;
r8.y = r8.z / r8.y;
r7.xy = -r8.yy * r5.zw + r7.xy;
break;
}
r8.y = r2.w + -r0.w;
r7.xy = r4.xy * r0.ww + r7.xy;
r7.w = (int)r7.w + 1;
r3.w = r2.w;
r4.w = r8.x;
r2.w = r8.y;
}
r4.xy = r7.xy + r5.xy;
r4.xyw = t5.Sample(s5_s, r4.xy).xyz;
r4.xyw = cb3[23].www * r4.xyw;
r3.xyz = r3.xyz / cb3[25].yyy;
r0.w = t6.Sample(s6_s, r3.xz).x;
r1.w = t6.Sample(s6_s, r3.yz).x;
r3.zw = saturate(abs(v1.xz) * float2(3,3) + float2(-1,-1));
r1.w = r1.w + -r0.w;
r0.w = r3.z * r1.w + r0.w;
r1.w = t6.Sample(s6_s, r3.xy).x;
r1.w = r1.w + -r0.w;
r0.w = r3.w * r1.w + r0.w;
r1.w = cb3[25].z + -cb3[19].x;
r0.w = saturate(r0.w * r1.w + cb3[19].x);
r0.w = saturate(cb3[25].w * r0.w);
r3.xyz = cb3[17].xyz * r4.xyw + -r6.yzw;
r3.xyz = r0.www * r3.xyz + r6.yzw;
r3.xyz = saturate(cb3[3].xyz * r3.xyz);
r0.w = cb3[26].x + -cb3[26].y;
r4.x = saturate(r6.x * r0.w + cb3[26].y);
r0.w = -cb3[27].x + cb3[26].w;
r0.w = saturate(r7.z * r0.w + cb3[27].x);
r1.w = cb3[27].y * r4.z;
o3.w = saturate(exp2(r1.w));
r4.y = saturate(cb3[26].z);
o2.z = r0.w * cb1[8].y + cb1[8].x;
r1.xy = r1.xy / r1.zz;
r1.xy = -cb0[26].xy + r1.xy;
r1.zw = v3.xy / v3.ww;
r1.zw = -cb0[59].xy + r1.zw;
r1.xy = r1.xy + -r1.zw;
r1.xy = r1.xy * float2(0.249500006,0.249500006) + float2(0.499992371,0.499992371);
o5.xy = v3.zz * r1.xy;
o5.zw = float2(0,0);
r1.xyz = -r3.xyz * r4.xxx + r3.xyz;
r0.w = 0.0799999982 * r4.y;
r5.xyz = -r4.yyy * float3(0.0799999982,0.0799999982,0.0799999982) + r3.xyz;
r5.xyz = r4.xxx * r5.xyz + r0.www;
r1.xyz = r1.xyz * cb1[5].www + cb1[5].xyz;
r5.xyz = r5.xyz * cb1[6].www + cb1[6].xyz;
r1.xyz = r5.xyz * float3(0.449999988,0.449999988,0.449999988) + r1.xyz;
r5.xyz = max(float3(0,0,0), cb3[2].xyz);
r0.w = cmp(0 < cb1[9].x);
if (r0.w != 0) {
r2.xyz = -cb0[56].xyz + r2.xyz;
r6.xyz = -cb2[8].xyz + r2.xyz;
r7.xyz = float3(1,1,1) + cb2[9].xyz;
r6.xyz = cmp(r7.xyz < abs(r6.xyz));
r0.w = (int)r6.y | (int)r6.x;
r0.w = (int)r6.z | (int)r0.w;
r1.w = dot(r2.xyz, float3(0.577000022,0.577000022,0.577000022));
r1.w = 0.00200000009 * r1.w;
r1.w = frac(r1.w);
r1.w = cmp(0.5 < r1.w);
r2.xyz = r1.www ? float3(0,1,1) : float3(1,1,0);
r5.xyz = r0.www ? r2.xyz : r5.xyz;
}
o0.xyz = cb1[13].xxx * r1.xyz + r5.xyz;
o1.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5);
o0.w = 0;
o1.w = cb2[11].x;
o2.w = 0.129411772;
o2.xy = r4.xy;
o3.xyz = r3.xyz;
o4.xyzw = float4(1,1,1,1);
o6.xyzw = float4(0,0,0,0);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original ASM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 10 xyzw 0 NONE float xyz
// TEXCOORD 11 xyzw 1 NONE float xyzw
// TEXCOORD 0 xyzw 2 NONE float xy
// VELOCITY_PREV_POS 0 xyzw 3 NONE float xyzw
// TEXCOORD 9 xyz 4 NONE float xyz
// SV_Position 0 xyzw 5 POS float xyzw
// SV_IsFrontFace 0 x 6 FFACE uint
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
// SV_Target 1 xyzw 1 TARGET float xyzw
// SV_Target 2 xyzw 2 TARGET float xyzw
// SV_Target 3 xyzw 3 TARGET float xyzw
// SV_Target 4 xyzw 4 TARGET float xyzw
// SV_Target 5 xyzw 5 TARGET float xyzw
// SV_Target 6 xyzw 6 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[60], immediateIndexed
dcl_constantbuffer cb1[14], immediateIndexed
dcl_constantbuffer cb2[12], immediateIndexed
dcl_constantbuffer cb3[28], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, 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) t2
dcl_resource_texture2d (float,float,float,float) t3
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_input_ps linear centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps linear v2.xy
dcl_input_ps linear v3.xyzw
dcl_input_ps linear v4.xyz
dcl_input_ps_siv linear noperspective v5.xyzw, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_output o6.xyzw
dcl_temps 12
mul r0.xyz, v0.yzxy, v1.zxyz
mad r0.xyz, v1.yzxy, v0.zxyz, -r0.xyzx
mul r0.xyz, r0.xyzx, v1.wwww
add r1.xy, v5.xyxx, -cb1[1].xyxx
mad r1.xy, r1.xyxx, cb1[2].zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, v5.wwww
mov r1.z, v5.w
mul r1.xyz, r1.xyzx, l(2.000000, -2.000000, 1.000000, 0.000000)
mul r2.xyzw, v5.yyyy, cb0[37].xyzw
mad r2.xyzw, v5.xxxx, cb0[36].xyzw, r2.xyzw
mad r2.xyzw, v5.zzzz, cb0[38].xyzw, r2.xyzw
add r2.xyzw, r2.xyzw, cb0[39].xyzw
div r2.xyz, r2.xyzx, r2.wwww
add r3.xyz, v4.xyzx, -cb0[56].xyzx
dp3 r0.w, -r2.xyzx, -r2.xyzx
rsq r0.w, r0.w
mul r4.xyz, r0.wwww, -r2.xyzx
dp3 r5.x, v0.xyzx, r4.xyzx
dp3 r5.y, r0.xyzx, r4.xyzx
dp3 r0.w, v1.xyzx, r4.xyzx
div r4.xy, -r5.xyxx, r0.wwww
mul r4.xy, r4.xyxx, cb3[20].yyyy
mul r4.zw, r4.xxxy, cb3[21].xxxx
mad r5.xy, v2.xyxx, cb3[20].xxxx, r4.zwzz
add r1.w, -cb3[21].z, cb3[21].y
mad r0.w, |r0.w|, r1.w, cb3[21].z
round_ni r1.w, r0.w
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mul r5.zw, r0.wwww, r4.xxxy
add r1.w, r1.w, l(2.000000)
mov r2.w, l(1.000000)
mov r3.w, l(1.000000)
mov r6.xyzw, l(0,0,1.000000,0)
loop
itof r7.x, r6.w
ge r7.x, r7.x, r1.w
breakc_nz r7.x
add r7.xy, r5.xyxx, r6.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r7.x, r7.xyxx, t0.xyzw, s0, l(0.000000)
lt r7.y, r2.w, r7.x
if_nz r7.y
add r7.y, r3.w, -r6.z
add r7.z, -r2.w, r7.x
add r7.y, r7.z, r7.y
div r7.y, r7.z, r7.y
mad r6.xy, -r7.yyyy, r5.zwzz, r6.xyxx
break
endif
add r7.y, -r0.w, r2.w
mad r6.xy, r4.xyxx, r0.wwww, r6.xyxx
iadd r6.w, r6.w, l(1)
mov r3.w, r2.w
mov r6.z, r7.x
mov r2.w, r7.y
endloop
add r5.xy, r5.xyxx, r6.xyxx
sample_indexable(texture2d)(float,float,float,float) r6.xy, r5.xyxx, t1.xyzw, s1
mad r6.xy, r6.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mad r6.zw, cb3[21].wwww, -r6.xxxy, r6.xxxy
mul r7.xy, v2.xyxx, cb3[22].xxxx
sample_indexable(texture2d)(float,float,float,float) r7.xy, r7.xyxx, t2.xyzw, s2
mad r7.xy, r7.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mad r7.xy, r7.xyxx, cb3[22].yyyy, r6.zwzz
dp2 r2.w, r6.xyxx, r6.xyxx
add r2.w, -r2.w, l(1.000000)
max r2.w, r2.w, l(0.000000)
sqrt r7.z, r2.w
mad r6.xyz, r7.xyzx, cb1[7].wwww, cb1[7].xyzx
dp3 r2.w, r6.xyzx, r6.xyzx
rsq r2.w, r2.w
mul r6.xyz, r2.wwww, r6.xyzx
mul r0.xyz, r0.xyzx, r6.yyyy
mad r0.xyz, r6.xxxx, v0.xyzx, r0.xyzx
mad r0.xyz, r6.zzzz, v1.xyzx, r0.xyzx
dp3 r2.w, r0.xyzx, r0.xyzx
rsq r2.w, r2.w
mul r0.xyz, r0.xyzx, r2.wwww
mad r4.zw, v2.xxxy, cb3[22].zzzz, r4.zzzw
mov r2.w, l(1.000000)
mov r3.w, l(1.000000)
mov r6.xyzw, l(0,0,1.000000,0)
loop
itof r7.x, r6.w
ge r7.x, r7.x, r1.w
breakc_nz r7.x
add r7.xy, r4.zwzz, r6.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r7.x, r7.xyxx, t0.xyzw, s0, l(0.000000)
lt r7.y, r2.w, r7.x
if_nz r7.y
add r7.y, r3.w, -r6.z
add r7.z, -r2.w, r7.x
add r7.y, r7.z, r7.y
div r7.y, r7.z, r7.y
mad r6.xy, -r7.yyyy, r5.zwzz, r6.xyxx
break
endif
add r7.y, -r0.w, r2.w
mad r6.xy, r4.xyxx, r0.wwww, r6.xyxx
iadd r6.w, r6.w, l(1)
mov r3.w, r2.w
mov r6.z, r7.x
mov r2.w, r7.y
endloop
add r4.zw, r4.zzzw, r6.xxxy
sample_indexable(texture2d)(float,float,float,float) r6.xyz, r4.zwzz, t3.xyzw, s3
mul r6.yzw, r6.xxyz, cb3[6].xxyz
mul r7.xyz, r6.yzwy, cb3[22].wwww
dp3 r2.w, r7.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r6.yzw, -cb3[22].wwww, r6.yyzw, r2.wwww
mad r6.yzw, cb3[23].xxxx, r6.yyzw, r7.xxyz
sample_indexable(texture2d)(float,float,float,float) r2.w, v2.xyxx, t3.xyzw, s3
mad r6.yzw, cb3[8].xxyz, r6.yyzw, -r7.xxyz
mad r6.yzw, r2.wwww, r6.yyzw, r7.xxyz
sample_indexable(texture2d)(float,float,float,float) r7.xyz, r5.xyxx, t4.yzwx, s4
max r4.zw, |r7.yyyx|, l(0.000000, 0.000000, 0.000001, 0.000001)
log r4.zw, r4.zzzw
mul r5.xy, r4.zwzz, cb3[23].yzyy
exp r5.xy, r5.xyxx
add r7.xyw, cb3[11].xyxz, -cb3[12].xyxz
mad r7.xyw, r5.xxxx, r7.xyxw, cb3[12].xyxz
mul r8.xyz, r6.yzwy, r7.xywx
add r9.xyz, -r6.yzwy, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r9.xyz, r9.xyzx, cb3[15].xyzx
mad r9.xyz, -r9.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000)
mul r10.xyz, r6.yzwy, cb3[14].xyzx
add r10.xyz, r10.xyzx, r10.xyzx
ge r11.xyz, r6.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000)
movc r9.xyz, r11.xyzx, r9.xyzx, r10.xyzx
mad r6.yzw, -r6.yyzw, r7.xxyw, r9.xxyz
mad r6.yzw, r5.yyyy, r6.yyzw, r8.xxyz
mad r5.xy, r4.xyxx, cb3[21].xxxx, v2.xyxx
mov r2.w, l(1.000000)
mov r3.w, l(1.000000)
mov r4.w, l(1.000000)
mov r7.xyw, l(0,0,0,0)
loop
itof r8.x, r7.w
ge r8.x, r8.x, r1.w
breakc_nz r8.x
add r8.xy, r5.xyxx, r7.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r8.x, r8.xyxx, t0.xyzw, s0, l(0.000000)
lt r8.y, r2.w, r8.x
if_nz r8.y
add r8.y, r3.w, -r4.w
add r8.z, -r2.w, r8.x
add r8.y, r8.z, r8.y
div r8.y, r8.z, r8.y
mad r7.xy, -r8.yyyy, r5.zwzz, r7.xyxx
break
endif
add r8.y, -r0.w, r2.w
mad r7.xy, r4.xyxx, r0.wwww, r7.xyxx
iadd r7.w, r7.w, l(1)
mov r3.w, r2.w
mov r4.w, r8.x
mov r2.w, r8.y
endloop
add r4.xy, r5.xyxx, r7.xyxx
sample_indexable(texture2d)(float,float,float,float) r4.xyw, r4.xyxx, t5.xywz, s5
mul r4.xyw, r4.xyxw, cb3[23].wwww
div r3.xyz, r3.xyzx, cb3[25].yyyy
sample_indexable(texture2d)(float,float,float,float) r0.w, r3.xzxx, t6.yzwx, s6
sample_indexable(texture2d)(float,float,float,float) r1.w, r3.yzyy, t6.yzwx, s6
mad_sat r3.zw, |v1.xxxz|, l(0.000000, 0.000000, 3.000000, 3.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
add r1.w, -r0.w, r1.w
mad r0.w, r3.z, r1.w, r0.w
sample_indexable(texture2d)(float,float,float,float) r1.w, r3.xyxx, t6.yzwx, s6
add r1.w, -r0.w, r1.w
mad r0.w, r3.w, r1.w, r0.w
add r1.w, -cb3[19].x, cb3[25].z
mad_sat r0.w, r0.w, r1.w, cb3[19].x
mul_sat r0.w, r0.w, cb3[25].w
mad r3.xyz, cb3[17].xyzx, r4.xywx, -r6.yzwy
mad r3.xyz, r0.wwww, r3.xyzx, r6.yzwy
mul_sat r3.xyz, r3.xyzx, cb3[3].xyzx
add r0.w, -cb3[26].y, cb3[26].x
mad_sat r4.x, r6.x, r0.w, cb3[26].y
add r0.w, cb3[26].w, -cb3[27].x
mad_sat r0.w, r7.z, r0.w, cb3[27].x
mul r1.w, r4.z, cb3[27].y
exp_sat o3.w, r1.w
mov_sat r4.y, cb3[26].z
mad o2.z, r0.w, cb1[8].y, cb1[8].x
div r1.xy, r1.xyxx, r1.zzzz
add r1.xy, r1.xyxx, -cb0[26].xyxx
div r1.zw, v3.xxxy, v3.wwww
add r1.zw, r1.zzzw, -cb0[59].xxxy
add r1.xy, -r1.zwzz, r1.xyxx
mad r1.xy, r1.xyxx, l(0.249500, 0.249500, 0.000000, 0.000000), l(0.499992, 0.499992, 0.000000, 0.000000)
mul o5.xy, r1.xyxx, v3.zzzz
mov o5.zw, l(0,0,0,0)
mad r1.xyz, -r3.xyzx, r4.xxxx, r3.xyzx
mul r0.w, r4.y, l(0.080000)
mad r5.xyz, -r4.yyyy, l(0.080000, 0.080000, 0.080000, 0.000000), r3.xyzx
mad r5.xyz, r4.xxxx, r5.xyzx, r0.wwww
mad r1.xyz, r1.xyzx, cb1[5].wwww, cb1[5].xyzx
mad r5.xyz, r5.xyzx, cb1[6].wwww, cb1[6].xyzx
mad r1.xyz, r5.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), r1.xyzx
max r5.xyz, cb3[2].xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
lt r0.w, l(0.000000), cb1[9].x
if_nz r0.w
add r2.xyz, r2.xyzx, -cb0[56].xyzx
add r6.xyz, r2.xyzx, -cb2[8].xyzx
add r7.xyz, cb2[9].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
lt r6.xyz, r7.xyzx, |r6.xyzx|
or r0.w, r6.y, r6.x
or r0.w, r6.z, r0.w
dp3 r1.w, r2.xyzx, l(0.577000, 0.577000, 0.577000, 0.000000)
mul r1.w, r1.w, l(0.002000)
frc r1.w, r1.w
lt r1.w, l(0.500000), r1.w
movc r2.xyz, r1.wwww, l(0,1.000000,1.000000,0), l(1.000000,1.000000,0,0)
movc r5.xyz, r0.wwww, r2.xyzx, r5.xyzx
endif
mad o0.xyz, cb1[13].xxxx, r1.xyzx, r5.xyzx
mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
mov o0.w, l(0)
mov o1.w, cb2[11].x
mov o2.w, l(0.129412)
mov o2.xy, r4.xyxx
mov o3.xyz, r3.xyzx
mov o4.xyzw, l(1.000000,1.000000,1.000000,1.000000)
mov o6.xyzw, l(0,0,0,0)
ret
// Approximately 0 instruction slots used


Now I see what was inserted was this one of the few shader shadows found?? or was this a main PS shadow find?

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#94
Posted 08/03/2017 09:57 PM   
@The_Nephilim No, that shader fix some models issues. If remember correct i label all the shaders, they say "shadows"
@The_Nephilim
No, that shader fix some models issues.

If remember correct i label all the shaders, they say "shadows"

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#95
Posted 08/04/2017 12:22 AM   
yes they say shadows lights. I will relook again thank you so much for the help..
yes they say shadows lights. I will relook again thank you so much for the help..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#96
Posted 08/04/2017 12:55 AM   
OK I think I got it I had a few off looking shadows so I just disabled those for now. I was just wanting someone else to look at these shadows currently as they should be fixed?? Please have a look and let me know if they looked fixed. I think they are fixed but hard to tell for me anyhow..
OK I think I got it I had a few off looking shadows so I just disabled those for now. I was just wanting someone else to look at these shadows currently as they should be fixed??

Please have a look and let me know if they looked fixed. I think they are fixed but hard to tell for me anyhow..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#97
Posted 08/04/2017 02:05 AM   
Once again I appreciate your efforts but according to the attached image the problem is still not fixed.
Once again I appreciate your efforts
but according to the attached image the problem is still not fixed.

i7 8700K @4.9
GTX1080Ti
Asrock Z370 Gamming K6
Windows10 64bit
LG OLED UHD 3dtv 55E6K

#98
Posted 08/04/2017 06:11 AM   
@The_Nephilim From the previous fix this are the shaders related: - bd6dbeec10d3a1f2-vs_replace.txt --> VS fix Haloing - 9f7314cc6c5f7480-ps.txt --> PS fix position - 2086f85fd4bf1c89-ps.txt --> PS fix position - 8612b085be8642a8-ps.txt --> PS fix position You need to found the new shaders and use the same pattern code.
@The_Nephilim
From the previous fix this are the shaders related:

- bd6dbeec10d3a1f2-vs_replace.txt --> VS fix Haloing
- 9f7314cc6c5f7480-ps.txt --> PS fix position
- 2086f85fd4bf1c89-ps.txt --> PS fix position
- 8612b085be8642a8-ps.txt --> PS fix position

You need to found the new shaders and use the same pattern code.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#99
Posted 08/04/2017 06:51 PM   
Well that is the thing I did find 2 PS and 1 VS and applied the fix like you did I thought?? I will have another look thnx..
Well that is the thing I did find 2 PS and 1 VS and applied the fix like you did I thought?? I will have another look thnx..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/04/2017 09:35 PM   
OK here is your VS you found what was added to this: [code] // Main Shadows VS DHS.. cbuffer cb1 : register(b1) { float4 cb1[4]; } cbuffer cb0 : register(b0) { float4 cb0[7]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( uint v0 : SV_VertexID0, float3 v1 : ATTRIBUTE0, out float4 o0 : TEXCOORD0, out float4 o1 : SV_POSITION0) { // Needs manual fix for instruction: // unknown dcl_: dcl_input_sgv v0.x, vertex_id float4 r0,r1,r2,r3,r4; uint4 bitmask, uiDest; float4 fDest; r0.x = (uint)cb0[1].x; if (r0.x != 0) { r0.y = (uint)r0.x; r0.z = 3.14159274 / r0.y; r0.z = cos(r0.z); r0.z = 1 / r0.z; sincos(cb0[1].z, r1.x, r2.x); r0.w = cb0[1].w * r2.x; r1.x = r1.x / r2.x; r1.y = (uint)cb0[1].y; r1.z = (int)r0.x * (int)r1.y; r1.w = cmp((uint)v0.x < (uint)r1.z); if (r1.w != 0) { uiDest.x = (uint)v0.x / (uint)r0.x; r3.x = (uint)v0.x % (uint)r0.x; r2.x = uiDest.x; r1.w = (uint)r3.x << 1; r1.w = (uint)r1.w; r1.w = 3.14159274 * r1.w; r1.w = r1.w / r0.y; r2.x = (uint)r2.x; r2.x = r2.x * r0.w; r2.y = (int)r1.y + -1; r2.y = (uint)r2.y; r2.x = r2.x / r2.y; r2.y = r2.x * r1.x; r2.y = r2.y * r0.z; sincos(r1.w, r3.x, r4.x); r1.w = r3.x * r2.y; r2.y = r4.x * r2.y; r3.xyz = cb0[3].xyz * r1.www; r2.xzw = r2.xxx * cb0[2].xyz + r3.xyz; r2.xyz = r2.yyy * cb0[4].xyz + r2.xzw; r2.xyz = cb0[5].xyz + r2.xyz; r2.xyz = cb0[6].xyz + r2.xyz; } else { r0.w = r1.x * r0.w; r1.x = (int)v0.x + (int)-r1.z; uiDest.x = (uint)r1.x / (uint)r0.x; r1.x = (uint)r1.x % (uint)r0.x; r0.x = uiDest.x; r0.x = (uint)r0.x; r0.x = r0.w * r0.x; r0.w = (int)r1.y + -1; r0.w = (uint)r0.w; r0.x = r0.x / r0.w; r0.z = r0.x * r0.z; r0.x = r0.x * r0.x; r0.x = cb0[1].w * cb0[1].w + -r0.x; r0.x = sqrt(r0.x); r0.w = (uint)r1.x << 1; r0.w = (uint)r0.w; r0.w = 3.14159274 * r0.w; r0.y = r0.w / r0.y; sincos(r0.y, r1.x, r3.x); r0.y = r1.x * r0.z; r0.z = r3.x * r0.z; r1.xyz = cb0[3].xyz * r0.yyy; r0.xyw = r0.xxx * cb0[2].xyz + r1.xyz; r0.xyz = r0.zzz * cb0[4].xyz + r0.xyw; r0.xyz = cb0[5].xyz + r0.xyz; r2.xyz = cb0[6].xyz + r0.xyz; } } else { r2.xyz = v1.xyz * cb0[0].www + cb0[0].xyz; } r0.xyzw = cb1[1].xyzw * r2.yyyy; r0.xyzw = r2.xxxx * cb1[0].xyzw + r0.xyzw; r0.xyzw = r2.zzzz * cb1[2].xyzw + r0.xyzw; r0.xyzw = cb1[3].xyzw + r0.xyzw; o1.xyzw = r0.xyzw; float4 stereo = StereoParams.Load(0); if(r0.w != 1) { r0.x += stereo.x * (r0.w - stereo.y); } o0.xyzw = r0.xyzw; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original ASM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_VertexID 0 x 0 VERTID uint x // ATTRIBUTE 0 xyz 1 NONE float xyz // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xyzw 0 NONE float xyzw // SV_POSITION 0 xyzw 1 POS float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[7], immediateIndexed dcl_constantbuffer cb1[4], immediateIndexed dcl_input_sgv v0.x, vertex_id dcl_input v1.xyz dcl_output o0.xyzw dcl_output_siv o1.xyzw, position dcl_temps 5 ftou r0.x, cb0[1].x if_nz r0.x utof r0.y, r0.x div r0.z, l(3.141593), r0.y sincos null, r0.z, r0.z div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z sincos r1.x, r2.x, cb0[1].z mul r0.w, r2.x, cb0[1].w div r1.x, r1.x, r2.x ftou r1.y, cb0[1].y imul null, r1.z, r0.x, r1.y ult r1.w, v0.x, r1.z if_nz r1.w udiv r2.x, r3.x, v0.x, r0.x ishl r1.w, r3.x, l(1) utof r1.w, r1.w mul r1.w, r1.w, l(3.141593) div r1.w, r1.w, r0.y utof r2.x, r2.x mul r2.x, r0.w, r2.x iadd r2.y, r1.y, l(-1) utof r2.y, r2.y div r2.x, r2.x, r2.y mul r2.y, r1.x, r2.x mul r2.y, r0.z, r2.y sincos r3.x, r4.x, r1.w mul r1.w, r2.y, r3.x mul r2.y, r2.y, r4.x mul r3.xyz, r1.wwww, cb0[3].xyzx mad r2.xzw, r2.xxxx, cb0[2].xxyz, r3.xxyz mad r2.xyz, r2.yyyy, cb0[4].xyzx, r2.xzwx add r2.xyz, r2.xyzx, cb0[5].xyzx add r2.xyz, r2.xyzx, cb0[6].xyzx else mul r0.w, r0.w, r1.x iadd r1.x, v0.x, -r1.z udiv r0.x, r1.x, r1.x, r0.x utof r0.x, r0.x mul r0.x, r0.x, r0.w iadd r0.w, r1.y, l(-1) utof r0.w, r0.w div r0.x, r0.x, r0.w mul r0.z, r0.z, r0.x mul r0.x, r0.x, r0.x mad r0.x, cb0[1].w, cb0[1].w, -r0.x sqrt r0.x, r0.x ishl r0.w, r1.x, l(1) utof r0.w, r0.w mul r0.w, r0.w, l(3.141593) div r0.y, r0.w, r0.y sincos r1.x, r3.x, r0.y mul r0.y, r0.z, r1.x mul r0.z, r0.z, r3.x mul r1.xyz, r0.yyyy, cb0[3].xyzx mad r0.xyw, r0.xxxx, cb0[2].xyxz, r1.xyxz mad r0.xyz, r0.zzzz, cb0[4].xyzx, r0.xywx add r0.xyz, r0.xyzx, cb0[5].xyzx add r2.xyz, r0.xyzx, cb0[6].xyzx endif else mad r2.xyz, v1.xyzx, cb0[0].wwww, cb0[0].xyzx endif mul r0.xyzw, r2.yyyy, cb1[1].xyzw mad r0.xyzw, r2.xxxx, cb1[0].xyzw, r0.xyzw mad r0.xyzw, r2.zzzz, cb1[2].xyzw, r0.xyzw add r0.xyzw, r0.xyzw, cb1[3].xyzw mov o0.xyzw, r0.xyzw mov o1.xyzw, r0.xyzw ret // Approximately 0 instruction slots used [/code] I found 3 PS and 1 VS and I think I have the VS code wrong?? here is what I added on the VS I found: [code] // ---- Created with 3Dmigoto v1.2.61 on Thu Aug 03 21:22:33 2017 cbuffer cb1 : register(b1) { float4 cb1[3] : packoffset(c0); } cbuffer cb0 : register(b0) { float4 cb0[47] : packoffset(c0); } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float2 v0 : ATTRIBUTE0, float2 v1 : ATTRIBUTE1, out float4 o0 : TEXCOORD0, out float3 o1 : TEXCOORD1, out float4 o2 : SV_POSITION0) { float4 r0,r1; uint4 bitmask, uiDest; float4 fDest; r0.xy = v1.xy * cb1[1].xy + cb1[1].zw; o0.xy = cb1[2].zw * r0.xy; r0.xy = v0.xy * cb1[0].xy + cb1[0].zw; r0.xy = cb1[2].xy * r0.xy; r0.xy = r0.xy * float2(2,2) + float2(-1,-1); r0.xy = float2(1,-1) * r0.xy; r1.xyz = cb0[45].xyz * r0.yyy; r1.xyz = r0.xxx * cb0[44].xyz + r1.xyz; o2.xy = r0.xy; o1.xyz = cb0[46].xyz + r1.xyz; o2.zw = float2(0,1); float4 stereo = StereoParams.Load(0); if(r0.w != 1) { r0.x += stereo.x * (r0.w - stereo.y); } return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20499 // // using 3Dmigoto v1.2.61 on Thu Aug 03 21:22:33 2017 // // // Buffer Definitions: // // cbuffer cb1 // { // // float4 cb1[3]; // Offset: 0 Size: 48 // // } // // cbuffer cb0 // { // // float4 cb0[47]; // Offset: 0 Size: 752 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // cb0 cbuffer NA NA 0 1 // cb1 cbuffer NA NA 1 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // ATTRIBUTE 0 xy 0 NONE float xy // ATTRIBUTE 1 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xyzw 0 NONE float xy // TEXCOORD 1 xyz 1 NONE float xyz // SV_POSITION 0 xyzw 2 POS float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb1[3], immediateIndexed dcl_constantbuffer cb0[47], immediateIndexed dcl_input v0.xy dcl_input v1.xy dcl_output o0.xy dcl_output o1.xyz dcl_output_siv o2.xyzw, position dcl_temps 2 mad r0.xy, v1.xyxx, cb1[1].xyxx, cb1[1].zwzz mul o0.xy, r0.xyxx, cb1[2].zwzz mad r0.xy, v0.xyxx, cb1[0].xyxx, cb1[0].zwzz mul r0.xy, r0.xyxx, cb1[2].xyxx mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) mul r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000) mul r1.xyz, r0.yyyy, cb0[45].xyzx mad r1.xyz, r0.xxxx, cb0[44].xyzx, r1.xyzx mov o2.xy, r0.xyxx add o1.xyz, r1.xyzx, cb0[46].xyzx mov o2.zw, l(0,0,0,1.000000) ret // Approximately 12 instruction slots used [/code]
OK here is your VS you found what was added to this:


// Main Shadows VS  DHS..
cbuffer cb1 : register(b1)
{
float4 cb1[4];
}

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




// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
uint v0 : SV_VertexID0,
float3 v1 : ATTRIBUTE0,
out float4 o0 : TEXCOORD0,
out float4 o1 : SV_POSITION0)
{
// Needs manual fix for instruction:
// unknown dcl_: dcl_input_sgv v0.x, vertex_id
float4 r0,r1,r2,r3,r4;
uint4 bitmask, uiDest;
float4 fDest;

r0.x = (uint)cb0[1].x;
if (r0.x != 0) {
r0.y = (uint)r0.x;
r0.z = 3.14159274 / r0.y;
r0.z = cos(r0.z);
r0.z = 1 / r0.z;
sincos(cb0[1].z, r1.x, r2.x);
r0.w = cb0[1].w * r2.x;
r1.x = r1.x / r2.x;
r1.y = (uint)cb0[1].y;
r1.z = (int)r0.x * (int)r1.y;
r1.w = cmp((uint)v0.x < (uint)r1.z);
if (r1.w != 0) {
uiDest.x = (uint)v0.x / (uint)r0.x;
r3.x = (uint)v0.x % (uint)r0.x;
r2.x = uiDest.x;
r1.w = (uint)r3.x << 1;
r1.w = (uint)r1.w;
r1.w = 3.14159274 * r1.w;
r1.w = r1.w / r0.y;
r2.x = (uint)r2.x;
r2.x = r2.x * r0.w;
r2.y = (int)r1.y + -1;
r2.y = (uint)r2.y;
r2.x = r2.x / r2.y;
r2.y = r2.x * r1.x;
r2.y = r2.y * r0.z;
sincos(r1.w, r3.x, r4.x);
r1.w = r3.x * r2.y;
r2.y = r4.x * r2.y;
r3.xyz = cb0[3].xyz * r1.www;
r2.xzw = r2.xxx * cb0[2].xyz + r3.xyz;
r2.xyz = r2.yyy * cb0[4].xyz + r2.xzw;
r2.xyz = cb0[5].xyz + r2.xyz;
r2.xyz = cb0[6].xyz + r2.xyz;
} else {
r0.w = r1.x * r0.w;
r1.x = (int)v0.x + (int)-r1.z;
uiDest.x = (uint)r1.x / (uint)r0.x;
r1.x = (uint)r1.x % (uint)r0.x;
r0.x = uiDest.x;
r0.x = (uint)r0.x;
r0.x = r0.w * r0.x;
r0.w = (int)r1.y + -1;
r0.w = (uint)r0.w;
r0.x = r0.x / r0.w;
r0.z = r0.x * r0.z;
r0.x = r0.x * r0.x;
r0.x = cb0[1].w * cb0[1].w + -r0.x;
r0.x = sqrt(r0.x);
r0.w = (uint)r1.x << 1;
r0.w = (uint)r0.w;
r0.w = 3.14159274 * r0.w;
r0.y = r0.w / r0.y;
sincos(r0.y, r1.x, r3.x);
r0.y = r1.x * r0.z;
r0.z = r3.x * r0.z;
r1.xyz = cb0[3].xyz * r0.yyy;
r0.xyw = r0.xxx * cb0[2].xyz + r1.xyz;
r0.xyz = r0.zzz * cb0[4].xyz + r0.xyw;
r0.xyz = cb0[5].xyz + r0.xyz;
r2.xyz = cb0[6].xyz + r0.xyz;
}
} else {
r2.xyz = v1.xyz * cb0[0].www + cb0[0].xyz;
}
r0.xyzw = cb1[1].xyzw * r2.yyyy;
r0.xyzw = r2.xxxx * cb1[0].xyzw + r0.xyzw;
r0.xyzw = r2.zzzz * cb1[2].xyzw + r0.xyzw;
r0.xyzw = cb1[3].xyzw + r0.xyzw;

o1.xyzw = r0.xyzw;

float4 stereo = StereoParams.Load(0);
if(r0.w != 1) {
r0.x += stereo.x * (r0.w - stereo.y);
}

o0.xyzw = r0.xyzw;

return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original ASM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_VertexID 0 x 0 VERTID uint x
// ATTRIBUTE 0 xyz 1 NONE float xyz
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 0 xyzw 0 NONE float xyzw
// SV_POSITION 0 xyzw 1 POS float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[7], immediateIndexed
dcl_constantbuffer cb1[4], immediateIndexed
dcl_input_sgv v0.x, vertex_id
dcl_input v1.xyz
dcl_output o0.xyzw
dcl_output_siv o1.xyzw, position
dcl_temps 5
ftou r0.x, cb0[1].x
if_nz r0.x
utof r0.y, r0.x
div r0.z, l(3.141593), r0.y
sincos null, r0.z, r0.z
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
sincos r1.x, r2.x, cb0[1].z
mul r0.w, r2.x, cb0[1].w
div r1.x, r1.x, r2.x
ftou r1.y, cb0[1].y
imul null, r1.z, r0.x, r1.y
ult r1.w, v0.x, r1.z
if_nz r1.w
udiv r2.x, r3.x, v0.x, r0.x
ishl r1.w, r3.x, l(1)
utof r1.w, r1.w
mul r1.w, r1.w, l(3.141593)
div r1.w, r1.w, r0.y
utof r2.x, r2.x
mul r2.x, r0.w, r2.x
iadd r2.y, r1.y, l(-1)
utof r2.y, r2.y
div r2.x, r2.x, r2.y
mul r2.y, r1.x, r2.x
mul r2.y, r0.z, r2.y
sincos r3.x, r4.x, r1.w
mul r1.w, r2.y, r3.x
mul r2.y, r2.y, r4.x
mul r3.xyz, r1.wwww, cb0[3].xyzx
mad r2.xzw, r2.xxxx, cb0[2].xxyz, r3.xxyz
mad r2.xyz, r2.yyyy, cb0[4].xyzx, r2.xzwx
add r2.xyz, r2.xyzx, cb0[5].xyzx
add r2.xyz, r2.xyzx, cb0[6].xyzx
else
mul r0.w, r0.w, r1.x
iadd r1.x, v0.x, -r1.z
udiv r0.x, r1.x, r1.x, r0.x
utof r0.x, r0.x
mul r0.x, r0.x, r0.w
iadd r0.w, r1.y, l(-1)
utof r0.w, r0.w
div r0.x, r0.x, r0.w
mul r0.z, r0.z, r0.x
mul r0.x, r0.x, r0.x
mad r0.x, cb0[1].w, cb0[1].w, -r0.x
sqrt r0.x, r0.x
ishl r0.w, r1.x, l(1)
utof r0.w, r0.w
mul r0.w, r0.w, l(3.141593)
div r0.y, r0.w, r0.y
sincos r1.x, r3.x, r0.y
mul r0.y, r0.z, r1.x
mul r0.z, r0.z, r3.x
mul r1.xyz, r0.yyyy, cb0[3].xyzx
mad r0.xyw, r0.xxxx, cb0[2].xyxz, r1.xyxz
mad r0.xyz, r0.zzzz, cb0[4].xyzx, r0.xywx
add r0.xyz, r0.xyzx, cb0[5].xyzx
add r2.xyz, r0.xyzx, cb0[6].xyzx
endif
else
mad r2.xyz, v1.xyzx, cb0[0].wwww, cb0[0].xyzx
endif
mul r0.xyzw, r2.yyyy, cb1[1].xyzw
mad r0.xyzw, r2.xxxx, cb1[0].xyzw, r0.xyzw
mad r0.xyzw, r2.zzzz, cb1[2].xyzw, r0.xyzw
add r0.xyzw, r0.xyzw, cb1[3].xyzw
mov o0.xyzw, r0.xyzw
mov o1.xyzw, r0.xyzw
ret
// Approximately 0 instruction slots used


I found 3 PS and 1 VS and I think I have the VS code wrong??

here is what I added on the VS I found:


// ---- Created with 3Dmigoto v1.2.61 on Thu Aug 03 21:22:33 2017

cbuffer cb1 : register(b1)
{
float4 cb1[3] : packoffset(c0);
}

cbuffer cb0 : register(b0)
{
float4 cb0[47] : packoffset(c0);
}



// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
float2 v0 : ATTRIBUTE0,
float2 v1 : ATTRIBUTE1,
out float4 o0 : TEXCOORD0,
out float3 o1 : TEXCOORD1,
out float4 o2 : SV_POSITION0)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = v1.xy * cb1[1].xy + cb1[1].zw;
o0.xy = cb1[2].zw * r0.xy;
r0.xy = v0.xy * cb1[0].xy + cb1[0].zw;
r0.xy = cb1[2].xy * r0.xy;
r0.xy = r0.xy * float2(2,2) + float2(-1,-1);
r0.xy = float2(1,-1) * r0.xy;
r1.xyz = cb0[45].xyz * r0.yyy;
r1.xyz = r0.xxx * cb0[44].xyz + r1.xyz;
o2.xy = r0.xy;
o1.xyz = cb0[46].xyz + r1.xyz;
o2.zw = float2(0,1);




float4 stereo = StereoParams.Load(0);
if(r0.w != 1) {
r0.x += stereo.x * (r0.w - stereo.y);
}






return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20499
//
// using 3Dmigoto v1.2.61 on Thu Aug 03 21:22:33 2017
//
//
// Buffer Definitions:
//
// cbuffer cb1
// {
//
// float4 cb1[3]; // Offset: 0 Size: 48
//
// }
//
// cbuffer cb0
// {
//
// float4 cb0[47]; // Offset: 0 Size: 752
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// cb0 cbuffer NA NA 0 1
// cb1 cbuffer NA NA 1 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// ATTRIBUTE 0 xy 0 NONE float xy
// ATTRIBUTE 1 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 0 xyzw 0 NONE float xy
// TEXCOORD 1 xyz 1 NONE float xyz
// SV_POSITION 0 xyzw 2 POS float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[3], immediateIndexed
dcl_constantbuffer cb0[47], immediateIndexed
dcl_input v0.xy
dcl_input v1.xy
dcl_output o0.xy
dcl_output o1.xyz
dcl_output_siv o2.xyzw, position
dcl_temps 2
mad r0.xy, v1.xyxx, cb1[1].xyxx, cb1[1].zwzz
mul o0.xy, r0.xyxx, cb1[2].zwzz
mad r0.xy, v0.xyxx, cb1[0].xyxx, cb1[0].zwzz
mul r0.xy, r0.xyxx, cb1[2].xyxx
mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
mul r1.xyz, r0.yyyy, cb0[45].xyzx
mad r1.xyz, r0.xxxx, cb0[44].xyzx, r1.xyzx
mov o2.xy, r0.xyxx
add o1.xyz, r1.xyzx, cb0[46].xyzx
mov o2.zw, l(0,0,0,1.000000)
ret
// Approximately 12 instruction slots used

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/04/2017 09:41 PM   
That's not the correct VS....if you compare both there very different codes. You need to find a exact shaders (or very similar).
That's not the correct VS....if you compare both there very different codes. You need to find a exact shaders (or very similar).

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

Posted 08/04/2017 09:50 PM   
OK I will have another look.. this is harder then I thought it was going to be ;) LOL!!
OK I will have another look.. this is harder then I thought it was going to be ;) LOL!!

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/04/2017 10:58 PM   
OK I basically only see 2 VS for Shadows. these two all the shadows dissappear on both VS when hunted: 0d9840e965264bde- [code]// ---- Created with 3Dmigoto v1.2.61 on Fri Aug 04 19:15:02 2017 // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : ATTRIBUTE0, out float4 o0 : SV_POSITION0) { o0.xyz = v0.xyz; o0.w = 1; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.61 on Fri Aug 04 19:15:02 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // ATTRIBUTE 0 xyzw 0 NONE float xyz // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_input v0.xyz dcl_output_siv o0.xyzw, position mov o0.xyz, v0.xyzx mov o0.w, l(1.000000) ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] [b] this is the other 400e80650a666f15 [/b] [code] // ---- Created with 3Dmigoto v1.2.61 on Fri Aug 04 19:02:48 2017 cbuffer cb1 : register(b1) { float4 cb1[3]; } cbuffer cb0 : register(b0) { float4 cb0[47]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float2 v0 : ATTRIBUTE0, float2 v1 : ATTRIBUTE1, out float4 o0 : TEXCOORD0, out float3 o1 : TEXCOORD1, out float4 o2 : SV_POSITION0) { float4 r0,r1; uint4 bitmask, uiDest; float4 fDest; r0.xy = v1.xy * cb1[1].xy + cb1[1].zw; o0.xy = cb1[2].zw * r0.xy; r0.xy = v0.xy * cb1[0].xy + cb1[0].zw; r0.xy = cb1[2].xy * r0.xy; r0.xy = r0.xy * float2(2,2) + float2(-1,-1); r0.xy = float2(1,-1) * r0.xy; r1.xyz = cb0[45].xyz * r0.yyy; r1.xyz = r0.xxx * cb0[44].xyz + r1.xyz; o2.xy = r0.xy; o1.xyz = cb0[46].xyz + r1.xyz; o2.zw = float2(0,1); float4 stereo = StereoParams.Load(0); if(r0.w != 1) { r0.x += stereo.x * (r0.w - stereo.y); } return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.61 on Fri Aug 04 19:02:48 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // ATTRIBUTE 0 xy 0 NONE float xy // ATTRIBUTE 1 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xy 0 NONE float xy // TEXCOORD 1 xyz 1 NONE float xyz // SV_POSITION 0 xyzw 2 POS float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[47], immediateIndexed dcl_constantbuffer cb1[3], immediateIndexed dcl_input v0.xy dcl_input v1.xy dcl_output o0.xy dcl_output o1.xyz dcl_output_siv o2.xyzw, position dcl_temps 2 mad r0.xy, v1.xyxx, cb1[1].xyxx, cb1[1].zwzz mul o0.xy, r0.xyxx, cb1[2].zwzz mad r0.xy, v0.xyxx, cb1[0].xyxx, cb1[0].zwzz mul r0.xy, r0.xyxx, cb1[2].xyxx mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) mul r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000) mul r1.xyz, r0.yyyy, cb0[45].xyzx mad r1.xyz, r0.xxxx, cb0[44].xyzx, r1.xyzx mov o2.xy, r0.xyxx add o1.xyz, r1.xyzx, cb0[46].xyzx mov o2.zw, l(0,0,0,1.000000) ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Now to be sure I am doing this right when I find the correct shader will all the Shadows dissappear or will the entire screen go black?? I thought I am doing this right but I may be missing something here..
OK I basically only see 2 VS for Shadows. these two all the shadows dissappear on both VS when hunted:


0d9840e965264bde-

// ---- Created with 3Dmigoto v1.2.61 on Fri Aug 04 19:15:02 2017



// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
float4 v0 : ATTRIBUTE0,
out float4 o0 : SV_POSITION0)
{
o0.xyz = v0.xyz;
o0.w = 1;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.61 on Fri Aug 04 19:15:02 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// ATTRIBUTE 0 xyzw 0 NONE float xyz
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_input v0.xyz
dcl_output_siv o0.xyzw, position
mov o0.xyz, v0.xyzx
mov o0.w, l(1.000000)
ret
// Approximately 0 instruction slots used

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




this is the other 400e80650a666f15

// ---- Created with 3Dmigoto v1.2.61 on Fri Aug 04 19:02:48 2017
cbuffer cb1 : register(b1)
{
float4 cb1[3];
}

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




// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
float2 v0 : ATTRIBUTE0,
float2 v1 : ATTRIBUTE1,
out float4 o0 : TEXCOORD0,
out float3 o1 : TEXCOORD1,
out float4 o2 : SV_POSITION0)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = v1.xy * cb1[1].xy + cb1[1].zw;
o0.xy = cb1[2].zw * r0.xy;
r0.xy = v0.xy * cb1[0].xy + cb1[0].zw;
r0.xy = cb1[2].xy * r0.xy;
r0.xy = r0.xy * float2(2,2) + float2(-1,-1);
r0.xy = float2(1,-1) * r0.xy;
r1.xyz = cb0[45].xyz * r0.yyy;
r1.xyz = r0.xxx * cb0[44].xyz + r1.xyz;
o2.xy = r0.xy;
o1.xyz = cb0[46].xyz + r1.xyz;
o2.zw = float2(0,1);


float4 stereo = StereoParams.Load(0);
if(r0.w != 1) {
r0.x += stereo.x * (r0.w - stereo.y);
}



return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.61 on Fri Aug 04 19:02:48 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// ATTRIBUTE 0 xy 0 NONE float xy
// ATTRIBUTE 1 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 0 xy 0 NONE float xy
// TEXCOORD 1 xyz 1 NONE float xyz
// SV_POSITION 0 xyzw 2 POS float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[47], immediateIndexed
dcl_constantbuffer cb1[3], immediateIndexed
dcl_input v0.xy
dcl_input v1.xy
dcl_output o0.xy
dcl_output o1.xyz
dcl_output_siv o2.xyzw, position
dcl_temps 2
mad r0.xy, v1.xyxx, cb1[1].xyxx, cb1[1].zwzz
mul o0.xy, r0.xyxx, cb1[2].zwzz
mad r0.xy, v0.xyxx, cb1[0].xyxx, cb1[0].zwzz
mul r0.xy, r0.xyxx, cb1[2].xyxx
mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
mul r1.xyz, r0.yyyy, cb0[45].xyzx
mad r1.xyz, r0.xxxx, cb0[44].xyzx, r1.xyzx
mov o2.xy, r0.xyxx
add o1.xyz, r1.xyzx, cb0[46].xyzx
mov o2.zw, l(0,0,0,1.000000)
ret
// Approximately 0 instruction slots used

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


Now to be sure I am doing this right when I find the correct shader will all the Shadows dissappear or will the entire screen go black?? I thought I am doing this right but I may be missing something here..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/04/2017 11:21 PM   
OK I looked back on this thread and 400 is not the correct one.. the other one can not be correct either but they are the ONLY 2 that the shadows completely dissappear on.. I tried 2 others where water appeared but they did not seem to be the correct ones either.. I am simply not understanding how DHR found the VS shader before and I can not find it now.. this is too wierd but I am going to take a break for a bit and dwell on what I am doing..
OK I looked back on this thread and 400 is not the correct one.. the other one can not be correct either but they are the ONLY 2 that the shadows completely dissappear on..

I tried 2 others where water appeared but they did not seem to be the correct ones either..

I am simply not understanding how DHR found the VS shader before and I can not find it now.. this is too wierd but I am going to take a break for a bit and dwell on what I am doing..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/05/2017 02:44 AM   
  7 / 12    
Scroll To Top