Battlefield 1 - 3D vision
  2 / 12    
What an amazing game this is. It's the first game to pull me away from Doom. Can't wait for the full game. Playing this in 3D would be awesome. You might as well have a go at fixing it as it's the new frostbite engine that they'll be using for the next starwars game (including single player campaign) as well as God knows how many other games. I noticed some console setting for inter pupillary distance, so it looks like they might be experimenting with VR aswell as 3D. The dogfighting in the planes are mega.
What an amazing game this is. It's the first game to pull me away from Doom.
Can't wait for the full game.
Playing this in 3D would be awesome.
You might as well have a go at fixing it as it's the new frostbite engine that they'll be using for the next starwars game (including single player campaign) as well as God knows how many other games.
I noticed some console setting for inter pupillary distance, so it looks like they might be experimenting with VR aswell as 3D.
The dogfighting in the planes are mega.

#16
Posted 09/04/2016 10:50 AM   
Yesterday night i install the Open Beta of this game to play with a friend....I fix the Open Beta, but there is one shadows shader i can't hunt....i also do a batch fix (i can't properly hunt in MP...well i die) and even with the batch i can't catch the shader....is one shadow that is present when you select the location in the battle map and also is present in the mountains when you are playing. The rest is all OK. The game is a copy-paste of Battlefront...but different secenario....will be easier to add a DLC to Battefront...LOL....this game will have a single player campaign or not?
Yesterday night i install the Open Beta of this game to play with a friend....I fix the Open Beta, but there is one shadows shader i can't hunt....i also do a batch fix (i can't properly hunt in MP...well i die) and even with the batch i can't catch the shader....is one shadow that is present when you select the location in the battle map and also is present in the mountains when you are playing. The rest is all OK.

The game is a copy-paste of Battlefront...but different secenario....will be easier to add a DLC to Battefront...LOL....this game will have a single player campaign or not?

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

#17
Posted 09/04/2016 01:44 PM   
Nice one DHR. Yes the game will have a single player campaign. So you have it working apart from one shader (that you can't find) Can't anyone else have a go at finding the shader? If there's only one it shouldn't take too long surely? It's not one of those async compute lights that Helifax was on about from starwars was it? Looks like all games are starting to use these async compute methods these days. Are they impossible to fix or just too time consuming or what?
Nice one DHR.
Yes the game will have a single player campaign.
So you have it working apart from one shader (that you can't find)
Can't anyone else have a go at finding the shader? If there's only one it shouldn't take too long surely?
It's not one of those async compute lights that Helifax was on about from starwars was it?
Looks like all games are starting to use these async compute methods these days.
Are they impossible to fix or just too time consuming or what?

#18
Posted 09/04/2016 02:37 PM   
Nothing is impossible :) However I did try it on SW:Battlefront quite a LOT to fix it and I wasn't able to:( Problem was it only appeared in one eye. Tried all the magic from the Nvidia driver yet it was always this case:(
Nothing is impossible :)
However I did try it on SW:Battlefront quite a LOT to fix it and I wasn't able to:(
Problem was it only appeared in one eye. Tried all the magic from the Nvidia driver yet it was always this case:(

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

#19
Posted 09/04/2016 02:40 PM   
[quote="DHR"]Yesterday night i install the Open Beta of this game to play with a friend....I fix the Open Beta, but there is one shadows shader i can't hunt....i also do a batch fix (i can't properly hunt in MP...well i die) and even with the batch i can't catch the shader....is one shadow that is present when you select the location in the battle map and also is present in the mountains when you are playing. The rest is all OK. The game is a copy-paste of Battlefront...but different secenario....will be easier to add a DLC to Battefront...LOL....this game will have a single player campaign or not?[/quote] You could try entering on an empty server.
DHR said:Yesterday night i install the Open Beta of this game to play with a friend....I fix the Open Beta, but there is one shadows shader i can't hunt....i also do a batch fix (i can't properly hunt in MP...well i die) and even with the batch i can't catch the shader....is one shadow that is present when you select the location in the battle map and also is present in the mountains when you are playing. The rest is all OK.

The game is a copy-paste of Battlefront...but different secenario....will be easier to add a DLC to Battefront...LOL....this game will have a single player campaign or not?


You could try entering on an empty server.

Intel i7 8086K
Gigabyte GTX 1080Ti Aorus Extreme
DDR4 2x8gb 3200mhz Cl14
TV LG OLED65E6V
Windows 10 64bits

#20
Posted 09/04/2016 03:39 PM   
Respect. I can't wait to try out your fix. I was unfortunately not so lucky. But I also don't understand the whole linking between the file and the shader. Battlefront is really great in 3D and also Battlefield 4 is not so bad, playing it in 3D. I guess Battlefield 1 with a campagne would be a day one purchase for me, if playable in 3D. :) Good job DHR.
Respect. I can't wait to try out your fix. I was unfortunately not so lucky. But I also don't understand the whole linking between the file and the shader. Battlefront is really great in 3D and also Battlefield 4 is not so bad, playing it in 3D. I guess Battlefield 1 with a campagne would be a day one purchase for me, if playable in 3D. :) Good job DHR.

Intel Core i7-3820, 4 X 3,60 GHz overclocked to 4,50 GHz ; EVGA Titan X 12VRAM ; 16 GB Corsair Vengeance DDR-1600 (4x 4 GB) ; Asus VG278H 27-inch incl. 3D vision 2 glasses, integrated transmitter ; Xbox One Elite wireless controller ; Windows 10HTC VIVE 2,5 m2 roomscale3D VISION GAMERS - VISIT ME ON STEAM and feel free to add me: http://steamcommunity.com/profiles/76561198064106555 YOUTUBE: https://www.youtube.com/channel/UC1UE5TPoF0HX0HVpF_E4uPQ STEAM CURATOR: https://store.steampowered.com/curator/33611530-Streaming-Deluxe/ Image

#21
Posted 09/04/2016 04:20 PM   
[u]Open Beta fix:[/u] [url]https://s3.amazonaws.com/dhr/Battlefield.1.Open.Beta.3DFix.zip[/url] - Change the profile for the same profile in StarWars Battlefront thread. - Disable CM (AKA Fake 3D) the first time. - Have that one shader unfixed yet....is not that bad, but you can see it time to time. [u]Preset:[/u] - "P" key for recommended convegence - "O" key for different HUD depth
Open Beta fix:
https://s3.amazonaws.com/dhr/Battlefield.1.Open.Beta.3DFix.zip

- Change the profile for the same profile in StarWars Battlefront thread.
- Disable CM (AKA Fake 3D) the first time.
- Have that one shader unfixed yet....is not that bad, but you can see it time to time.

Preset:
- "P" key for recommended convegence
- "O" key for different HUD depth

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

#22
Posted 09/04/2016 08:26 PM   
Thanks DHR. That's so cool. Check out this picture, I don't know what I am doing wrong. - Used the Battlefront profile and made this one out of it. - Installed as normal the fix. CM works fine. I don't use the latest driver. [code]Profile "Battlefield 1" ShowOn GeForce ProfileType Application Executable "bf1.exe" Setting ID_0x005f5a32 = 0x00000003 Setting ID_0x00a06746 = 0x00010000 Setting ID_0x00a06946 = 0x080116f5 Setting ID_0x00c96f61 = 0x0000000f Setting ID_0x00f713bc = 0x00000700 Setting ID_0x1033cec2 = 0x00000002 Setting ID_0x1033dcd3 = 0x00000004 Setting ID_0x1034cb89 = 0x00000000 Setting ID_0x10ecdb82 = 0x00000005 Setting ID_0x701eb457 = 0x2241ab21 InternalSettingFlag=V0 SettingString ID_0x7049c7ec = "웪ꑌ" InternalSettingFlag=V0 SettingString ID_0x7051e5f5 = "籪鸙" InternalSettingFlag=V0 Setting ID_0x709a1ddf = 0x4b1cd968 InternalSettingFlag=V0 SettingString ID_0x70b5603f = "D3D" Setting ID_0x70edb381 = 0x24208b6c InternalSettingFlag=V0 Setting ID_0x702442fc = 0x1c22fe24 InternalSettingFlag=V0 Setting ID_0x708db8c5 = 0x5d18eaa2 InternalSettingFlag=V0 Setting ID_0x709adada = 0x37f58357 InternalSettingFlag=V0 EndProfile[/code] [img]https://forums.geforce.com/cmd/default/download-comment-attachment/70094/[/img]
Thanks DHR. That's so cool.

Check out this picture, I don't know what I am doing wrong.

- Used the Battlefront profile and made this one out of it.
- Installed as normal the fix.

CM works fine. I don't use the latest driver.

Profile "Battlefield 1"
ShowOn GeForce
ProfileType Application
Executable "bf1.exe"
Setting ID_0x005f5a32 = 0x00000003
Setting ID_0x00a06746 = 0x00010000
Setting ID_0x00a06946 = 0x080116f5
Setting ID_0x00c96f61 = 0x0000000f
Setting ID_0x00f713bc = 0x00000700
Setting ID_0x1033cec2 = 0x00000002
Setting ID_0x1033dcd3 = 0x00000004
Setting ID_0x1034cb89 = 0x00000000
Setting ID_0x10ecdb82 = 0x00000005
Setting ID_0x701eb457 = 0x2241ab21 InternalSettingFlag=V0
SettingString ID_0x7049c7ec = "웪ꑌ" InternalSettingFlag=V0
SettingString ID_0x7051e5f5 = "籪鸙" InternalSettingFlag=V0
Setting ID_0x709a1ddf = 0x4b1cd968 InternalSettingFlag=V0
SettingString ID_0x70b5603f = "D3D"
Setting ID_0x70edb381 = 0x24208b6c InternalSettingFlag=V0
Setting ID_0x702442fc = 0x1c22fe24 InternalSettingFlag=V0
Setting ID_0x708db8c5 = 0x5d18eaa2 InternalSettingFlag=V0
Setting ID_0x709adada = 0x37f58357 InternalSettingFlag=V0
EndProfile


Image
Attachments

bf114_50.jps

Intel Core i7-3820, 4 X 3,60 GHz overclocked to 4,50 GHz ; EVGA Titan X 12VRAM ; 16 GB Corsair Vengeance DDR-1600 (4x 4 GB) ; Asus VG278H 27-inch incl. 3D vision 2 glasses, integrated transmitter ; Xbox One Elite wireless controller ; Windows 10HTC VIVE 2,5 m2 roomscale3D VISION GAMERS - VISIT ME ON STEAM and feel free to add me: http://steamcommunity.com/profiles/76561198064106555 YOUTUBE: https://www.youtube.com/channel/UC1UE5TPoF0HX0HVpF_E4uPQ STEAM CURATOR: https://store.steampowered.com/curator/33611530-Streaming-Deluxe/ Image

#23
Posted 09/04/2016 09:19 PM   
In comparison Battlefront looks like this for me: [img]https://forums.geforce.com/cmd/default/download-comment-attachment/70095/[/img]
In comparison Battlefront looks like this for me:

Image

Intel Core i7-3820, 4 X 3,60 GHz overclocked to 4,50 GHz ; EVGA Titan X 12VRAM ; 16 GB Corsair Vengeance DDR-1600 (4x 4 GB) ; Asus VG278H 27-inch incl. 3D vision 2 glasses, integrated transmitter ; Xbox One Elite wireless controller ; Windows 10HTC VIVE 2,5 m2 roomscale3D VISION GAMERS - VISIT ME ON STEAM and feel free to add me: http://steamcommunity.com/profiles/76561198064106555 YOUTUBE: https://www.youtube.com/channel/UC1UE5TPoF0HX0HVpF_E4uPQ STEAM CURATOR: https://store.steampowered.com/curator/33611530-Streaming-Deluxe/ Image

#24
Posted 09/04/2016 09:35 PM   
Thank you for the fix!!! HBAO introduces aditional shadow artefacts but SSAO works. Besides the shadow you talked about I saw some problems with fire rendering in slight different color in each eye.
Thank you for the fix!!!
HBAO introduces aditional shadow artefacts but SSAO works.

Besides the shadow you talked about I saw some problems with fire rendering in slight different color in each eye.
Attachments

bf101_50.jps

Intel i7 8086K
Gigabyte GTX 1080Ti Aorus Extreme
DDR4 2x8gb 3200mhz Cl14
TV LG OLED65E6V
Windows 10 64bits

#25
Posted 09/04/2016 09:55 PM   
[img]https://forums.geforce.com/cmd/default/download-comment-attachment/70097/[/img]
Image

http://photos.3dvisionlive.com/chtiblue/album/530b52d4cb85770d6e000049/3Dvision with 49" Philips 49PUS7100 interlieved 3D (3840x2160) overide mode, GTX 1080 GFA2 EXOC, core i5 @4.3GHz, 16Gb@2130, windows 7&10 64bit, Dolby Atmos 5.1.4 Marantz 6010 AVR

#26
Posted 09/04/2016 10:05 PM   
@mrorange55 Very strange...i'm using the 368.81 driver version and win7 (maybe is win10? or maybe the profile is not imported correctly). For the screenshoot something is very wrong, for example you have the sky wrong...look at the joker18 screenthos, the sky is aligned to the screen in the left side (I fix the side clipping in the sky like Battlefront). @joker18 I will check fire, but i don't remember seen that issue.
@mrorange55
Very strange...i'm using the 368.81 driver version and win7 (maybe is win10? or maybe the profile is not imported correctly). For the screenshoot something is very wrong, for example you have the sky wrong...look at the joker18 screenthos, the sky is aligned to the screen in the left side (I fix the side clipping in the sky like Battlefront).


@joker18
I will check fire, but i don't remember seen that issue.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

#27
Posted 09/04/2016 11:29 PM   
[quote="DHR"]@mrorange55 Very strange...i'm using the 368.81 driver version and win7 (maybe is win10? or maybe the profile is not imported correctly). For the screenshoot something is very wrong, for example you have the sky wrong...look at the joker18 screenthos, the sky is aligned to the screen in the left side (I fix the side clipping in the sky like Battlefront). [/quote] I use driver 368.69, I had no BF1 entry in the profile at all so I created the one above. But this should not be the problem I guess, because the CM works fine with profile I created. Could you please post your profile, so I can check if I did something wrong on mine. If this is not helping, then it seems I have to update the driver to see if it changes. Or just redownload everything and start the process again. Somestimes this helps.
DHR said:@mrorange55
Very strange...i'm using the 368.81 driver version and win7 (maybe is win10? or maybe the profile is not imported correctly). For the screenshoot something is very wrong, for example you have the sky wrong...look at the joker18 screenthos, the sky is aligned to the screen in the left side (I fix the side clipping in the sky like Battlefront).


I use driver 368.69, I had no BF1 entry in the profile at all so I created the one above. But this should not be the problem I guess, because the CM works fine with profile I created. Could you please post your profile, so I can check if I did something wrong on mine. If this is not helping, then it seems I have to update the driver to see if it changes. Or just redownload everything and start the process again. Somestimes this helps.

Intel Core i7-3820, 4 X 3,60 GHz overclocked to 4,50 GHz ; EVGA Titan X 12VRAM ; 16 GB Corsair Vengeance DDR-1600 (4x 4 GB) ; Asus VG278H 27-inch incl. 3D vision 2 glasses, integrated transmitter ; Xbox One Elite wireless controller ; Windows 10HTC VIVE 2,5 m2 roomscale3D VISION GAMERS - VISIT ME ON STEAM and feel free to add me: http://steamcommunity.com/profiles/76561198064106555 YOUTUBE: https://www.youtube.com/channel/UC1UE5TPoF0HX0HVpF_E4uPQ STEAM CURATOR: https://store.steampowered.com/curator/33611530-Streaming-Deluxe/ Image

#28
Posted 09/04/2016 11:39 PM   
The profile you are using is the correct one....maybe try to re-install driver using DDU and import again. This seems to a driver related issue.
The profile you are using is the correct one....maybe try to re-install driver using DDU and import again. This seems to a driver related issue.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

#29
Posted 09/04/2016 11:58 PM   
I found the shader....is related to light reflections, BUT is not working properly in HLSL (decompiler issue?). When i dump i see some white stuff all over the screen...pressing F9 make the issue disappear. Pressing F10 i can hear the good beep. This is the shader. [b]bo3b can you take a look? :)[/b] [code]// Reflections Lights cbuffer CommonConstants : register(b0) { float4x4 g_invViewProjMatrix : packoffset(c0); float3 g_cameraPos : packoffset(c4); uint g_forceSplitLighting : packoffset(c4.w); float4 g_exposureMultipliers : packoffset(c5); float2 g_invScreenSize : packoffset(c6); float g_distantIblMipmapBias : packoffset(c6.z); uint g_distantIBLArrayLayerCount : packoffset(c6.w); uint g_distantIBLLatLongWidth : packoffset(c7); uint g_distantIBLLatLongHeight : packoffset(c7.y); uint g_distantIBLRenderMode : packoffset(c7.z); uint g_referenceModeComponent : packoffset(c7.w); float g_skipSkyVisibilityAsAO : packoffset(c8); uint g_sssScatteringEnables : packoffset(c8.y); uint g_tileCountX : packoffset(c8.z); float unused : packoffset(c8.w); float4x3 g_normalBasisTransforms[6] : packoffset(c9); uint g_sssTranslucencyEnables : packoffset(c27); uint g_sssAutomaticThicknessEnables : packoffset(c27.y); float g_lightAngularRadiusX : packoffset(c27.z); float g_lightAngularRadiusY : packoffset(c27.w); float4 g_translucencyCoefficients0[8] : packoffset(c28); float4 g_translucencyCoefficients1[8] : packoffset(c36); float3 g_lightIlluminance : packoffset(c44); float g_lightSpecularScale : packoffset(c44.w); float4 g_cloudOffsetAndScale : packoffset(c45); float4 g_cloudCoverageExponent : packoffset(c46); float4 g_cloudFade : packoffset(c47); float3 g_lightDir : packoffset(c48); float g_dynamicAOFactor : packoffset(c48.w); } SamplerState g_preIntegratedDLSampler_s : register(s0); SamplerState g_preIntegratedFGSampler_s : register(s1); SamplerState g_cloudShadowSampler_s : register(s3); Texture2D<float4> g_gbufferTexture0 : register(t0); Texture2D<float4> g_gbufferTexture1 : register(t1); Texture2D<float4> g_gbufferTexture2 : register(t2); Texture2D<float4> g_gbufferTexture3 : register(t3); Texture2D<float> g_depthTexture : register(t6); Texture2D<float4> g_shadowAccumTexture : register(t7); TextureCube<float4> g_distantIBLPreIntegratedSpecularDL : register(t8); TextureCubeArray<float4> g_distantIBLPreIntegratedSpecularDLArray : register(t9); Texture2D<float4> g_preIntegratedFG : register(t10); Texture2D<float> g_diffuseOcclusionTexture : register(t15); Texture2D<float4> g_cloudShadowTexture : register(t18); Texture2D<uint> g_materialIdTileMaskTexture : register(t19); // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_Position0, float2 v1 : TEXCOORD0, out float4 o0 : SV_Target0, out float4 o1 : SV_Target1) { float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14; uint4 bitmask, uiDest; float4 fDest; //Work out Inverse //...Variables float4 a1, a2, a3, a4; float4 b1, b2, b3, b4; float det; //...Original Matrix a1 = g_invViewProjMatrix._m00_m10_m20_m30; a2 = g_invViewProjMatrix._m01_m11_m21_m31; a3 = g_invViewProjMatrix._m02_m12_m22_m32; a4 = g_invViewProjMatrix._m03_m13_m23_m33; //...Determinant det = a1.x*(a2.y*(a3.z*a4.w - a3.w*a4.z) + a2.z*(a3.w*a4.y - a3.y*a4.w) + a2.w*(a3.y*a4.z - a3.z*a4.y)); det += a1.y*(a2.x*(a3.w*a4.z - a3.z*a4.w) + a2.z*(a3.x*a4.w - a3.w*a4.z) + a2.w*(a3.z*a4.x - a3.x*a4.z)); det += a1.z*(a2.x*(a3.y*a4.w - a3.w*a4.y) + a2.y*(a3.w*a4.x - a3.x*a4.w) + a2.w*(a3.x*a4.y - a3.y*a4.x)); det += a1.w*(a2.x*(a3.z*a4.y - a3.y*a4.z) + a2.y*(a3.x*a4.z - a3.z*a4.x) + a2.z*(a3.y*a4.x - a3.x*a4.y)); //...Inverse Matrix Elements b1.x = a2.y*(a3.z*a4.w - a3.w*a4.z) + a2.z*(a3.w*a4.y - a3.y*a4.w) + a2.w*(a3.y*a4.z - a3.z*a4.y); b1.y = a1.y*(a3.w*a4.z - a3.z*a4.w) + a1.z*(a3.y*a4.w - a3.w*a4.y) + a1.w*(a3.z*a4.y - a3.y*a4.z); b1.z = a1.y*(a2.z*a4.w - a2.w*a4.z) + a1.z*(a2.w*a4.y - a2.y*a4.w) + a1.w*(a2.y*a4.z - a2.z*a4.y); b1.w = a1.y*(a2.w*a3.z - a2.z*a3.w) + a1.z*(a2.y*a3.w - a2.w*a3.y) + a1.w*(a2.z*a3.y - a2.y*a3.z); b2.x = a2.x*(a3.w*a4.z - a3.z*a4.w) + a2.z*(a3.x*a4.w - a3.w*a4.x) + a2.w*(a3.z*a4.x - a3.x*a4.z); b2.y = a1.x*(a3.z*a4.w - a3.w*a4.z) + a1.z*(a3.w*a4.x - a3.x*a4.w) + a1.w*(a3.x*a4.z - a3.z*a4.x); b2.z = a1.x*(a2.w*a4.z - a2.z*a4.w) + a1.z*(a2.x*a4.w - a2.w*a4.x) + a1.w*(a2.z*a4.x - a2.x*a4.z); b2.w = a1.x*(a2.z*a3.w - a2.w*a3.z) + a1.z*(a2.w*a3.x - a2.x*a3.w) + a1.w*(a2.x*a3.z - a2.z*a3.x); b3.x = a2.x*(a3.y*a4.w - a3.w*a4.y) + a2.y*(a3.w*a4.x - a3.x*a4.w) + a2.w*(a3.x*a4.y - a3.y*a4.x); b3.y = a1.x*(a3.w*a4.y - a3.y*a4.w) + a1.y*(a3.x*a4.w - a3.w*a4.x) + a1.w*(a3.y*a4.x - a3.x*a4.y); b3.z = a1.x*(a2.y*a4.w - a2.w*a4.y) + a1.y*(a2.w*a4.x - a2.x*a4.w) + a1.w*(a2.x*a4.y - a2.y*a4.x); b3.w = a1.x*(a2.w*a3.y - a2.y*a3.w) + a1.y*(a2.x*a3.w - a2.w*a3.x) + a1.w*(a2.y*a3.x - a2.x*a3.y); b4.x = a2.x*(a3.z*a4.y - a3.y*a4.z) + a2.y*(a3.x*a4.z - a3.z*a4.x) + a2.z*(a3.y*a4.x - a3.x*a4.y); b4.y = a1.x*(a3.y*a4.z - a3.z*a4.y) + a1.y*(a3.z*a4.x - a3.x*a4.z) + a1.z*(a3.x*a4.y - a3.y*a4.x); b4.z = a1.x*(a2.z*a4.y - a2.y*a4.z) + a1.y*(a2.x*a4.z - a2.z*a4.x) + a1.z*(a2.y*a4.x - a2.x*a4.y); b4.w = a1.x*(a2.y*a3.z - a2.z*a3.y) + a1.y*(a2.z*a3.x - a2.x*a3.z) + a1.z*(a2.x*a3.y - a2.y*a3.x); b1.xyzw /= det; b2.xyzw /= det; b3.xyzw /= det; b4.xyzw /= det; //End Inverse r0.xy = g_invScreenSize.xy * v0.xy; r1.xy = (int2)v0.xy; r0.x = g_diffuseOcclusionTexture.SampleLevel(g_preIntegratedFGSampler_s, r0.xy, 0).x; r0.yz = trunc(v0.xy); r0.yz = g_invScreenSize.xy * r0.yz; r1.zw = float2(0,0); r2.xyzw = g_gbufferTexture0.Load(r1.xyw).xyzw; r3.xyzw = g_gbufferTexture1.Load(r1.xyw).xyzw; r4.xyzw = g_gbufferTexture2.Load(r1.xyw).xyzw; r5.xyz = g_gbufferTexture3.Load(r1.xyw).xyz; //?? r6.z = g_depthTexture.Load(r1.xyw).x; r0.w = 6 * r3.w; r0.w = round(r0.w); r0.w = (uint)r0.w; r7.xy = r2.xy * float2(2,2) + float2(-1,-1); r2.x = dot(r7.xy, r7.xy); r2.x = min(1, r2.x); r2.x = 1 + -r2.x; r7.z = sqrt(r2.x); r0.w = (int)r0.w * 3; r8.x = dot(r7.xyz, g_normalBasisTransforms[r0.w]._m00_m10_m20); r8.y = dot(r7.xyz, g_normalBasisTransforms[r0.w]._m01_m11_m21); r8.z = dot(r7.xyz, g_normalBasisTransforms[r0.w]._m02_m12_m22); r0.w = 1 + -r2.z; r2.x = 3 * r2.w; r2.x = round(r2.x); r2.x = (int)r2.x; r2.xy = cmp((int2)r2.xx == int2(2,1)); r2.x = r2.x ? r4.x : 0; r2.z = 7.968750 * r4.x; r2.w = (int)r2.z; r2.w = min(7, (int)r2.w); r2.w = r2.y ? r2.w : 0; r3.w = r2.y ? 0 : r4.y; r4.x = 1 + -r3.w; r7.xyz = r4.xxx * r3.xyz; r2.x = 1 + -r2.x; r2.x = r4.z * r2.x; r2.x = r2.x * r2.x; r4.z = 0.160000 * r2.x; r9.xyz = -r2.xxx * float3(0.160000,0.160000,0.160000) + r3.xyz; r9.xyz = r3.www * r9.xyz + r4.zzz; r2.x = dot(r9.xyz, float3(0.330000,0.330000,0.330000)); r2.x = saturate(50 * r2.x); r10.y = r0.w * r0.w; r11.xy = (uint2)r1.xy >> int2(4,4); r11.zw = float2(0,0); r3.w = g_materialIdTileMaskTexture.Load(r11.xyz).x; if (1 == 0) r3.w = 0; else if (1+1 < 32) { r3.w = (uint)r3.w << (32-(1 + 1)); r3.w = (uint)r3.w >> (32-1); } else r3.w = (uint)r3.w >> 1; //ubfe r3.w, l(1), l(1), r3.w r3.w = cmp((int)r3.w != 0); r4.z = 1 << (int)r2.w; r5.w = (int)r4.z & g_sssScatteringEnables; r5.w = cmp((int)r5.w != 0); r5.w = r2.y ? r5.w : 0; r3.w = r3.w ? r5.w : 0; if (r3.w != 0) { r7.xyz = float3(1,1,1); r3.w = 1; } else { r3.w = g_forceSplitLighting & 1; } r0.yz = r0.yz * float2(2,2) + float2(-1,-1); r6.xy = float2(1,-1) * r0.yz; r6.w = 1; r11.x = dot(r6.xyzw, g_invViewProjMatrix._m00_m10_m20_m30); r11.y = dot(r6.xyzw, g_invViewProjMatrix._m01_m11_m21_m31); r11.z = dot(r6.xyzw, g_invViewProjMatrix._m02_m12_m22_m32); r0.y = dot(r6.xyzw, g_invViewProjMatrix._m03_m13_m23_m33); r0.y = 1 / r0.y; float4 r28, r26, r27; r26.xyz = r11.xyz * r0.yyy; r26.w = 1.0; r28.x = dot(r26.xyzw, b1.xyzw); r28.y = dot(r26.xyzw, b2.xyzw); r28.z = dot(r26.xyzw, b3.xyzw); r28.w = dot(r26.xyzw, b4.xyzw); float4 stereo = StereoParams.Load(0); r28.x -= stereo.x * (r28.w - stereo.y); r26.x = dot(r28.xyzw, a1.xyzw); r26.y = dot(r28.xyzw, a2.xyzw); r26.z = dot(r28.xyzw, a3.xyzw); r26.w = dot(r28.xyzw, a4.xyzw); r11.xyz = r26.xyz / r0.yyy; r6.xyz = r11.xzy * r0.yyy; r0.z = dot(-r6.xyz, -r6.xyz); r0.z = rsqrt(r0.z); r11.xzw = -r6.xzy * r0.zzz; r5.w = dot(r8.xyz, r11.xzw); r10.x = saturate(r5.w); r6.w = dot(-r11.xzw, r8.xyz); r6.w = r6.w + r6.w; r11.xzw = r8.xyz * -r6.www + -r11.xzw; r12.xyz = g_preIntegratedFG.SampleLevel(g_preIntegratedFGSampler_s, r10.xy, 0).xyz; r6.w = r12.y * r2.x; r12.xyw = r9.xyz * r12.xxx + r6.www; r6.w = cmp(g_distantIBLRenderMode == 1); if (r6.w != 0) { r6.w = -r0.w * r0.w + 1; r7.w = max(0, r6.w); r7.w = sqrt(r7.w); r7.w = r0.w * r0.w + r7.w; r6.w = r7.w * r6.w; r13.xyz = r11.xzw + -r8.xyz; r13.xyz = r6.www * r13.xyz + r8.xyz; r6.w = g_distantIBLArrayLayerCount + -1; r6.w = (uint)r6.w; r6.w = r6.w * r0.w; r13.w = floor(r6.w); r7.w = r0.w * r0.w + 1; r7.w = log2(r7.w); r14.xyz = g_distantIBLPreIntegratedSpecularDLArray.SampleLevel(g_preIntegratedDLSampler_s, r13.xyzw, r7.w).xyz; r14.xyz = r14.xyz * r12.xyw; r13.w = ceil(r6.w); r13.xyz = g_distantIBLPreIntegratedSpecularDLArray.SampleLevel(g_preIntegratedDLSampler_s, r13.xyzw, r7.w).xyz; r6.w = frac(r6.w); r13.xyz = r13.xyz * r12.xyw + -r14.xyz; r13.xyz = r6.www * r13.xyz + r14.xyz; } else { if (g_distantIBLRenderMode == 0) { r6.w = -r0.w * r0.w + 1; r7.w = max(0, r6.w); r7.w = sqrt(r7.w); r7.w = r0.w * r0.w + r7.w; r6.w = r7.w * r6.w; r14.xyz = r11.xzw + -r8.xyz; r14.xyz = r6.www * r14.xyz + r8.xyz; r6.w = r10.y * g_distantIblMipmapBias + 1; r6.w = log2(r6.w); r14.xyz = g_distantIBLPreIntegratedSpecularDL.SampleLevel(g_preIntegratedDLSampler_s, r14.xyz, r6.w).xyz; r12.xyw = r14.xyz * r12.xyw; r4.w = max(g_skipSkyVisibilityAsAO, r4.w); r4.w = min(r4.w, r0.x); r6.w = r10.x + r4.w; r7.w = r10.y * -16 + -1; r7.w = exp2(r7.w); r6.w = log2(r6.w); r6.w = r7.w * r6.w; r6.w = exp2(r6.w); r4.w = r6.w + r4.w; r4.w = saturate(-1 + r4.w); r13.xyz = r12.xyw * r4.www; } else { r13.xyz = float3(0,0,0); } } r5.xyz = g_exposureMultipliers.yyy * r5.xyz; r5.xyz = r5.xyz * r12.zzz; r5.xyz = r5.xyz * r7.xyz; r4.w = (int)r4.z & g_sssTranslucencyEnables; r4.w = cmp((int)r4.w != 0); r2.y = r2.y ? r4.w : 0; r1.xy = g_shadowAccumTexture.Load(r1.xyz).xy; r0.y = r11.y * r0.y + g_cameraPos.y; r1.zw = g_lightDir.xz * r0.yy; r1.zw = -r1.zw * g_cloudOffsetAndScale.ww + r6.xy; r1.zw = r1.zw * g_cloudOffsetAndScale.zz + g_cloudOffsetAndScale.xy; r1.z = g_cloudShadowTexture.SampleLevel(g_cloudShadowSampler_s, r1.zw, 0).x; r1.z = saturate(g_cloudCoverageExponent.x + r1.z); r1.z = log2(r1.z); r1.z = g_cloudCoverageExponent.y * r1.z; r1.z = exp2(r1.z); r1.w = dot(r6.xyz, r6.xyz); r1.w = sqrt(r1.w); r1.w = saturate(r1.w * g_cloudFade.y + g_cloudFade.x); r0.y = saturate(r0.y * g_cloudFade.w + g_cloudFade.z); r0.y = max(r1.w, r0.y); r0.y = r0.y * r0.y; r1.w = 1 + -r1.z; r0.y = r0.y * r1.w + r1.z; r0.y = r1.x * r0.y; r1.x = dot(r8.xyz, g_lightDir.xyz); r1.z = saturate(r1.x); r1.w = cmp(0 < r1.z); if (r1.w != 0) { r1.w = max(0.002000, r10.y); r4.w = dot(g_lightDir.xyz, r11.xzw); r10.xyz = -r4.www * g_lightDir.xyz + r11.xzw; r4.w = cmp(r4.w < g_lightAngularRadiusX); r6.w = dot(r10.xyz, r10.xyz); r6.w = rsqrt(r6.w); r10.xyz = r10.xyz * r6.www; r10.xyz = g_lightAngularRadiusY * r10.xyz; r10.xyz = g_lightAngularRadiusX * g_lightDir.xyz + r10.xyz; r6.w = dot(r10.xyz, r10.xyz); r6.w = rsqrt(r6.w); r10.xyz = r10.xyz * r6.www; r10.xyz = r4.www ? r10.xyz : r11.xzw; r4.w = 0.000010 + abs(r5.w); r11.xyz = -r6.xzy * r0.zzz + r10.xyz; r5.w = dot(r11.xyz, r11.xyz); r5.w = rsqrt(r5.w); r11.xyz = r11.xyz * r5.www; r6.xyz = -r6.xzy * r0.zzz + g_lightDir.xyz; r0.z = dot(r6.xyz, r6.xyz); r0.z = rsqrt(r0.z); r6.xyz = r6.xyz * r0.zzz; r0.z = saturate(dot(r10.xyz, r11.xyz)); r5.w = saturate(dot(g_lightDir.xyz, r6.xyz)); r6.x = saturate(dot(r8.xyz, r11.xyz)); r6.y = saturate(dot(r8.xyz, r10.xyz)); r0.z = 1 + -r0.z; r6.z = r0.z * r0.z; r6.z = r6.z * r6.z; r0.z = r6.z * r0.z; r8.xyz = r2.xxx + -r9.xyz; r8.xyz = r8.xyz * r0.zzz + r9.xyz; r0.z = r1.w * r1.w; r1.w = -r4.w * r0.z + r4.w; r1.w = r1.w * r4.w + r0.z; r1.w = sqrt(r1.w); r2.x = -r6.y * r0.z + r6.y; r2.x = r2.x * r6.y + r0.z; r2.x = sqrt(r2.x); r2.x = r4.w * r2.x; r1.w = r6.y * r1.w + r2.x; r1.w = 0.5 / r1.w; r2.x = r6.x * r0.z + -r6.x; r2.x = r2.x * r6.x + 1; r2.x = r2.x * r2.x; r0.z = r0.z / r2.x; r0.z = r1.w * r0.z; r6.xyz = r8.xyz * r0.zzz; r0.z = r0.w * -0.337748349 + 1; r1.w = r5.w * r5.w; r1.w = dot(r1.ww, r0.ww); r0.w = r0.w * 0.5 + r1.w; r1.w = 1 + -r1.z; r2.x = r1.w * r1.w; r2.x = r2.x * r2.x; r1.w = r2.x * r1.w; r0.w = -1 + r0.w; r1.w = r0.w * r1.w + 1; r2.x = 1 + -r4.w; r4.w = r2.x * r2.x; r4.w = r4.w * r4.w; r2.x = r4.w * r2.x; r0.w = r0.w * r2.x + 1; r0.w = r1.w * r0.w; r0.z = r0.w * r0.z; r0.w = r1.z * r0.y; r8.xyz = g_lightIlluminance.xyz * r0.www; r9.xyz = r8.xyz * r0.zzz; r6.xyz = r8.xyz * r6.xyz; } else { r9.xyz = float3(0,0,0); r6.xyz = float3(0,0,0); } if (r2.y != 0) { r0.z = frac(r2.z); r0.w = (int)r4.z & g_sssAutomaticThicknessEnables; r2.xyz = g_translucencyCoefficients0[r2.w].xyz * r0.zzz; r0.z = max(0.000010, r1.y); r0.z = log2(r0.z); r0.z = r4.y + -r0.z; r1.y = g_translucencyCoefficients1[r2.w].x * r4.y; r0.z = r0.w ? r0.z : r1.y; r1.y = saturate(0.100000001 + -r1.x); r0.y = r1.y * r0.y; r1.y = 1 + -r1.z; r1.y = 0.25 * r1.y; r1.x = -0.5 + r1.x; r1.x = saturate(-1.81818175 * r1.x); r1.z = r1.x * -2 + 3; r1.x = r1.x * r1.x; r1.x = r1.z * r1.x; r1.x = r1.y * r1.x; r0.y = r0.w ? r1.x : r0.y; r0.y = g_translucencyCoefficients1[r2.w].y * r0.y; r0.w = saturate(r4.y * -4 + 4); r1.xyz = r2.xyz + r2.xyz; r1.xyz = float3(-0.124999993,-0.124999993,-0.124999993) / r1.xyz; r1.xyz = float3(1.442695,1.442695,1.442695) * r1.xyz; r1.xyz = exp2(r1.xyz); r2.xyz = r3.xyz * r4.xxx + -r1.xyz; r1.xyz = g_translucencyCoefficients0[r2.w].www * r2.xyz + r1.xyz; r1.xyz = max(float3(0.000010,0.000010,0.000010), r1.xyz); r0.z = r0.z * r0.z; r0.z = 8 * r0.z; r1.xyz = log2(r1.xyz); r1.xyz = r1.xyz * r0.zzz; r1.xyz = exp2(r1.xyz); r1.xyz = r1.xyz * r0.yyy; r0.yzw = r1.xyz * r0.www; r9.xyz = g_lightIlluminance.xyz * r0.yzw + r9.xyz; } r0.y = -1 + r0.x; r0.y = g_dynamicAOFactor * r0.y + 1; r0.yzw = r9.xyz * r0.yyy; r1.x = g_lightSpecularScale * g_exposureMultipliers.z; r1.xyz = r6.xyz * r1.xxx; r0.yzw = r7.xyz * r0.yzw; r0.yzw = float3(0.318309873,0.318309873,0.318309873) * r0.yzw; r1.xyz = float3(0.318309873,0.318309873,0.318309873) * r1.xyz; r0.xyz = r5.xyz * r0.xxx + r0.yzw; r2.xyz = g_exposureMultipliers.zzz * r0.xyz; r1.xyz = r13.xyz * g_exposureMultipliers.zzz + r1.xyz; if (r3.w == 0) { r1.xyz = r0.xyz * g_exposureMultipliers.zzz + r1.xyz; r2.xyz = float3(0,0,0); } o1.xyz = r2.xyz; o1.w = 0; o0.xyz = r1.xyz; o0.w = 0; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384 // // using 3Dmigoto v1.2.43 on Sun Sep 04 21:54:56 2016 // // // Buffer Definitions: // // cbuffer CommonConstants // { // // float4x4 g_invViewProjMatrix; // Offset: 0 Size: 64 // float3 g_cameraPos; // Offset: 64 Size: 12 // uint g_forceSplitLighting; // Offset: 76 Size: 4 // float4 g_exposureMultipliers; // Offset: 80 Size: 16 // float2 g_invScreenSize; // Offset: 96 Size: 8 // float g_distantIblMipmapBias; // Offset: 104 Size: 4 // uint g_distantIBLArrayLayerCount; // Offset: 108 Size: 4 // uint g_distantIBLLatLongWidth; // Offset: 112 Size: 4 [unused] // uint g_distantIBLLatLongHeight; // Offset: 116 Size: 4 [unused] // uint g_distantIBLRenderMode; // Offset: 120 Size: 4 // uint g_referenceModeComponent; // Offset: 124 Size: 4 [unused] // float g_skipSkyVisibilityAsAO; // Offset: 128 Size: 4 // uint g_sssScatteringEnables; // Offset: 132 Size: 4 // uint g_tileCountX; // Offset: 136 Size: 4 [unused] // float unused; // Offset: 140 Size: 4 [unused] // float4x3 g_normalBasisTransforms[6];// Offset: 144 Size: 288 // uint g_sssTranslucencyEnables; // Offset: 432 Size: 4 // uint g_sssAutomaticThicknessEnables;// Offset: 436 Size: 4 // float g_lightAngularRadiusX; // Offset: 440 Size: 4 // float g_lightAngularRadiusY; // Offset: 444 Size: 4 // float4 g_translucencyCoefficients0[8];// Offset: 448 Size: 128 // float4 g_translucencyCoefficients1[8];// Offset: 576 Size: 128 // float3 g_lightIlluminance; // Offset: 704 Size: 12 // float g_lightSpecularScale; // Offset: 716 Size: 4 // float4 g_cloudOffsetAndScale; // Offset: 720 Size: 16 // float4 g_cloudCoverageExponent; // Offset: 736 Size: 16 // float4 g_cloudFade; // Offset: 752 Size: 16 // float3 g_lightDir; // Offset: 768 Size: 12 // float g_dynamicAOFactor; // Offset: 780 Size: 4 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_preIntegratedDLSampler sampler NA NA 0 1 // g_preIntegratedFGSampler sampler NA NA 1 1 // g_cloudShadowSampler sampler NA NA 3 1 // g_gbufferTexture0 texture float4 2d 0 1 // g_gbufferTexture1 texture float4 2d 1 1 // g_gbufferTexture2 texture float4 2d 2 1 // g_gbufferTexture3 texture float4 2d 3 1 // g_depthTexture texture float 2d 6 1 // g_shadowAccumTexture texture float4 2d 7 1 // g_distantIBLPreIntegratedSpecularDL texture float4 cube 8 1 // g_distantIBLPreIntegratedSpecularDLArray texture float4 cubearray 9 1 // g_preIntegratedFG texture float4 2d 10 1 // g_diffuseOcclusionTexture texture float 2d 15 1 // g_cloudShadowTexture texture float4 2d 18 1 // g_materialIdTileMaskTexture texture uint 2d 19 1 // CommonConstants cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xy // TEXCOORD 0 xy 1 NONE float // // // 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 // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[49], dynamicIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s3, 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) t6 dcl_resource_texture2d (float,float,float,float) t7 dcl_resource_texturecube (float,float,float,float) t8 dcl_resource_texturecubearray (float,float,float,float) t9 dcl_resource_texture2d (float,float,float,float) t10 dcl_resource_texture2d (float,float,float,float) t15 dcl_resource_texture2d (float,float,float,float) t18 dcl_resource_texture2d (uint,uint,uint,uint) t19 dcl_input_ps_siv linear noperspective v0.xy, position dcl_output o0.xyzw dcl_output o1.xyzw dcl_temps 15 mul r0.xy, v0.xyxx, cb0[6].xyxx ftoi r1.xy, v0.xyxx sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t15.xyzw, s1, l(0.000000) round_z r0.yz, v0.xxyx mul r0.yz, r0.yyzy, cb0[6].xxyx mov r1.zw, l(0,0,0,0) ld_indexable(texture2d)(float,float,float,float) r2.xyzw, r1.xyww, t0.xyzw ld_indexable(texture2d)(float,float,float,float) r3.xyzw, r1.xyww, t1.xyzw ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r1.xyww, t2.xyzw ld_indexable(texture2d)(float,float,float,float) r5.xyz, r1.xyww, t3.xyzw ld_indexable(texture2d)(float,float,float,float) r6.z, r1.xyww, t6.yzxw mul r0.w, r3.w, l(6.000000) round_ne r0.w, r0.w ftou r0.w, r0.w mad r7.xy, r2.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) dp2 r2.x, r7.xyxx, r7.xyxx min r2.x, r2.x, l(1.000000) add r2.x, -r2.x, l(1.000000) sqrt r7.z, r2.x imul null, r0.w, r0.w, l(3) dp3 r8.x, r7.xyzx, cb0[r0.w + 9].xyzx dp3 r8.y, r7.xyzx, cb0[r0.w + 10].xyzx dp3 r8.z, r7.xyzx, cb0[r0.w + 11].xyzx add r0.w, -r2.z, l(1.000000) mul r2.x, r2.w, l(3.000000) round_ne r2.x, r2.x ftoi r2.x, r2.x ieq r2.xy, r2.xxxx, l(2, 1, 0, 0) and r2.x, r4.x, r2.x mul r2.z, r4.x, l(7.968750) ftoi r2.w, r2.z imin r2.w, r2.w, l(7) and r2.w, r2.w, r2.y movc r3.w, r2.y, l(0), r4.y add r4.x, -r3.w, l(1.000000) mul r7.xyz, r3.xyzx, r4.xxxx add r2.x, -r2.x, l(1.000000) mul r2.x, r2.x, r4.z mul r2.x, r2.x, r2.x mul r4.z, r2.x, l(0.160000) mad r9.xyz, -r2.xxxx, l(0.160000, 0.160000, 0.160000, 0.000000), r3.xyzx mad r9.xyz, r3.wwww, r9.xyzx, r4.zzzz dp3 r2.x, r9.xyzx, l(0.330000, 0.330000, 0.330000, 0.000000) mul_sat r2.x, r2.x, l(50.000000) mul r10.y, r0.w, r0.w ushr r11.xy, r1.xyxx, l(4, 4, 0, 0) mov r11.zw, l(0,0,0,0) ld_indexable(texture2d)(uint,uint,uint,uint) r3.w, r11.xyzw, t19.yzwx ubfe r3.w, l(1), l(1), r3.w ine r3.w, r3.w, l(0) ishl r4.z, l(1), r2.w and r5.w, r4.z, cb0[8].y ine r5.w, r5.w, l(0) and r5.w, r2.y, r5.w and r3.w, r3.w, r5.w if_nz r3.w mov r7.xyz, l(1.000000,1.000000,1.000000,0) mov r3.w, l(1) else and r3.w, cb0[4].w, l(1) endif mad r0.yz, r0.yyzy, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000) mul r6.xy, r0.yzyy, l(1.000000, -1.000000, 0.000000, 0.000000) mov r6.w, l(1.000000) dp4 r11.x, r6.xyzw, cb0[0].xyzw dp4 r11.y, r6.xyzw, cb0[1].xyzw dp4 r11.z, r6.xyzw, cb0[2].xyzw dp4 r0.y, r6.xyzw, cb0[3].xyzw div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y mul r6.xyz, r0.yyyy, r11.xzyx dp3 r0.z, -r6.xyzx, -r6.xyzx rsq r0.z, r0.z mul r11.xzw, r0.zzzz, -r6.xxzy dp3 r5.w, r8.xyzx, r11.xzwx mov_sat r10.x, r5.w dp3 r6.w, -r11.xzwx, r8.xyzx add r6.w, r6.w, r6.w mad r11.xzw, r8.xxyz, -r6.wwww, -r11.xxzw sample_l_indexable(texture2d)(float,float,float,float) r12.xyz, r10.xyxx, t10.xyzw, s1, l(0.000000) mul r6.w, r2.x, r12.y mad r12.xyw, r9.xyxz, r12.xxxx, r6.wwww ieq r6.w, cb0[7].z, l(1) if_nz r6.w mad r6.w, -r0.w, r0.w, l(1.000000) max r7.w, r6.w, l(0.000000) sqrt r7.w, r7.w mad r7.w, r0.w, r0.w, r7.w mul r6.w, r6.w, r7.w add r13.xyz, -r8.xyzx, r11.xzwx mad r13.xyz, r6.wwww, r13.xyzx, r8.xyzx iadd r6.w, cb0[6].w, l(-1) utof r6.w, r6.w mul r6.w, r0.w, r6.w round_ni r13.w, r6.w mad r7.w, r0.w, r0.w, l(1.000000) log r7.w, r7.w sample_l_indexable(texturecubearray)(float,float,float,float) r14.xyz, r13.xyzw, t9.xyzw, s0, r7.w mul r14.xyz, r12.xywx, r14.xyzx round_pi r13.w, r6.w sample_l_indexable(texturecubearray)(float,float,float,float) r13.xyz, r13.xyzw, t9.xyzw, s0, r7.w frc r6.w, r6.w mad r13.xyz, r13.xyzx, r12.xywx, -r14.xyzx mad r13.xyz, r6.wwww, r13.xyzx, r14.xyzx else if_z cb0[7].z mad r6.w, -r0.w, r0.w, l(1.000000) max r7.w, r6.w, l(0.000000) sqrt r7.w, r7.w mad r7.w, r0.w, r0.w, r7.w mul r6.w, r6.w, r7.w add r14.xyz, -r8.xyzx, r11.xzwx mad r14.xyz, r6.wwww, r14.xyzx, r8.xyzx mad r6.w, r10.y, cb0[6].z, l(1.000000) log r6.w, r6.w sample_l_indexable(texturecube)(float,float,float,float) r14.xyz, r14.xyzx, t8.xyzw, s0, r6.w mul r12.xyw, r12.xyxw, r14.xyxz max r4.w, r4.w, cb0[8].x min r4.w, r0.x, r4.w add r6.w, r4.w, r10.x mad r7.w, r10.y, l(-16.000000), l(-1.000000) exp r7.w, r7.w log r6.w, r6.w mul r6.w, r6.w, r7.w exp r6.w, r6.w add r4.w, r4.w, r6.w add_sat r4.w, r4.w, l(-1.000000) mul r13.xyz, r4.wwww, r12.xywx else mov r13.xyz, l(0,0,0,0) endif endif mul r5.xyz, r5.xyzx, cb0[5].yyyy mul r5.xyz, r12.zzzz, r5.xyzx mul r5.xyz, r7.xyzx, r5.xyzx and r4.w, r4.z, cb0[27].x ine r4.w, r4.w, l(0) and r2.y, r2.y, r4.w ld_indexable(texture2d)(float,float,float,float) r1.xy, r1.xyzw, t7.xyzw mad r0.y, r11.y, r0.y, cb0[4].y mul r1.zw, r0.yyyy, cb0[48].xxxz mad r1.zw, -r1.zzzw, cb0[45].wwww, r6.xxxy mad r1.zw, r1.zzzw, cb0[45].zzzz, cb0[45].xxxy sample_l_indexable(texture2d)(float,float,float,float) r1.z, r1.zwzz, t18.yzxw, s3, l(0.000000) add_sat r1.z, r1.z, cb0[46].x log r1.z, r1.z mul r1.z, r1.z, cb0[46].y exp r1.z, r1.z dp3 r1.w, r6.xyzx, r6.xyzx sqrt r1.w, r1.w mad_sat r1.w, r1.w, cb0[47].y, cb0[47].x mad_sat r0.y, r0.y, cb0[47].w, cb0[47].z max r0.y, r0.y, r1.w mul r0.y, r0.y, r0.y add r1.w, -r1.z, l(1.000000) mad r0.y, r0.y, r1.w, r1.z mul r0.y, r0.y, r1.x dp3 r1.x, r8.xyzx, cb0[48].xyzx mov_sat r1.z, r1.x lt r1.w, l(0.000000), r1.z if_nz r1.w max r1.w, r10.y, l(0.002000) dp3 r4.w, cb0[48].xyzx, r11.xzwx mad r10.xyz, -r4.wwww, cb0[48].xyzx, r11.xzwx lt r4.w, r4.w, cb0[27].z dp3 r6.w, r10.xyzx, r10.xyzx rsq r6.w, r6.w mul r10.xyz, r6.wwww, r10.xyzx mul r10.xyz, r10.xyzx, cb0[27].wwww mad r10.xyz, cb0[27].zzzz, cb0[48].xyzx, r10.xyzx dp3 r6.w, r10.xyzx, r10.xyzx rsq r6.w, r6.w mul r10.xyz, r6.wwww, r10.xyzx movc r10.xyz, r4.wwww, r10.xyzx, r11.xzwx add r4.w, |r5.w|, l(0.000010) mad r11.xyz, -r6.xzyx, r0.zzzz, r10.xyzx dp3 r5.w, r11.xyzx, r11.xyzx rsq r5.w, r5.w mul r11.xyz, r5.wwww, r11.xyzx mad r6.xyz, -r6.xzyx, r0.zzzz, cb0[48].xyzx dp3 r0.z, r6.xyzx, r6.xyzx rsq r0.z, r0.z mul r6.xyz, r0.zzzz, r6.xyzx dp3_sat r0.z, r10.xyzx, r11.xyzx dp3_sat r5.w, cb0[48].xyzx, r6.xyzx dp3_sat r6.x, r8.xyzx, r11.xyzx dp3_sat r6.y, r8.xyzx, r10.xyzx add r0.z, -r0.z, l(1.000000) mul r6.z, r0.z, r0.z mul r6.z, r6.z, r6.z mul r0.z, r0.z, r6.z add r8.xyz, -r9.xyzx, r2.xxxx mad r8.xyz, r8.xyzx, r0.zzzz, r9.xyzx mul r0.z, r1.w, r1.w mad r1.w, -r4.w, r0.z, r4.w mad r1.w, r1.w, r4.w, r0.z sqrt r1.w, r1.w mad r2.x, -r6.y, r0.z, r6.y mad r2.x, r2.x, r6.y, r0.z sqrt r2.x, r2.x mul r2.x, r2.x, r4.w mad r1.w, r6.y, r1.w, r2.x div r1.w, l(0.500000), r1.w mad r2.x, r6.x, r0.z, -r6.x mad r2.x, r2.x, r6.x, l(1.000000) mul r2.x, r2.x, r2.x div r0.z, r0.z, r2.x mul r0.z, r0.z, r1.w mul r6.xyz, r0.zzzz, r8.xyzx mad r0.z, r0.w, l(-0.337748349), l(1.000000) mul r1.w, r5.w, r5.w dp2 r1.w, r1.wwww, r0.wwww mad r0.w, r0.w, l(0.500000), r1.w add r1.w, -r1.z, l(1.000000) mul r2.x, r1.w, r1.w mul r2.x, r2.x, r2.x mul r1.w, r1.w, r2.x add r0.w, r0.w, l(-1.000000) mad r1.w, r0.w, r1.w, l(1.000000) add r2.x, -r4.w, l(1.000000) mul r4.w, r2.x, r2.x mul r4.w, r4.w, r4.w mul r2.x, r2.x, r4.w mad r0.w, r0.w, r2.x, l(1.000000) mul r0.w, r0.w, r1.w mul r0.z, r0.z, r0.w mul r0.w, r0.y, r1.z mul r8.xyz, r0.wwww, cb0[44].xyzx mul r9.xyz, r0.zzzz, r8.xyzx mul r6.xyz, r6.xyzx, r8.xyzx else mov r9.xyz, l(0,0,0,0) mov r6.xyz, l(0,0,0,0) endif if_nz r2.y frc r0.z, r2.z and r0.w, r4.z, cb0[27].y mul r2.xyz, r0.zzzz, cb0[r2.w + 28].xyzx max r0.z, r1.y, l(0.000010) log r0.z, r0.z add r0.z, -r0.z, r4.y mul r1.y, r4.y, cb0[r2.w + 36].x movc r0.z, r0.w, r0.z, r1.y add_sat r1.y, -r1.x, l(0.100000) mul r0.y, r0.y, r1.y add r1.y, -r1.z, l(1.000000) mul r1.y, r1.y, l(0.250000) add r1.x, r1.x, l(-0.500000) mul_sat r1.x, r1.x, l(-1.81818175) mad r1.z, r1.x, l(-2.000000), l(3.000000) mul r1.x, r1.x, r1.x mul r1.x, r1.x, r1.z mul r1.x, r1.x, r1.y movc r0.y, r0.w, r1.x, r0.y mul r0.y, r0.y, cb0[r2.w + 36].y mad_sat r0.w, r4.y, l(-4.000000), l(4.000000) add r1.xyz, r2.xyzx, r2.xyzx div r1.xyz, l(-0.124999993, -0.124999993, -0.124999993, 0.000000), r1.xyzx mul r1.xyz, r1.xyzx, l(1.442695, 1.442695, 1.442695, 0.000000) exp r1.xyz, r1.xyzx mad r2.xyz, r3.xyzx, r4.xxxx, -r1.xyzx mad r1.xyz, cb0[r2.w + 28].wwww, r2.xyzx, r1.xyzx max r1.xyz, r1.xyzx, l(0.000010, 0.000010, 0.000010, 0.000000) mul r0.z, r0.z, r0.z mul r0.z, r0.z, l(8.000000) log r1.xyz, r1.xyzx mul r1.xyz, r0.zzzz, r1.xyzx exp r1.xyz, r1.xyzx mul r1.xyz, r0.yyyy, r1.xyzx mul r0.yzw, r0.wwww, r1.xxyz mad r9.xyz, cb0[44].xyzx, r0.yzwy, r9.xyzx endif add r0.y, r0.x, l(-1.000000) mad r0.y, cb0[48].w, r0.y, l(1.000000) mul r0.yzw, r0.yyyy, r9.xxyz mul r1.x, cb0[5].z, cb0[44].w mul r1.xyz, r1.xxxx, r6.xyzx mul r0.yzw, r0.yyzw, r7.xxyz mul r0.yzw, r0.yyzw, l(0.000000, 0.318309873, 0.318309873, 0.318309873) mul r1.xyz, r1.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000) mad r0.xyz, r5.xyzx, r0.xxxx, r0.yzwy mul r2.xyz, r0.xyzx, cb0[5].zzzz mad r1.xyz, r13.xyzx, cb0[5].zzzz, r1.xyzx if_z r3.w mad r1.xyz, r0.xyzx, cb0[5].zzzz, r1.xyzx mov r2.xyz, l(0,0,0,0) endif mov o1.xyz, r2.xyzx mov o1.w, l(0) mov o0.xyz, r1.xyzx mov o0.w, l(0) ret // Approximately 291 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
I found the shader....is related to light reflections, BUT is not working properly in HLSL (decompiler issue?). When i dump i see some white stuff all over the screen...pressing F9 make the issue disappear. Pressing F10 i can hear the good beep.

This is the shader. bo3b can you take a look? :)

// Reflections Lights

cbuffer CommonConstants : register(b0)
{
float4x4 g_invViewProjMatrix : packoffset(c0);
float3 g_cameraPos : packoffset(c4);
uint g_forceSplitLighting : packoffset(c4.w);
float4 g_exposureMultipliers : packoffset(c5);
float2 g_invScreenSize : packoffset(c6);
float g_distantIblMipmapBias : packoffset(c6.z);
uint g_distantIBLArrayLayerCount : packoffset(c6.w);
uint g_distantIBLLatLongWidth : packoffset(c7);
uint g_distantIBLLatLongHeight : packoffset(c7.y);
uint g_distantIBLRenderMode : packoffset(c7.z);
uint g_referenceModeComponent : packoffset(c7.w);
float g_skipSkyVisibilityAsAO : packoffset(c8);
uint g_sssScatteringEnables : packoffset(c8.y);
uint g_tileCountX : packoffset(c8.z);
float unused : packoffset(c8.w);
float4x3 g_normalBasisTransforms[6] : packoffset(c9);
uint g_sssTranslucencyEnables : packoffset(c27);
uint g_sssAutomaticThicknessEnables : packoffset(c27.y);
float g_lightAngularRadiusX : packoffset(c27.z);
float g_lightAngularRadiusY : packoffset(c27.w);
float4 g_translucencyCoefficients0[8] : packoffset(c28);
float4 g_translucencyCoefficients1[8] : packoffset(c36);
float3 g_lightIlluminance : packoffset(c44);
float g_lightSpecularScale : packoffset(c44.w);
float4 g_cloudOffsetAndScale : packoffset(c45);
float4 g_cloudCoverageExponent : packoffset(c46);
float4 g_cloudFade : packoffset(c47);
float3 g_lightDir : packoffset(c48);
float g_dynamicAOFactor : packoffset(c48.w);
}

SamplerState g_preIntegratedDLSampler_s : register(s0);
SamplerState g_preIntegratedFGSampler_s : register(s1);
SamplerState g_cloudShadowSampler_s : register(s3);
Texture2D<float4> g_gbufferTexture0 : register(t0);
Texture2D<float4> g_gbufferTexture1 : register(t1);
Texture2D<float4> g_gbufferTexture2 : register(t2);
Texture2D<float4> g_gbufferTexture3 : register(t3);
Texture2D<float> g_depthTexture : register(t6);
Texture2D<float4> g_shadowAccumTexture : register(t7);
TextureCube<float4> g_distantIBLPreIntegratedSpecularDL : register(t8);
TextureCubeArray<float4> g_distantIBLPreIntegratedSpecularDLArray : register(t9);
Texture2D<float4> g_preIntegratedFG : register(t10);
Texture2D<float> g_diffuseOcclusionTexture : register(t15);
Texture2D<float4> g_cloudShadowTexture : register(t18);
Texture2D<uint> g_materialIdTileMaskTexture : register(t19);


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


void main(
float4 v0 : SV_Position0,
float2 v1 : TEXCOORD0,
out float4 o0 : SV_Target0,
out float4 o1 : SV_Target1)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14;
uint4 bitmask, uiDest;
float4 fDest;

//Work out Inverse
//...Variables
float4 a1, a2, a3, a4;
float4 b1, b2, b3, b4;
float det;
//...Original Matrix
a1 = g_invViewProjMatrix._m00_m10_m20_m30;
a2 = g_invViewProjMatrix._m01_m11_m21_m31;
a3 = g_invViewProjMatrix._m02_m12_m22_m32;
a4 = g_invViewProjMatrix._m03_m13_m23_m33;
//...Determinant
det = a1.x*(a2.y*(a3.z*a4.w - a3.w*a4.z) + a2.z*(a3.w*a4.y - a3.y*a4.w) + a2.w*(a3.y*a4.z - a3.z*a4.y));
det += a1.y*(a2.x*(a3.w*a4.z - a3.z*a4.w) + a2.z*(a3.x*a4.w - a3.w*a4.z) + a2.w*(a3.z*a4.x - a3.x*a4.z));
det += a1.z*(a2.x*(a3.y*a4.w - a3.w*a4.y) + a2.y*(a3.w*a4.x - a3.x*a4.w) + a2.w*(a3.x*a4.y - a3.y*a4.x));
det += a1.w*(a2.x*(a3.z*a4.y - a3.y*a4.z) + a2.y*(a3.x*a4.z - a3.z*a4.x) + a2.z*(a3.y*a4.x - a3.x*a4.y));
//...Inverse Matrix Elements
b1.x = a2.y*(a3.z*a4.w - a3.w*a4.z) + a2.z*(a3.w*a4.y - a3.y*a4.w) + a2.w*(a3.y*a4.z - a3.z*a4.y);
b1.y = a1.y*(a3.w*a4.z - a3.z*a4.w) + a1.z*(a3.y*a4.w - a3.w*a4.y) + a1.w*(a3.z*a4.y - a3.y*a4.z);
b1.z = a1.y*(a2.z*a4.w - a2.w*a4.z) + a1.z*(a2.w*a4.y - a2.y*a4.w) + a1.w*(a2.y*a4.z - a2.z*a4.y);
b1.w = a1.y*(a2.w*a3.z - a2.z*a3.w) + a1.z*(a2.y*a3.w - a2.w*a3.y) + a1.w*(a2.z*a3.y - a2.y*a3.z);
b2.x = a2.x*(a3.w*a4.z - a3.z*a4.w) + a2.z*(a3.x*a4.w - a3.w*a4.x) + a2.w*(a3.z*a4.x - a3.x*a4.z);
b2.y = a1.x*(a3.z*a4.w - a3.w*a4.z) + a1.z*(a3.w*a4.x - a3.x*a4.w) + a1.w*(a3.x*a4.z - a3.z*a4.x);
b2.z = a1.x*(a2.w*a4.z - a2.z*a4.w) + a1.z*(a2.x*a4.w - a2.w*a4.x) + a1.w*(a2.z*a4.x - a2.x*a4.z);
b2.w = a1.x*(a2.z*a3.w - a2.w*a3.z) + a1.z*(a2.w*a3.x - a2.x*a3.w) + a1.w*(a2.x*a3.z - a2.z*a3.x);
b3.x = a2.x*(a3.y*a4.w - a3.w*a4.y) + a2.y*(a3.w*a4.x - a3.x*a4.w) + a2.w*(a3.x*a4.y - a3.y*a4.x);
b3.y = a1.x*(a3.w*a4.y - a3.y*a4.w) + a1.y*(a3.x*a4.w - a3.w*a4.x) + a1.w*(a3.y*a4.x - a3.x*a4.y);
b3.z = a1.x*(a2.y*a4.w - a2.w*a4.y) + a1.y*(a2.w*a4.x - a2.x*a4.w) + a1.w*(a2.x*a4.y - a2.y*a4.x);
b3.w = a1.x*(a2.w*a3.y - a2.y*a3.w) + a1.y*(a2.x*a3.w - a2.w*a3.x) + a1.w*(a2.y*a3.x - a2.x*a3.y);
b4.x = a2.x*(a3.z*a4.y - a3.y*a4.z) + a2.y*(a3.x*a4.z - a3.z*a4.x) + a2.z*(a3.y*a4.x - a3.x*a4.y);
b4.y = a1.x*(a3.y*a4.z - a3.z*a4.y) + a1.y*(a3.z*a4.x - a3.x*a4.z) + a1.z*(a3.x*a4.y - a3.y*a4.x);
b4.z = a1.x*(a2.z*a4.y - a2.y*a4.z) + a1.y*(a2.x*a4.z - a2.z*a4.x) + a1.z*(a2.y*a4.x - a2.x*a4.y);
b4.w = a1.x*(a2.y*a3.z - a2.z*a3.y) + a1.y*(a2.z*a3.x - a2.x*a3.z) + a1.z*(a2.x*a3.y - a2.y*a3.x);
b1.xyzw /= det;
b2.xyzw /= det;
b3.xyzw /= det;
b4.xyzw /= det;
//End Inverse

r0.xy = g_invScreenSize.xy * v0.xy;
r1.xy = (int2)v0.xy;
r0.x = g_diffuseOcclusionTexture.SampleLevel(g_preIntegratedFGSampler_s, r0.xy, 0).x;
r0.yz = trunc(v0.xy);
r0.yz = g_invScreenSize.xy * r0.yz;
r1.zw = float2(0,0);
r2.xyzw = g_gbufferTexture0.Load(r1.xyw).xyzw;
r3.xyzw = g_gbufferTexture1.Load(r1.xyw).xyzw;
r4.xyzw = g_gbufferTexture2.Load(r1.xyw).xyzw;
r5.xyz = g_gbufferTexture3.Load(r1.xyw).xyz;
//??
r6.z = g_depthTexture.Load(r1.xyw).x;

r0.w = 6 * r3.w;
r0.w = round(r0.w);
r0.w = (uint)r0.w;
r7.xy = r2.xy * float2(2,2) + float2(-1,-1);
r2.x = dot(r7.xy, r7.xy);
r2.x = min(1, r2.x);
r2.x = 1 + -r2.x;
r7.z = sqrt(r2.x);
r0.w = (int)r0.w * 3;
r8.x = dot(r7.xyz, g_normalBasisTransforms[r0.w]._m00_m10_m20);
r8.y = dot(r7.xyz, g_normalBasisTransforms[r0.w]._m01_m11_m21);
r8.z = dot(r7.xyz, g_normalBasisTransforms[r0.w]._m02_m12_m22);
r0.w = 1 + -r2.z;
r2.x = 3 * r2.w;
r2.x = round(r2.x);
r2.x = (int)r2.x;
r2.xy = cmp((int2)r2.xx == int2(2,1));
r2.x = r2.x ? r4.x : 0;
r2.z = 7.968750 * r4.x;

r2.w = (int)r2.z;
r2.w = min(7, (int)r2.w);
r2.w = r2.y ? r2.w : 0;
r3.w = r2.y ? 0 : r4.y;
r4.x = 1 + -r3.w;
r7.xyz = r4.xxx * r3.xyz;
r2.x = 1 + -r2.x;
r2.x = r4.z * r2.x;
r2.x = r2.x * r2.x;
r4.z = 0.160000 * r2.x;
r9.xyz = -r2.xxx * float3(0.160000,0.160000,0.160000) + r3.xyz;
r9.xyz = r3.www * r9.xyz + r4.zzz;
r2.x = dot(r9.xyz, float3(0.330000,0.330000,0.330000));
r2.x = saturate(50 * r2.x);
r10.y = r0.w * r0.w;
r11.xy = (uint2)r1.xy >> int2(4,4);
r11.zw = float2(0,0);
r3.w = g_materialIdTileMaskTexture.Load(r11.xyz).x;

if (1 == 0) r3.w = 0; else if (1+1 < 32) { r3.w = (uint)r3.w << (32-(1 + 1)); r3.w = (uint)r3.w >> (32-1); } else r3.w = (uint)r3.w >> 1;
//ubfe r3.w, l(1), l(1), r3.w

r3.w = cmp((int)r3.w != 0);
r4.z = 1 << (int)r2.w;
r5.w = (int)r4.z & g_sssScatteringEnables;
r5.w = cmp((int)r5.w != 0);
r5.w = r2.y ? r5.w : 0;
r3.w = r3.w ? r5.w : 0;
if (r3.w != 0) {
r7.xyz = float3(1,1,1);
r3.w = 1;
} else {
r3.w = g_forceSplitLighting & 1;
}
r0.yz = r0.yz * float2(2,2) + float2(-1,-1);
r6.xy = float2(1,-1) * r0.yz;
r6.w = 1;
r11.x = dot(r6.xyzw, g_invViewProjMatrix._m00_m10_m20_m30);
r11.y = dot(r6.xyzw, g_invViewProjMatrix._m01_m11_m21_m31);
r11.z = dot(r6.xyzw, g_invViewProjMatrix._m02_m12_m22_m32);
r0.y = dot(r6.xyzw, g_invViewProjMatrix._m03_m13_m23_m33);
r0.y = 1 / r0.y;

float4 r28, r26, r27;
r26.xyz = r11.xyz * r0.yyy;
r26.w = 1.0;
r28.x = dot(r26.xyzw, b1.xyzw);
r28.y = dot(r26.xyzw, b2.xyzw);
r28.z = dot(r26.xyzw, b3.xyzw);
r28.w = dot(r26.xyzw, b4.xyzw);
float4 stereo = StereoParams.Load(0);
r28.x -= stereo.x * (r28.w - stereo.y);
r26.x = dot(r28.xyzw, a1.xyzw);
r26.y = dot(r28.xyzw, a2.xyzw);
r26.z = dot(r28.xyzw, a3.xyzw);
r26.w = dot(r28.xyzw, a4.xyzw);
r11.xyz = r26.xyz / r0.yyy;

r6.xyz = r11.xzy * r0.yyy;
r0.z = dot(-r6.xyz, -r6.xyz);
r0.z = rsqrt(r0.z);
r11.xzw = -r6.xzy * r0.zzz;
r5.w = dot(r8.xyz, r11.xzw);
r10.x = saturate(r5.w);
r6.w = dot(-r11.xzw, r8.xyz);
r6.w = r6.w + r6.w;
r11.xzw = r8.xyz * -r6.www + -r11.xzw;
r12.xyz = g_preIntegratedFG.SampleLevel(g_preIntegratedFGSampler_s, r10.xy, 0).xyz;
r6.w = r12.y * r2.x;
r12.xyw = r9.xyz * r12.xxx + r6.www;
r6.w = cmp(g_distantIBLRenderMode == 1);
if (r6.w != 0) {
r6.w = -r0.w * r0.w + 1;
r7.w = max(0, r6.w);
r7.w = sqrt(r7.w);
r7.w = r0.w * r0.w + r7.w;
r6.w = r7.w * r6.w;
r13.xyz = r11.xzw + -r8.xyz;
r13.xyz = r6.www * r13.xyz + r8.xyz;
r6.w = g_distantIBLArrayLayerCount + -1;
r6.w = (uint)r6.w;
r6.w = r6.w * r0.w;
r13.w = floor(r6.w);
r7.w = r0.w * r0.w + 1;
r7.w = log2(r7.w);
r14.xyz = g_distantIBLPreIntegratedSpecularDLArray.SampleLevel(g_preIntegratedDLSampler_s, r13.xyzw, r7.w).xyz;
r14.xyz = r14.xyz * r12.xyw;
r13.w = ceil(r6.w);
r13.xyz = g_distantIBLPreIntegratedSpecularDLArray.SampleLevel(g_preIntegratedDLSampler_s, r13.xyzw, r7.w).xyz;
r6.w = frac(r6.w);
r13.xyz = r13.xyz * r12.xyw + -r14.xyz;
r13.xyz = r6.www * r13.xyz + r14.xyz;
} else {
if (g_distantIBLRenderMode == 0) {
r6.w = -r0.w * r0.w + 1;
r7.w = max(0, r6.w);
r7.w = sqrt(r7.w);
r7.w = r0.w * r0.w + r7.w;
r6.w = r7.w * r6.w;
r14.xyz = r11.xzw + -r8.xyz;
r14.xyz = r6.www * r14.xyz + r8.xyz;
r6.w = r10.y * g_distantIblMipmapBias + 1;
r6.w = log2(r6.w);
r14.xyz = g_distantIBLPreIntegratedSpecularDL.SampleLevel(g_preIntegratedDLSampler_s, r14.xyz, r6.w).xyz;
r12.xyw = r14.xyz * r12.xyw;
r4.w = max(g_skipSkyVisibilityAsAO, r4.w);
r4.w = min(r4.w, r0.x);
r6.w = r10.x + r4.w;
r7.w = r10.y * -16 + -1;
r7.w = exp2(r7.w);
r6.w = log2(r6.w);
r6.w = r7.w * r6.w;
r6.w = exp2(r6.w);
r4.w = r6.w + r4.w;
r4.w = saturate(-1 + r4.w);
r13.xyz = r12.xyw * r4.www;
} else {
r13.xyz = float3(0,0,0);
}
}
r5.xyz = g_exposureMultipliers.yyy * r5.xyz;
r5.xyz = r5.xyz * r12.zzz;
r5.xyz = r5.xyz * r7.xyz;
r4.w = (int)r4.z & g_sssTranslucencyEnables;
r4.w = cmp((int)r4.w != 0);
r2.y = r2.y ? r4.w : 0;
r1.xy = g_shadowAccumTexture.Load(r1.xyz).xy;
r0.y = r11.y * r0.y + g_cameraPos.y;
r1.zw = g_lightDir.xz * r0.yy;
r1.zw = -r1.zw * g_cloudOffsetAndScale.ww + r6.xy;
r1.zw = r1.zw * g_cloudOffsetAndScale.zz + g_cloudOffsetAndScale.xy;
r1.z = g_cloudShadowTexture.SampleLevel(g_cloudShadowSampler_s, r1.zw, 0).x;
r1.z = saturate(g_cloudCoverageExponent.x + r1.z);
r1.z = log2(r1.z);
r1.z = g_cloudCoverageExponent.y * r1.z;
r1.z = exp2(r1.z);
r1.w = dot(r6.xyz, r6.xyz);
r1.w = sqrt(r1.w);
r1.w = saturate(r1.w * g_cloudFade.y + g_cloudFade.x);
r0.y = saturate(r0.y * g_cloudFade.w + g_cloudFade.z);
r0.y = max(r1.w, r0.y);
r0.y = r0.y * r0.y;
r1.w = 1 + -r1.z;
r0.y = r0.y * r1.w + r1.z;
r0.y = r1.x * r0.y;
r1.x = dot(r8.xyz, g_lightDir.xyz);
r1.z = saturate(r1.x);
r1.w = cmp(0 < r1.z);
if (r1.w != 0) {
r1.w = max(0.002000, r10.y);
r4.w = dot(g_lightDir.xyz, r11.xzw);
r10.xyz = -r4.www * g_lightDir.xyz + r11.xzw;
r4.w = cmp(r4.w < g_lightAngularRadiusX);
r6.w = dot(r10.xyz, r10.xyz);
r6.w = rsqrt(r6.w);
r10.xyz = r10.xyz * r6.www;
r10.xyz = g_lightAngularRadiusY * r10.xyz;
r10.xyz = g_lightAngularRadiusX * g_lightDir.xyz + r10.xyz;
r6.w = dot(r10.xyz, r10.xyz);
r6.w = rsqrt(r6.w);
r10.xyz = r10.xyz * r6.www;
r10.xyz = r4.www ? r10.xyz : r11.xzw;

r4.w = 0.000010 + abs(r5.w);

r11.xyz = -r6.xzy * r0.zzz + r10.xyz;
r5.w = dot(r11.xyz, r11.xyz);
r5.w = rsqrt(r5.w);
r11.xyz = r11.xyz * r5.www;
r6.xyz = -r6.xzy * r0.zzz + g_lightDir.xyz;
r0.z = dot(r6.xyz, r6.xyz);
r0.z = rsqrt(r0.z);
r6.xyz = r6.xyz * r0.zzz;
r0.z = saturate(dot(r10.xyz, r11.xyz));
r5.w = saturate(dot(g_lightDir.xyz, r6.xyz));
r6.x = saturate(dot(r8.xyz, r11.xyz));
r6.y = saturate(dot(r8.xyz, r10.xyz));
r0.z = 1 + -r0.z;
r6.z = r0.z * r0.z;
r6.z = r6.z * r6.z;
r0.z = r6.z * r0.z;
r8.xyz = r2.xxx + -r9.xyz;
r8.xyz = r8.xyz * r0.zzz + r9.xyz;
r0.z = r1.w * r1.w;
r1.w = -r4.w * r0.z + r4.w;
r1.w = r1.w * r4.w + r0.z;
r1.w = sqrt(r1.w);
r2.x = -r6.y * r0.z + r6.y;
r2.x = r2.x * r6.y + r0.z;
r2.x = sqrt(r2.x);
r2.x = r4.w * r2.x;
r1.w = r6.y * r1.w + r2.x;
r1.w = 0.5 / r1.w;
r2.x = r6.x * r0.z + -r6.x;
r2.x = r2.x * r6.x + 1;
r2.x = r2.x * r2.x;
r0.z = r0.z / r2.x;
r0.z = r1.w * r0.z;
r6.xyz = r8.xyz * r0.zzz;
r0.z = r0.w * -0.337748349 + 1;
r1.w = r5.w * r5.w;
r1.w = dot(r1.ww, r0.ww);
r0.w = r0.w * 0.5 + r1.w;
r1.w = 1 + -r1.z;
r2.x = r1.w * r1.w;
r2.x = r2.x * r2.x;
r1.w = r2.x * r1.w;
r0.w = -1 + r0.w;
r1.w = r0.w * r1.w + 1;
r2.x = 1 + -r4.w;
r4.w = r2.x * r2.x;
r4.w = r4.w * r4.w;
r2.x = r4.w * r2.x;
r0.w = r0.w * r2.x + 1;
r0.w = r1.w * r0.w;
r0.z = r0.w * r0.z;
r0.w = r1.z * r0.y;
r8.xyz = g_lightIlluminance.xyz * r0.www;
r9.xyz = r8.xyz * r0.zzz;
r6.xyz = r8.xyz * r6.xyz;
} else {
r9.xyz = float3(0,0,0);
r6.xyz = float3(0,0,0);
}
if (r2.y != 0) {
r0.z = frac(r2.z);
r0.w = (int)r4.z & g_sssAutomaticThicknessEnables;
r2.xyz = g_translucencyCoefficients0[r2.w].xyz * r0.zzz;

r0.z = max(0.000010, r1.y);

r0.z = log2(r0.z);
r0.z = r4.y + -r0.z;
r1.y = g_translucencyCoefficients1[r2.w].x * r4.y;
r0.z = r0.w ? r0.z : r1.y;
r1.y = saturate(0.100000001 + -r1.x);
r0.y = r1.y * r0.y;
r1.y = 1 + -r1.z;
r1.y = 0.25 * r1.y;
r1.x = -0.5 + r1.x;
r1.x = saturate(-1.81818175 * r1.x);
r1.z = r1.x * -2 + 3;
r1.x = r1.x * r1.x;
r1.x = r1.z * r1.x;
r1.x = r1.y * r1.x;
r0.y = r0.w ? r1.x : r0.y;
r0.y = g_translucencyCoefficients1[r2.w].y * r0.y;
r0.w = saturate(r4.y * -4 + 4);
r1.xyz = r2.xyz + r2.xyz;
r1.xyz = float3(-0.124999993,-0.124999993,-0.124999993) / r1.xyz;
r1.xyz = float3(1.442695,1.442695,1.442695) * r1.xyz;
r1.xyz = exp2(r1.xyz);
r2.xyz = r3.xyz * r4.xxx + -r1.xyz;
r1.xyz = g_translucencyCoefficients0[r2.w].www * r2.xyz + r1.xyz;

r1.xyz = max(float3(0.000010,0.000010,0.000010), r1.xyz);

r0.z = r0.z * r0.z;
r0.z = 8 * r0.z;
r1.xyz = log2(r1.xyz);
r1.xyz = r1.xyz * r0.zzz;
r1.xyz = exp2(r1.xyz);
r1.xyz = r1.xyz * r0.yyy;
r0.yzw = r1.xyz * r0.www;
r9.xyz = g_lightIlluminance.xyz * r0.yzw + r9.xyz;
}
r0.y = -1 + r0.x;
r0.y = g_dynamicAOFactor * r0.y + 1;
r0.yzw = r9.xyz * r0.yyy;
r1.x = g_lightSpecularScale * g_exposureMultipliers.z;
r1.xyz = r6.xyz * r1.xxx;
r0.yzw = r7.xyz * r0.yzw;
r0.yzw = float3(0.318309873,0.318309873,0.318309873) * r0.yzw;
r1.xyz = float3(0.318309873,0.318309873,0.318309873) * r1.xyz;
r0.xyz = r5.xyz * r0.xxx + r0.yzw;
r2.xyz = g_exposureMultipliers.zzz * r0.xyz;
r1.xyz = r13.xyz * g_exposureMultipliers.zzz + r1.xyz;
if (r3.w == 0) {
r1.xyz = r0.xyz * g_exposureMultipliers.zzz + r1.xyz;
r2.xyz = float3(0,0,0);
}
o1.xyz = r2.xyz;
o1.w = 0;
o0.xyz = r1.xyz;
o0.w = 0;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
// using 3Dmigoto v1.2.43 on Sun Sep 04 21:54:56 2016
//
//
// Buffer Definitions:
//
// cbuffer CommonConstants
// {
//
// float4x4 g_invViewProjMatrix; // Offset: 0 Size: 64
// float3 g_cameraPos; // Offset: 64 Size: 12
// uint g_forceSplitLighting; // Offset: 76 Size: 4
// float4 g_exposureMultipliers; // Offset: 80 Size: 16
// float2 g_invScreenSize; // Offset: 96 Size: 8
// float g_distantIblMipmapBias; // Offset: 104 Size: 4
// uint g_distantIBLArrayLayerCount; // Offset: 108 Size: 4
// uint g_distantIBLLatLongWidth; // Offset: 112 Size: 4 [unused]
// uint g_distantIBLLatLongHeight; // Offset: 116 Size: 4 [unused]
// uint g_distantIBLRenderMode; // Offset: 120 Size: 4
// uint g_referenceModeComponent; // Offset: 124 Size: 4 [unused]
// float g_skipSkyVisibilityAsAO; // Offset: 128 Size: 4
// uint g_sssScatteringEnables; // Offset: 132 Size: 4
// uint g_tileCountX; // Offset: 136 Size: 4 [unused]
// float unused; // Offset: 140 Size: 4 [unused]
// float4x3 g_normalBasisTransforms[6];// Offset: 144 Size: 288
// uint g_sssTranslucencyEnables; // Offset: 432 Size: 4
// uint g_sssAutomaticThicknessEnables;// Offset: 436 Size: 4
// float g_lightAngularRadiusX; // Offset: 440 Size: 4
// float g_lightAngularRadiusY; // Offset: 444 Size: 4
// float4 g_translucencyCoefficients0[8];// Offset: 448 Size: 128
// float4 g_translucencyCoefficients1[8];// Offset: 576 Size: 128
// float3 g_lightIlluminance; // Offset: 704 Size: 12
// float g_lightSpecularScale; // Offset: 716 Size: 4
// float4 g_cloudOffsetAndScale; // Offset: 720 Size: 16
// float4 g_cloudCoverageExponent; // Offset: 736 Size: 16
// float4 g_cloudFade; // Offset: 752 Size: 16
// float3 g_lightDir; // Offset: 768 Size: 12
// float g_dynamicAOFactor; // Offset: 780 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_preIntegratedDLSampler sampler NA NA 0 1
// g_preIntegratedFGSampler sampler NA NA 1 1
// g_cloudShadowSampler sampler NA NA 3 1
// g_gbufferTexture0 texture float4 2d 0 1
// g_gbufferTexture1 texture float4 2d 1 1
// g_gbufferTexture2 texture float4 2d 2 1
// g_gbufferTexture3 texture float4 2d 3 1
// g_depthTexture texture float 2d 6 1
// g_shadowAccumTexture texture float4 2d 7 1
// g_distantIBLPreIntegratedSpecularDL texture float4 cube 8 1
// g_distantIBLPreIntegratedSpecularDLArray texture float4 cubearray 9 1
// g_preIntegratedFG texture float4 2d 10 1
// g_diffuseOcclusionTexture texture float 2d 15 1
// g_cloudShadowTexture texture float4 2d 18 1
// g_materialIdTileMaskTexture texture uint 2d 19 1
// CommonConstants cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xy
// TEXCOORD 0 xy 1 NONE float
//
//
// 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
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[49], dynamicIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s3, 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) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texturecube (float,float,float,float) t8
dcl_resource_texturecubearray (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t15
dcl_resource_texture2d (float,float,float,float) t18
dcl_resource_texture2d (uint,uint,uint,uint) t19
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 15
mul r0.xy, v0.xyxx, cb0[6].xyxx
ftoi r1.xy, v0.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t15.xyzw, s1, l(0.000000)
round_z r0.yz, v0.xxyx
mul r0.yz, r0.yyzy, cb0[6].xxyx
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r2.xyzw, r1.xyww, t0.xyzw
ld_indexable(texture2d)(float,float,float,float) r3.xyzw, r1.xyww, t1.xyzw
ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r1.xyww, t2.xyzw
ld_indexable(texture2d)(float,float,float,float) r5.xyz, r1.xyww, t3.xyzw
ld_indexable(texture2d)(float,float,float,float) r6.z, r1.xyww, t6.yzxw
mul r0.w, r3.w, l(6.000000)
round_ne r0.w, r0.w
ftou r0.w, r0.w
mad r7.xy, r2.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r2.x, r7.xyxx, r7.xyxx
min r2.x, r2.x, l(1.000000)
add r2.x, -r2.x, l(1.000000)
sqrt r7.z, r2.x
imul null, r0.w, r0.w, l(3)
dp3 r8.x, r7.xyzx, cb0[r0.w + 9].xyzx
dp3 r8.y, r7.xyzx, cb0[r0.w + 10].xyzx
dp3 r8.z, r7.xyzx, cb0[r0.w + 11].xyzx
add r0.w, -r2.z, l(1.000000)
mul r2.x, r2.w, l(3.000000)
round_ne r2.x, r2.x
ftoi r2.x, r2.x
ieq r2.xy, r2.xxxx, l(2, 1, 0, 0)
and r2.x, r4.x, r2.x
mul r2.z, r4.x, l(7.968750)
ftoi r2.w, r2.z
imin r2.w, r2.w, l(7)
and r2.w, r2.w, r2.y
movc r3.w, r2.y, l(0), r4.y
add r4.x, -r3.w, l(1.000000)
mul r7.xyz, r3.xyzx, r4.xxxx
add r2.x, -r2.x, l(1.000000)
mul r2.x, r2.x, r4.z
mul r2.x, r2.x, r2.x
mul r4.z, r2.x, l(0.160000)
mad r9.xyz, -r2.xxxx, l(0.160000, 0.160000, 0.160000, 0.000000), r3.xyzx
mad r9.xyz, r3.wwww, r9.xyzx, r4.zzzz
dp3 r2.x, r9.xyzx, l(0.330000, 0.330000, 0.330000, 0.000000)
mul_sat r2.x, r2.x, l(50.000000)
mul r10.y, r0.w, r0.w
ushr r11.xy, r1.xyxx, l(4, 4, 0, 0)
mov r11.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r3.w, r11.xyzw, t19.yzwx
ubfe r3.w, l(1), l(1), r3.w
ine r3.w, r3.w, l(0)
ishl r4.z, l(1), r2.w
and r5.w, r4.z, cb0[8].y
ine r5.w, r5.w, l(0)
and r5.w, r2.y, r5.w
and r3.w, r3.w, r5.w
if_nz r3.w
mov r7.xyz, l(1.000000,1.000000,1.000000,0)
mov r3.w, l(1)
else
and r3.w, cb0[4].w, l(1)
endif
mad r0.yz, r0.yyzy, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
mul r6.xy, r0.yzyy, l(1.000000, -1.000000, 0.000000, 0.000000)
mov r6.w, l(1.000000)
dp4 r11.x, r6.xyzw, cb0[0].xyzw
dp4 r11.y, r6.xyzw, cb0[1].xyzw
dp4 r11.z, r6.xyzw, cb0[2].xyzw
dp4 r0.y, r6.xyzw, cb0[3].xyzw
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
mul r6.xyz, r0.yyyy, r11.xzyx
dp3 r0.z, -r6.xyzx, -r6.xyzx
rsq r0.z, r0.z
mul r11.xzw, r0.zzzz, -r6.xxzy
dp3 r5.w, r8.xyzx, r11.xzwx
mov_sat r10.x, r5.w
dp3 r6.w, -r11.xzwx, r8.xyzx
add r6.w, r6.w, r6.w
mad r11.xzw, r8.xxyz, -r6.wwww, -r11.xxzw
sample_l_indexable(texture2d)(float,float,float,float) r12.xyz, r10.xyxx, t10.xyzw, s1, l(0.000000)
mul r6.w, r2.x, r12.y
mad r12.xyw, r9.xyxz, r12.xxxx, r6.wwww
ieq r6.w, cb0[7].z, l(1)
if_nz r6.w
mad r6.w, -r0.w, r0.w, l(1.000000)
max r7.w, r6.w, l(0.000000)
sqrt r7.w, r7.w
mad r7.w, r0.w, r0.w, r7.w
mul r6.w, r6.w, r7.w
add r13.xyz, -r8.xyzx, r11.xzwx
mad r13.xyz, r6.wwww, r13.xyzx, r8.xyzx
iadd r6.w, cb0[6].w, l(-1)
utof r6.w, r6.w
mul r6.w, r0.w, r6.w
round_ni r13.w, r6.w
mad r7.w, r0.w, r0.w, l(1.000000)
log r7.w, r7.w
sample_l_indexable(texturecubearray)(float,float,float,float) r14.xyz, r13.xyzw, t9.xyzw, s0, r7.w
mul r14.xyz, r12.xywx, r14.xyzx
round_pi r13.w, r6.w
sample_l_indexable(texturecubearray)(float,float,float,float) r13.xyz, r13.xyzw, t9.xyzw, s0, r7.w
frc r6.w, r6.w
mad r13.xyz, r13.xyzx, r12.xywx, -r14.xyzx
mad r13.xyz, r6.wwww, r13.xyzx, r14.xyzx
else
if_z cb0[7].z
mad r6.w, -r0.w, r0.w, l(1.000000)
max r7.w, r6.w, l(0.000000)
sqrt r7.w, r7.w
mad r7.w, r0.w, r0.w, r7.w
mul r6.w, r6.w, r7.w
add r14.xyz, -r8.xyzx, r11.xzwx
mad r14.xyz, r6.wwww, r14.xyzx, r8.xyzx
mad r6.w, r10.y, cb0[6].z, l(1.000000)
log r6.w, r6.w
sample_l_indexable(texturecube)(float,float,float,float) r14.xyz, r14.xyzx, t8.xyzw, s0, r6.w
mul r12.xyw, r12.xyxw, r14.xyxz
max r4.w, r4.w, cb0[8].x
min r4.w, r0.x, r4.w
add r6.w, r4.w, r10.x
mad r7.w, r10.y, l(-16.000000), l(-1.000000)
exp r7.w, r7.w
log r6.w, r6.w
mul r6.w, r6.w, r7.w
exp r6.w, r6.w
add r4.w, r4.w, r6.w
add_sat r4.w, r4.w, l(-1.000000)
mul r13.xyz, r4.wwww, r12.xywx
else
mov r13.xyz, l(0,0,0,0)
endif
endif
mul r5.xyz, r5.xyzx, cb0[5].yyyy
mul r5.xyz, r12.zzzz, r5.xyzx
mul r5.xyz, r7.xyzx, r5.xyzx
and r4.w, r4.z, cb0[27].x
ine r4.w, r4.w, l(0)
and r2.y, r2.y, r4.w
ld_indexable(texture2d)(float,float,float,float) r1.xy, r1.xyzw, t7.xyzw
mad r0.y, r11.y, r0.y, cb0[4].y
mul r1.zw, r0.yyyy, cb0[48].xxxz
mad r1.zw, -r1.zzzw, cb0[45].wwww, r6.xxxy
mad r1.zw, r1.zzzw, cb0[45].zzzz, cb0[45].xxxy
sample_l_indexable(texture2d)(float,float,float,float) r1.z, r1.zwzz, t18.yzxw, s3, l(0.000000)
add_sat r1.z, r1.z, cb0[46].x
log r1.z, r1.z
mul r1.z, r1.z, cb0[46].y
exp r1.z, r1.z
dp3 r1.w, r6.xyzx, r6.xyzx
sqrt r1.w, r1.w
mad_sat r1.w, r1.w, cb0[47].y, cb0[47].x
mad_sat r0.y, r0.y, cb0[47].w, cb0[47].z
max r0.y, r0.y, r1.w
mul r0.y, r0.y, r0.y
add r1.w, -r1.z, l(1.000000)
mad r0.y, r0.y, r1.w, r1.z
mul r0.y, r0.y, r1.x
dp3 r1.x, r8.xyzx, cb0[48].xyzx
mov_sat r1.z, r1.x
lt r1.w, l(0.000000), r1.z
if_nz r1.w
max r1.w, r10.y, l(0.002000)
dp3 r4.w, cb0[48].xyzx, r11.xzwx
mad r10.xyz, -r4.wwww, cb0[48].xyzx, r11.xzwx
lt r4.w, r4.w, cb0[27].z
dp3 r6.w, r10.xyzx, r10.xyzx
rsq r6.w, r6.w
mul r10.xyz, r6.wwww, r10.xyzx
mul r10.xyz, r10.xyzx, cb0[27].wwww
mad r10.xyz, cb0[27].zzzz, cb0[48].xyzx, r10.xyzx
dp3 r6.w, r10.xyzx, r10.xyzx
rsq r6.w, r6.w
mul r10.xyz, r6.wwww, r10.xyzx
movc r10.xyz, r4.wwww, r10.xyzx, r11.xzwx
add r4.w, |r5.w|, l(0.000010)
mad r11.xyz, -r6.xzyx, r0.zzzz, r10.xyzx
dp3 r5.w, r11.xyzx, r11.xyzx
rsq r5.w, r5.w
mul r11.xyz, r5.wwww, r11.xyzx
mad r6.xyz, -r6.xzyx, r0.zzzz, cb0[48].xyzx
dp3 r0.z, r6.xyzx, r6.xyzx
rsq r0.z, r0.z
mul r6.xyz, r0.zzzz, r6.xyzx
dp3_sat r0.z, r10.xyzx, r11.xyzx
dp3_sat r5.w, cb0[48].xyzx, r6.xyzx
dp3_sat r6.x, r8.xyzx, r11.xyzx
dp3_sat r6.y, r8.xyzx, r10.xyzx
add r0.z, -r0.z, l(1.000000)
mul r6.z, r0.z, r0.z
mul r6.z, r6.z, r6.z
mul r0.z, r0.z, r6.z
add r8.xyz, -r9.xyzx, r2.xxxx
mad r8.xyz, r8.xyzx, r0.zzzz, r9.xyzx
mul r0.z, r1.w, r1.w
mad r1.w, -r4.w, r0.z, r4.w
mad r1.w, r1.w, r4.w, r0.z
sqrt r1.w, r1.w
mad r2.x, -r6.y, r0.z, r6.y
mad r2.x, r2.x, r6.y, r0.z
sqrt r2.x, r2.x
mul r2.x, r2.x, r4.w
mad r1.w, r6.y, r1.w, r2.x
div r1.w, l(0.500000), r1.w
mad r2.x, r6.x, r0.z, -r6.x
mad r2.x, r2.x, r6.x, l(1.000000)
mul r2.x, r2.x, r2.x
div r0.z, r0.z, r2.x
mul r0.z, r0.z, r1.w
mul r6.xyz, r0.zzzz, r8.xyzx
mad r0.z, r0.w, l(-0.337748349), l(1.000000)
mul r1.w, r5.w, r5.w
dp2 r1.w, r1.wwww, r0.wwww
mad r0.w, r0.w, l(0.500000), r1.w
add r1.w, -r1.z, l(1.000000)
mul r2.x, r1.w, r1.w
mul r2.x, r2.x, r2.x
mul r1.w, r1.w, r2.x
add r0.w, r0.w, l(-1.000000)
mad r1.w, r0.w, r1.w, l(1.000000)
add r2.x, -r4.w, l(1.000000)
mul r4.w, r2.x, r2.x
mul r4.w, r4.w, r4.w
mul r2.x, r2.x, r4.w
mad r0.w, r0.w, r2.x, l(1.000000)
mul r0.w, r0.w, r1.w
mul r0.z, r0.z, r0.w
mul r0.w, r0.y, r1.z
mul r8.xyz, r0.wwww, cb0[44].xyzx
mul r9.xyz, r0.zzzz, r8.xyzx
mul r6.xyz, r6.xyzx, r8.xyzx
else
mov r9.xyz, l(0,0,0,0)
mov r6.xyz, l(0,0,0,0)
endif
if_nz r2.y
frc r0.z, r2.z
and r0.w, r4.z, cb0[27].y
mul r2.xyz, r0.zzzz, cb0[r2.w + 28].xyzx
max r0.z, r1.y, l(0.000010)
log r0.z, r0.z
add r0.z, -r0.z, r4.y
mul r1.y, r4.y, cb0[r2.w + 36].x
movc r0.z, r0.w, r0.z, r1.y
add_sat r1.y, -r1.x, l(0.100000)
mul r0.y, r0.y, r1.y
add r1.y, -r1.z, l(1.000000)
mul r1.y, r1.y, l(0.250000)
add r1.x, r1.x, l(-0.500000)
mul_sat r1.x, r1.x, l(-1.81818175)
mad r1.z, r1.x, l(-2.000000), l(3.000000)
mul r1.x, r1.x, r1.x
mul r1.x, r1.x, r1.z
mul r1.x, r1.x, r1.y
movc r0.y, r0.w, r1.x, r0.y
mul r0.y, r0.y, cb0[r2.w + 36].y
mad_sat r0.w, r4.y, l(-4.000000), l(4.000000)
add r1.xyz, r2.xyzx, r2.xyzx
div r1.xyz, l(-0.124999993, -0.124999993, -0.124999993, 0.000000), r1.xyzx
mul r1.xyz, r1.xyzx, l(1.442695, 1.442695, 1.442695, 0.000000)
exp r1.xyz, r1.xyzx
mad r2.xyz, r3.xyzx, r4.xxxx, -r1.xyzx
mad r1.xyz, cb0[r2.w + 28].wwww, r2.xyzx, r1.xyzx
max r1.xyz, r1.xyzx, l(0.000010, 0.000010, 0.000010, 0.000000)
mul r0.z, r0.z, r0.z
mul r0.z, r0.z, l(8.000000)
log r1.xyz, r1.xyzx
mul r1.xyz, r0.zzzz, r1.xyzx
exp r1.xyz, r1.xyzx
mul r1.xyz, r0.yyyy, r1.xyzx
mul r0.yzw, r0.wwww, r1.xxyz
mad r9.xyz, cb0[44].xyzx, r0.yzwy, r9.xyzx
endif
add r0.y, r0.x, l(-1.000000)
mad r0.y, cb0[48].w, r0.y, l(1.000000)
mul r0.yzw, r0.yyyy, r9.xxyz
mul r1.x, cb0[5].z, cb0[44].w
mul r1.xyz, r1.xxxx, r6.xyzx
mul r0.yzw, r0.yyzw, r7.xxyz
mul r0.yzw, r0.yyzw, l(0.000000, 0.318309873, 0.318309873, 0.318309873)
mul r1.xyz, r1.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
mad r0.xyz, r5.xyzx, r0.xxxx, r0.yzwy
mul r2.xyz, r0.xyzx, cb0[5].zzzz
mad r1.xyz, r13.xyzx, cb0[5].zzzz, r1.xyzx
if_z r3.w
mad r1.xyz, r0.xyzx, cb0[5].zzzz, r1.xyzx
mov r2.xyz, l(0,0,0,0)
endif
mov o1.xyz, r2.xyzx
mov o1.w, l(0)
mov o0.xyz, r1.xyzx
mov o0.w, l(0)
ret
// Approximately 291 instruction slots used

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

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

#30
Posted 09/05/2016 01:34 AM   
  2 / 12    
Scroll To Top