3Dmigoto now open-source...
  51 / 143    
[quote="masterotaku"][quote="DarkStarSword"]-snip about Dolphin-[/quote] Thank you, DarkStarSword. Still (of two games I tried, this only happened in Baten Kaitos), when I dump shaders in Dolphin with the newest 3Dmigoto version (1.2.25), shaders have randomly one or a few errors (like "r1.xyzw = (int5)clights[1].color;") that cause this in the log: [code]C:\Users\Alejandro\Documents\Dolphin-x64 8717\wrapper1349(82,14-17): error X3004: undeclared identifier 'int5'[/code][/quote]Can you give me a complete example of one of these shaders? I'm a bit of a noob at the decompiler (that's mostly been bo3b's domain so far), so I could have screwed up something in the ibfe instruction (like counting "c-o-l-o-r" as a 5 component swizzle), but the example you posted there does not appear to be one of those.
masterotaku said:
DarkStarSword said:-snip about Dolphin-


Thank you, DarkStarSword. Still (of two games I tried, this only happened in Baten Kaitos), when I dump shaders in Dolphin with the newest 3Dmigoto version (1.2.25), shaders have randomly one or a few errors (like "r1.xyzw = (int5)clights[1].color;") that cause this in the log:

C:\Users\Alejandro\Documents\Dolphin-x64 8717\wrapper1349(82,14-17): error X3004: undeclared identifier 'int5'
Can you give me a complete example of one of these shaders? I'm a bit of a noob at the decompiler (that's mostly been bo3b's domain so far), so I could have screwed up something in the ibfe instruction (like counting "c-o-l-o-r" as a 5 component swizzle), but the example you posted there does not appear to be one of those.

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

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

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

Posted 01/20/2016 02:40 AM   
[quote="Oomek"]@DarkStarSword [code] HackerDevice::CreatePixelShader called with BytecodeLength = 6208, handle = 8FFA7000, ClassLinkage = 00000000 bytecode hash = 9b3565878a677117 creating HLSL representation. error parsing shader> 7 Error parsing buffer offset: // 0x00000000 0x00000000 0x3f800000 0x00000000 // 0x00000000 0x00 shader registered for possible reloading: 9b3565878a677117_ps as bin - returns result = 0, handle = 86465130 [/code] [code] // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.23 on Mon Jan 18 15:02:10 2016 // // // Buffer Definitions: // // cbuffer $Globals // { // // float4 velocityDecodingParams; // Offset: 0 Size: 16 [unused] // float4 renderSlice; // Offset: 16 Size: 16 [unused] // float4 sampler0IDim; // Offset: 32 Size: 16 [unused] // float2 sampler1IDim; // Offset: 48 Size: 8 [unused] // float2 sampler2IDim; // Offset: 56 Size: 8 [unused] // float2 sampler0Dim; // Offset: 64 Size: 8 [unused] // float2 sampler1Dim; // Offset: 72 Size: 8 [unused] // float2 sampler2Dim; // Offset: 80 Size: 8 [unused] // float4 ditherMatrixIDim; // Offset: 96 Size: 16 [unused] // float4x4 screenEnvXForm; // Offset: 112 Size: 64 [unused] // float2 bloomHighIDim; // Offset: 176 Size: 8 [unused] // float2 bloomLowIDim; // Offset: 184 Size: 8 [unused] // float2 bloomMediumIDim; // Offset: 192 Size: 8 [unused] // float4x4 lensFlareParams; // Offset: 208 Size: 64 [unused] // float4x4 lensFlareParams2; // Offset: 272 Size: 64 [unused] // float lensFlareParams3; // Offset: 336 Size: 4 [unused] // float2 streakIDim; // Offset: 340 Size: 8 [unused] // float2 streak2IDim; // Offset: 352 Size: 8 [unused] // float2 streak3IDim; // Offset: 360 Size: 8 [unused] // float4x4 streakXForm; // Offset: 368 Size: 64 [unused] // float4x4 streakXFormI0; // Offset: 432 Size: 64 // float4x4 streakXFormI1; // Offset: 496 Size: 64 // float4x4 streakXFormI2; // Offset: 560 Size: 64 // float2 streakFactor; // Offset: 624 Size: 8 // float4 streakFactor0; // Offset: 640 Size: 16 // float4 streakFactor1; // Offset: 656 Size: 16 // float4 streakFactor2; // Offset: 672 Size: 16 // float4 streakParams; // Offset: 688 Size: 16 [unused] // float2 warpMapIDim; // Offset: 704 Size: 8 [unused] // float4 distortionParams; // Offset: 720 Size: 16 [unused] // float2 prevFrameIDim; // Offset: 736 Size: 8 [unused] // float4 screenProj; // Offset: 752 Size: 16 [unused] // float motionPartition; // Offset: 768 Size: 4 [unused] // float luminanceMin; // Offset: 772 Size: 4 [unused] // float luminanceMax; // Offset: 776 Size: 4 [unused] // float keyValue; // Offset: 780 Size: 4 [unused] // float vignetteAmount; // Offset: 784 Size: 4 [unused] // float4 vignetteBlur; // Offset: 800 Size: 16 [unused] // float vignetteSaturation; // Offset: 816 Size: 4 [unused] // float4 vignetteColourTL; // Offset: 832 Size: 16 [unused] // float4 vignetteColourTR; // Offset: 848 Size: 16 [unused] // float4 vignetteColourBL; // Offset: 864 Size: 16 [unused] // float4 vignetteColourBR; // Offset: 880 Size: 16 [unused] // float2 vignetteTransition; // Offset: 896 Size: 8 [unused] // float vignetteShape; // Offset: 904 Size: 4 [unused] // float4 vignetteParams1; // Offset: 912 Size: 16 [unused] // float4 vignetteParams2; // Offset: 928 Size: 16 [unused] // float3 preMultipliedTint; // Offset: 944 Size: 12 [unused] // float4 colorParams; // Offset: 960 Size: 16 [unused] // float lowerThreshold; // Offset: 976 Size: 4 [unused] // float upperThresholdMul; // Offset: 980 Size: 4 [unused] // float bigBloomThreshold; // Offset: 984 Size: 4 [unused] // float smallBloomThreshold; // Offset: 988 Size: 4 [unused] // float upperThresholdFactor; // Offset: 992 Size: 4 [unused] // float smallBloomFactor; // Offset: 996 Size: 4 [unused] // float mediumBloomFactor; // Offset: 1000 Size: 4 [unused] // float largeBloomFactor; // Offset: 1004 Size: 4 [unused] // float bloomPrevalence; // Offset: 1008 Size: 4 [unused] // float adaptStrength; // Offset: 1012 Size: 4 [unused] // float adaptDamping; // Offset: 1016 Size: 4 [unused] // float devVal; // Offset: 1020 Size: 4 [unused] // float intensity; // Offset: 1024 Size: 4 [unused] // float2 decodeLUTIDim; // Offset: 1028 Size: 8 [unused] // float4x4 colorXForm; // Offset: 1040 Size: 64 [unused] // = 0x3f800000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x3f800000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x3f800000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x3f800000 // float4x4 colorXFormBloom; // Offset: 1104 Size: 64 [unused] // = 0x3f800000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x3f800000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x3f800000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x3f800000 // float4 paletteWeight; // Offset: 1168 Size: 16 [unused] // float4 focalParams; // Offset: 1184 Size: 16 [unused] // float dofBlurScale; // Offset: 1200 Size: 4 [unused] // = 0x40400000 // float dofDebugOverlay; // Offset: 1204 Size: 4 [unused] // = 0x00000000 // float4x4 interferenceParams; // Offset: 1216 Size: 64 [unused] // float2 interferenceVelocityDecode; // Offset: 1280 Size: 8 [unused] // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // streak sampler NA NA 0 1 // streak2 sampler NA NA 1 1 // streak3 sampler NA NA 2 1 // streak texture float4 2d 0 1 // streak2 texture float4 2d 1 1 // streak3 texture float4 2d 2 1 // $Globals cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[43], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, 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_input_ps linear v1.xy dcl_output o0.xyzw dcl_temps 2 mul r0.xy, v1.yyyy, cb0[32].xyxx mad r0.xy, cb0[31].xyxx, v1.xxxx, r0.xyxx add r0.xy, r0.xyxx, cb0[34].xyxx sample_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t1.xyzw, s1 mul r0.xyz, r0.xyzx, cb0[41].xyzx mul r1.xy, v1.yyyy, cb0[28].xyxx mad r1.xy, cb0[27].xyxx, v1.xxxx, r1.xyxx add r1.xy, r1.xyxx, cb0[30].xyxx sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t0.xyzw, s0 mad r0.xyz, r1.xyzx, cb0[40].xyzx, r0.xyzx mul r1.xy, v1.yyyy, cb0[36].xyxx mad r1.xy, cb0[35].xyxx, v1.xxxx, r1.xyxx add r1.xy, r1.xyxx, cb0[38].xyxx sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t2.xyzw, s2 mad r0.xyz, r1.xyzx, cb0[42].xyzx, r0.xyzx mul r0.xyz, r0.xyzx, cb0[39].yyyy exp r0.xyz, r0.xyzx add r0.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) mul o0.xyz, r0.xyzx, cb0[39].xxxx mov o0.w, l(1.000000) ret // Approximately 22 instruction slots used [/code] [/quote] Ah, right. I was about 1/3 of the way through fixing this. Let me see if I can finish this up.
Oomek said:@DarkStarSword
HackerDevice::CreatePixelShader called with BytecodeLength = 6208, handle = 8FFA7000, ClassLinkage = 00000000
bytecode hash = 9b3565878a677117
creating HLSL representation.
error parsing shader> 7 Error parsing buffer offset: // 0x00000000 0x00000000 0x3f800000 0x00000000
// 0x00000000 0x00
shader registered for possible reloading: 9b3565878a677117_ps as bin -
returns result = 0, handle = 86465130


//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.23 on Mon Jan 18 15:02:10 2016
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4 velocityDecodingParams; // Offset: 0 Size: 16 [unused]
// float4 renderSlice; // Offset: 16 Size: 16 [unused]
// float4 sampler0IDim; // Offset: 32 Size: 16 [unused]
// float2 sampler1IDim; // Offset: 48 Size: 8 [unused]
// float2 sampler2IDim; // Offset: 56 Size: 8 [unused]
// float2 sampler0Dim; // Offset: 64 Size: 8 [unused]
// float2 sampler1Dim; // Offset: 72 Size: 8 [unused]
// float2 sampler2Dim; // Offset: 80 Size: 8 [unused]
// float4 ditherMatrixIDim; // Offset: 96 Size: 16 [unused]
// float4x4 screenEnvXForm; // Offset: 112 Size: 64 [unused]
// float2 bloomHighIDim; // Offset: 176 Size: 8 [unused]
// float2 bloomLowIDim; // Offset: 184 Size: 8 [unused]
// float2 bloomMediumIDim; // Offset: 192 Size: 8 [unused]
// float4x4 lensFlareParams; // Offset: 208 Size: 64 [unused]
// float4x4 lensFlareParams2; // Offset: 272 Size: 64 [unused]
// float lensFlareParams3; // Offset: 336 Size: 4 [unused]
// float2 streakIDim; // Offset: 340 Size: 8 [unused]
// float2 streak2IDim; // Offset: 352 Size: 8 [unused]
// float2 streak3IDim; // Offset: 360 Size: 8 [unused]
// float4x4 streakXForm; // Offset: 368 Size: 64 [unused]
// float4x4 streakXFormI0; // Offset: 432 Size: 64
// float4x4 streakXFormI1; // Offset: 496 Size: 64
// float4x4 streakXFormI2; // Offset: 560 Size: 64
// float2 streakFactor; // Offset: 624 Size: 8
// float4 streakFactor0; // Offset: 640 Size: 16
// float4 streakFactor1; // Offset: 656 Size: 16
// float4 streakFactor2; // Offset: 672 Size: 16
// float4 streakParams; // Offset: 688 Size: 16 [unused]
// float2 warpMapIDim; // Offset: 704 Size: 8 [unused]
// float4 distortionParams; // Offset: 720 Size: 16 [unused]
// float2 prevFrameIDim; // Offset: 736 Size: 8 [unused]
// float4 screenProj; // Offset: 752 Size: 16 [unused]
// float motionPartition; // Offset: 768 Size: 4 [unused]
// float luminanceMin; // Offset: 772 Size: 4 [unused]
// float luminanceMax; // Offset: 776 Size: 4 [unused]
// float keyValue; // Offset: 780 Size: 4 [unused]
// float vignetteAmount; // Offset: 784 Size: 4 [unused]
// float4 vignetteBlur; // Offset: 800 Size: 16 [unused]
// float vignetteSaturation; // Offset: 816 Size: 4 [unused]
// float4 vignetteColourTL; // Offset: 832 Size: 16 [unused]
// float4 vignetteColourTR; // Offset: 848 Size: 16 [unused]
// float4 vignetteColourBL; // Offset: 864 Size: 16 [unused]
// float4 vignetteColourBR; // Offset: 880 Size: 16 [unused]
// float2 vignetteTransition; // Offset: 896 Size: 8 [unused]
// float vignetteShape; // Offset: 904 Size: 4 [unused]
// float4 vignetteParams1; // Offset: 912 Size: 16 [unused]
// float4 vignetteParams2; // Offset: 928 Size: 16 [unused]
// float3 preMultipliedTint; // Offset: 944 Size: 12 [unused]
// float4 colorParams; // Offset: 960 Size: 16 [unused]
// float lowerThreshold; // Offset: 976 Size: 4 [unused]
// float upperThresholdMul; // Offset: 980 Size: 4 [unused]
// float bigBloomThreshold; // Offset: 984 Size: 4 [unused]
// float smallBloomThreshold; // Offset: 988 Size: 4 [unused]
// float upperThresholdFactor; // Offset: 992 Size: 4 [unused]
// float smallBloomFactor; // Offset: 996 Size: 4 [unused]
// float mediumBloomFactor; // Offset: 1000 Size: 4 [unused]
// float largeBloomFactor; // Offset: 1004 Size: 4 [unused]
// float bloomPrevalence; // Offset: 1008 Size: 4 [unused]
// float adaptStrength; // Offset: 1012 Size: 4 [unused]
// float adaptDamping; // Offset: 1016 Size: 4 [unused]
// float devVal; // Offset: 1020 Size: 4 [unused]
// float intensity; // Offset: 1024 Size: 4 [unused]
// float2 decodeLUTIDim; // Offset: 1028 Size: 8 [unused]
// float4x4 colorXForm; // Offset: 1040 Size: 64 [unused]
// = 0x3f800000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x3f800000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x3f800000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x3f800000
// float4x4 colorXFormBloom; // Offset: 1104 Size: 64 [unused]
// = 0x3f800000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x3f800000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x3f800000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x3f800000
// float4 paletteWeight; // Offset: 1168 Size: 16 [unused]
// float4 focalParams; // Offset: 1184 Size: 16 [unused]
// float dofBlurScale; // Offset: 1200 Size: 4 [unused]
// = 0x40400000
// float dofDebugOverlay; // Offset: 1204 Size: 4 [unused]
// = 0x00000000
// float4x4 interferenceParams; // Offset: 1216 Size: 64 [unused]
// float2 interferenceVelocityDecode; // Offset: 1280 Size: 8 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// streak sampler NA NA 0 1
// streak2 sampler NA NA 1 1
// streak3 sampler NA NA 2 1
// streak texture float4 2d 0 1
// streak2 texture float4 2d 1 1
// streak3 texture float4 2d 2 1
// $Globals cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[43], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, 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_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 2
mul r0.xy, v1.yyyy, cb0[32].xyxx
mad r0.xy, cb0[31].xyxx, v1.xxxx, r0.xyxx
add r0.xy, r0.xyxx, cb0[34].xyxx
sample_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t1.xyzw, s1
mul r0.xyz, r0.xyzx, cb0[41].xyzx
mul r1.xy, v1.yyyy, cb0[28].xyxx
mad r1.xy, cb0[27].xyxx, v1.xxxx, r1.xyxx
add r1.xy, r1.xyxx, cb0[30].xyxx
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t0.xyzw, s0
mad r0.xyz, r1.xyzx, cb0[40].xyzx, r0.xyzx
mul r1.xy, v1.yyyy, cb0[36].xyxx
mad r1.xy, cb0[35].xyxx, v1.xxxx, r1.xyxx
add r1.xy, r1.xyxx, cb0[38].xyxx
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t2.xyzw, s2
mad r0.xyz, r1.xyzx, cb0[42].xyzx, r0.xyzx
mul r0.xyz, r0.xyzx, cb0[39].yyyy
exp r0.xyz, r0.xyzx
add r0.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mul o0.xyz, r0.xyzx, cb0[39].xxxx
mov o0.w, l(1.000000)
ret
// Approximately 22 instruction slots used



Ah, right. I was about 1/3 of the way through fixing this. Let me see if I can finish this up.

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

Posted 01/20/2016 04:42 AM   
[quote="DarkStarSword"]Can you give me a complete example of one of these shaders? I'm a bit of a noob at the decompiler (that's mostly been bo3b's domain so far), so I could have screwed up something in the ibfe instruction (like counting "c-o-l-o-r" as a 5 component swizzle), but the example you posted there does not appear to be one of those. [/quote] OK. Sorry for not not posting it before. I'll do it... in about almost 11 hours, when I'm home. I didn't have enough time this morning.
DarkStarSword said:Can you give me a complete example of one of these shaders? I'm a bit of a noob at the decompiler (that's mostly been bo3b's domain so far), so I could have screwed up something in the ibfe instruction (like counting "c-o-l-o-r" as a 5 component swizzle), but the example you posted there does not appear to be one of those.


OK. Sorry for not not posting it before. I'll do it... in about almost 11 hours, when I'm home. I didn't have enough time this morning.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 01/20/2016 07:43 AM   
3Dmigoto 1.2.26 is out. https://github.com/bo3b/3Dmigoto/releases This includes Decompiler fixes to handle the default initializers for larger than 4 components. Tested on only a single game, but with float4x4 with initial values. Should also be able to generate a shader for other variants, but still require hand fixes for those. Let me know when you find other variants and I can add them. I think this will allow CoH2 to be used now as well.
3Dmigoto 1.2.26 is out. https://github.com/bo3b/3Dmigoto/releases


This includes Decompiler fixes to handle the default initializers for larger than 4 components. Tested on only a single game, but with float4x4 with initial values.

Should also be able to generate a shader for other variants, but still require hand fixes for those. Let me know when you find other variants and I can add them. I think this will allow CoH2 to be used now as well.

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

Posted 01/20/2016 01:36 PM   
This is awesome! Can't wait to try it out! edit: It works! This is a major update for me :D Thanks Bo3b for sorting it out.
This is awesome! Can't wait to try it out!

edit: It works! This is a major update for me :D Thanks Bo3b for sorting it out.

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

Posted 01/20/2016 01:45 PM   
TECHNICAL QUESTION: I have a LG passive 3D TV and as you probably know this types of displays are not entirely supported by nvidia 3D vision. I can of course use EDID override and swap the eyes, or use the quality degrading 720p mode or mosaic mode with 3DTV Play. Would it be possible to add the support in 3Dmigoto for this kind of displays to allow playing games in native 3D 1080p horizontal interleaved mode? TAB mode would be the best if you want to avoid ghosting and preserve the maximum quality.
TECHNICAL QUESTION:

I have a LG passive 3D TV and as you probably know this types of displays are not entirely supported by nvidia 3D vision. I can of course use EDID override and swap the eyes, or use the quality degrading 720p mode or mosaic mode with 3DTV Play. Would it be possible to add the support in 3Dmigoto for this kind of displays to allow playing games in native 3D 1080p horizontal interleaved mode? TAB mode would be the best if you want to avoid ghosting and preserve the maximum quality.

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

Posted 01/20/2016 03:25 PM   
[quote="masterotaku"][quote="DarkStarSword"]Can you give me a complete example of one of these shaders? I'm a bit of a noob at the decompiler (that's mostly been bo3b's domain so far), so I could have screwed up something in the ibfe instruction (like counting "c-o-l-o-r" as a 5 component swizzle), but the example you posted there does not appear to be one of those. [/quote] OK. Sorry for not not posting it before. I'll do it... in about almost 11 hours, when I'm home. I didn't have enough time this morning.[/quote] The time has come. Log: [code] D3D11 DLL starting init - v 1.2.25 - Wed Jan 20 19:55:19 2016 ----------- d3dx.ini settings ----------- [Logging] calls=1 input=1 [System] [Device] get_resolution_from=swap_chain [Stereo] [Rendering] override_directory=C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderFixes cache_directory=C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderCache use_criticalsection=1 rasterizer_disable_scissor=1 dump_usage=1 stereo_params=125 ini_params=120 ... missing automatic ini section [Hunting] hunting=1 marking_mode=0 reload_config=VK_F10 toggle_hunting=VK_NUMPAD0 next_pixelshader=VK_NUMPAD2 previous_pixelshader=VK_NUMPAD1 mark_pixelshader=VK_NUMPAD3 take_screenshot=VK_SNAPSHOT next_indexbuffer=VK_NUMPAD8 previous_indexbuffer=VK_NUMPAD7 mark_indexbuffer=VK_NUMPAD9 next_vertexshader=VK_NUMPAD5 previous_vertexshader=VK_NUMPAD4 mark_vertexshader=VK_NUMPAD6 next_rendertarget=VK_MULTIPLY previous_rendertarget=VK_DIVIDE mark_rendertarget=VK_SUBTRACT done_hunting=VK_ADD reload_fixes=VK_F10 show_original=VK_F11 analyse_options=log dump_rt_jps clear_rt repeat_rate=6 [Present] [Constants] z=0.00 Hooked_LoadLibraryExW switching to original dll: original_nvapi64.dll to C:\Windows\system32\nvapi64.dll. *** D3D11 DLL successfully initialized. *** Trying to load original_d3d11.dll Hooked_LoadLibraryExW switching to original dll: original_d3d11.dll to C:\Windows\system32\d3d11.dll. Hooked_CreateDXGIFactory called with riid: IDXGIFactory calling original CreateDXGIFactory API CreateDXGIFactory returned factory = 000000000025FC30, result = 0 HackerDXGIFactory::EnumAdapters(class HackerDXGIFactory@000000000C951470) adapter 0 requested created HackerDXGIAdapter wrapper = 000000000C9514D0 of 000000000025FD50 returns result = 0 HackerDXGIAdapter::GetDesc(class HackerDXGIAdapter@000000000C9514D0) called returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136 *** D3D11CreateDevice called with pAdapter = 000000000C9514D0 Flags = 0x1 pFeatureLevels = 0xb000 FeatureLevels = 3 ppDevice = 000000000CBEFB68 pFeatureLevel = 0xc951470 ppImmediateContext = 000000000CBEFB60 HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@000000000C951500) called returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0 HackerUnknown::Release(class HackerDXGIAdapter1@000000000C951500), counter=1, this=000000000C951500 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=2, this=000000000C9514D0 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=3, this=000000000C9514D0 HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000C9514D0) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6} DataSize = 4 returns result = 0 HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=3, this=000000000C9514D0 HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=2, this=000000000C9514D0 Replaced Hooked_LoadLibraryExW for: C:\Windows\system32\nvapi64.dll to nvapi64.dll. Replaced Hooked_LoadLibraryExW for: C:\Windows\system32\nvapi64.dll to nvapi64.dll. D3D11CreateDevice returned device handle = 0000000001D9D410, context handle = 0000000001D9E058 HackerDevice 0000000014ADE110 created to wrap 0000000001D9D410 HackerContext 000000000B889FB0 created to wrap 0000000001D9E058 HackerDevice::Create3DMigotoResources(class HackerDevice@0000000014ADE110) called. created NVAPI stereo handle. Handle = 0000000014C79570 creating stereo parameter texture. stereo texture created, handle = 0000000001DC7A18 creating stereo parameter resource view. stereo texture resource view created, handle = 0000000001DC7B98. creating .ini constant parameter texture. IniParam texture created, handle = 0000000001DC7D18 creating IniParam resource view. Iniparams resource view created, handle = 0000000001DC7E98. Created pink mode pixel shader: 0 ->D3D11CreateDevice result = 0, device handle = 0000000001D9D410, device wrapper = 0000000014ADE110, context handle = 0000000001D9E058, context wrapper = 000000000B889FB0 deleting self HackerDevice::GetHackerContext returns 000000000B889FB0 clearing mHackerDevice->mHackerContext *** D3D11CreateDevice called with pAdapter = 000000000C9514D0 Flags = 0x1 pFeatureLevels = 0xb000 FeatureLevels = 3 ppDevice = 0000000000000000 pFeatureLevel = 0x9100 ppImmediateContext = 0000000000000000 HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@0000000014C4C9B0) called returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0 HackerUnknown::Release(class HackerDXGIAdapter1@0000000014C4C9B0), counter=3, this=0000000014C4C9B0 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=4, this=000000000C9514D0 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=5, this=000000000C9514D0 HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000C9514D0) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6} DataSize = 4 returns result = 0 HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=5, this=000000000C9514D0 HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=4, this=000000000C9514D0 D3D11CreateDevice returned device handle = 0000000000000000, context handle = 0000000000000000 ->D3D11CreateDevice result = 1, device handle = 0000000000000000, device wrapper = 0000000000000000, context handle = 0000000000000000, context wrapper = 0000000000000000 HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=2, this=000000000C9514D0 HackerDXGIFactory::EnumAdapters(class HackerDXGIFactory@000000000C951470) adapter 1 requested returns result = 0x887a0002 HackerUnknown::Release(class HackerDXGIFactory@000000000C951470), counter=1, this=000000000C951470 Hooked_CreateDXGIFactory called with riid: IDXGIFactory calling original CreateDXGIFactory API CreateDXGIFactory returned factory = 0000000001DC90D0, result = 0 HackerDXGIFactory::EnumAdapters(class HackerDXGIFactory@000000000B91A300) adapter 0 requested created HackerDXGIAdapter wrapper = 000000000B91DC30 of 0000000001DC91F0 returns result = 0 HackerDXGIAdapter::EnumOutputs(class HackerDXGIAdapter@000000000B91DC30) called: output #0 requested returns result = 0, handle = 0000000001DD0E90 *** D3D11CreateDevice called with pAdapter = 000000000B91DC30 Flags = 0x1 pFeatureLevels = 0xb000 FeatureLevels = 3 ppDevice = 0000000021FDFBA8 pFeatureLevel = 0xb91a300 ppImmediateContext = 0000000021FDFBA0 HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@000000000B91DCF0) called returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0 HackerUnknown::Release(class HackerDXGIAdapter1@000000000B91DCF0), counter=2, this=000000000B91DCF0 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=3, this=000000000B91DC30 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=4, this=000000000B91DC30 HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000B91DC30) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6} DataSize = 4 returns result = 0 HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=4, this=000000000B91DC30 HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=3, this=000000000B91DC30 D3D11CreateDevice returned device handle = 0000000001DD4620, context handle = 0000000001DD50A8 HackerDevice 0000000015258BA0 created to wrap 0000000001DD4620 HackerContext 000000002450AEC0 created to wrap 0000000001DD50A8 HackerDevice::Create3DMigotoResources(class HackerDevice@0000000015258BA0) called. created NVAPI stereo handle. Handle = 000000000C39B9F0 creating stereo parameter texture. stereo texture created, handle = 0000000001DFD258 creating stereo parameter resource view. stereo texture resource view created, handle = 0000000001DFD3D8. creating .ini constant parameter texture. IniParam texture created, handle = 0000000001DFD558 creating IniParam resource view. Iniparams resource view created, handle = 0000000001DFD6D8. Created pink mode pixel shader: 0 ->D3D11CreateDevice result = 0, device handle = 0000000001DD4620, device wrapper = 0000000015258BA0, context handle = 0000000001DD50A8, context wrapper = 000000002450AEC0 deleting self HackerDevice::GetHackerContext returns 000000002450AEC0 clearing mHackerDevice->mHackerContext *** D3D11CreateDeviceAndSwapChain called with pAdapter = 000000000B91DC30 Flags = 0x1 pFeatureLevels = 0xb000 FeatureLevels = 3 pSwapChainDesc = 0000000021FDFC90 ppSwapChain = 0000000001A3BD20 ppDevice = 0000000001A3BCB0 pFeatureLevel = 0 ppImmediateContext = 0000000001A3BCB8 Windowed = 0 Width = 1920 Height = 1080 Refresh rate = 119.879997 HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@00000000152B2F50) called returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0 HackerUnknown::Release(class HackerDXGIAdapter1@00000000152B2F50), counter=4, this=00000000152B2F50 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=5, this=000000000B91DC30 HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=6, this=000000000B91DC30 HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000B91DC30) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6} DataSize = 4 returns result = 0 HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=6, this=000000000B91DC30 HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=5, this=000000000B91DC30 D3D11CreateDeviceAndSwapChain returned device handle = 0000000001DFDF00, context handle = 0000000001DFFEC8, swapchain handle = 0000000001E45350 HackerDevice 00000000152591E0 created to wrap 0000000001DFDF00 HackerContext 0000000024750AF0 created to wrap 0000000001DFFEC8 Overlay::Overlay created for 0000000024573400: class HackerDXGISwapChain on HackerDevice: 00000000152591E0, HackerContext: 0000000024750AF0 HackerDXGISwapChain 0000000024573400 created to wrap 0000000001E45350 HackerDevice::Create3DMigotoResources(class HackerDevice@00000000152591E0) called. created NVAPI stereo handle. Handle = 000000002474B710 creating stereo parameter texture. stereo texture created, handle = 0000000001E46958 creating stereo parameter resource view. stereo texture resource view created, handle = 0000000001E46AD8. creating .ini constant parameter texture. IniParam texture created, handle = 0000000001E46C58 creating IniParam resource view. Iniparams resource view created, handle = 0000000001E46DD8. Created pink mode pixel shader: 0 ->D3D11CreateDeviceAndSwapChain result = 0, device handle = 0000000001DFDF00, device wrapper = 00000000152591E0, context handle = 0000000001DFFEC8, context wrapper = 0000000024750AF0, swapchain handle = 0000000001E45350, swapchain wrapper = 0000000024573400 HackerDXGIFactory::MakeWindowAssociation(class HackerDXGIFactory@000000000B91A300) called with WindowHandle = 00000000001503F2, Flags = 1 Flags = DXGI_MWA_NO_WINDOW_CHANGES(no monitoring) returns result = 0 HackerUnknown::Release(class HackerDXGIFactory@000000000B91A300), counter=3, this=000000000B91A300 HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=5, this=000000000B91DC30 HackerDevice::CreatePixelShader called with BytecodeLength = 848, handle = 0000000001E48830, ClassLinkage = 0000000000000000 bytecode hash = 4dab6625ae76d67b shader registered for possible reloading: 4dab6625ae76d67b_ps as bin - returns result = 0, handle = 0000000001E46EE8 HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 0000000001DD2EA0, ClassLinkage = 0000000000000000 bytecode hash = b2293ce2e61dfc49 shader registered for possible reloading: b2293ce2e61dfc49_vs as bin - returns result = 0, handle = 0000000001E47368 HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 0000000001E49500, ClassLinkage = 0000000000000000 bytecode hash = a4918560526792e4 shader registered for possible reloading: a4918560526792e4_ps as bin - returns result = 0, handle = 0000000001E49E68 updating stereo texture with eyeSeparation = 0.000000e+000, separation = 0.000000e+000, convergence = 0.000000e+000, active = 0 nvapi fetched screen width: 1920.000000, height: 1080.000000 HackerDevice::CreatePixelShader called with BytecodeLength = 1224, handle = 0000000001E49500, ClassLinkage = 0000000000000000 bytecode hash = c7b4ecbf2cc3686f shader registered for possible reloading: c7b4ecbf2cc3686f_ps as bin - returns result = 0, handle = 0000000001E48A28 HackerDevice::CreatePixelShader called with BytecodeLength = 1460, handle = 0000000001E497D0, ClassLinkage = 0000000000000000 bytecode hash = 45d3fefdb845bfdf shader registered for possible reloading: 45d3fefdb845bfdf_ps as bin - returns result = 0, handle = 0000000001E48328 HackerDevice::CreatePixelShader called with BytecodeLength = 1804, handle = 0000000001E4BE10, ClassLinkage = 0000000000000000 bytecode hash = 8c637393a767e3bf shader registered for possible reloading: 8c637393a767e3bf_ps as bin - returns result = 0, handle = 0000000001E507E8 HackerDevice::CreateVertexShader called with BytecodeLength = 652, handle = 0000000001E59750, ClassLinkage = 0000000000000000 bytecode hash = 489c1f30e193e09f shader registered for possible reloading: 489c1f30e193e09f_vs as bin - returns result = 0, handle = 0000000001E50928 HackerDevice::CreateVertexShader called with BytecodeLength = 608, handle = 0000000001E595E0, ClassLinkage = 0000000000000000 bytecode hash = 59378704ab3f9994 shader registered for possible reloading: 59378704ab3f9994_vs as bin - returns result = 0, handle = 0000000001E39DA8 HackerDevice::CreatePixelShader called with BytecodeLength = 532, handle = 0000000001E4FB80, ClassLinkage = 0000000000000000 bytecode hash = d50bb519cef93ca9 shader registered for possible reloading: d50bb519cef93ca9_ps as bin - returns result = 0, handle = 0000000001E39EA8 HackerDevice::CreatePixelShader called with BytecodeLength = 1080, handle = 0000000001E3D3A0, ClassLinkage = 0000000000000000 bytecode hash = f12d1ec6b2d5f02b shader registered for possible reloading: f12d1ec6b2d5f02b_ps as bin - returns result = 0, handle = 0000000001E39FE8 HackerDevice::CreatePixelShader called with BytecodeLength = 660, handle = 0000000001E595E0, ClassLinkage = 0000000000000000 bytecode hash = 2619f8481feba267 shader registered for possible reloading: 2619f8481feba267_ps as bin - returns result = 0, handle = 0000000001E3A0E8 HackerDevice::CreatePixelShader called with BytecodeLength = 1092, handle = 00000000254FF540, ClassLinkage = 0000000000000000 bytecode hash = 7a82cb3d12101e65 shader registered for possible reloading: 7a82cb3d12101e65_ps as bin - returns result = 0, handle = 0000000001E3A228 HackerDevice::CreatePixelShader called with BytecodeLength = 1276, handle = 0000000001E3CAD0, ClassLinkage = 0000000000000000 bytecode hash = 0db04256e5b456ff shader registered for possible reloading: 0db04256e5b456ff_ps as bin - returns result = 0, handle = 0000000001E3A328 HackerDevice::CreateGeometryShader called with BytecodeLength = 988, handle = 0000000001E3C630 bytecode hash = f8ec4e031f557502 shader registered for possible reloading: f8ec4e031f557502_gs as bin - returns result = 0, handle = 0000000001E3A468 HackerDevice::CreateGeometryShader called with BytecodeLength = 1116, handle = 0000000025501950 bytecode hash = 090a134fe4f0a72e shader registered for possible reloading: 090a134fe4f0a72e_gs as bin - returns result = 0, handle = 0000000001E3A568 HackerDevice::CreatePixelShader called with BytecodeLength = 748, handle = 0000000001E3C630, ClassLinkage = 0000000000000000 bytecode hash = 989d6a47232b760e shader registered for possible reloading: 989d6a47232b760e_ps as bin - returns result = 0, handle = 0000000001E3A7A8 HackerDevice::CreateVertexShader called with BytecodeLength = 716, handle = 0000000001DCD2A0, ClassLinkage = 0000000000000000 bytecode hash = 987459d0ab8f74a0 shader registered for possible reloading: 987459d0ab8f74a0_vs as bin - returns result = 0, handle = 0000000001E3A8E8 HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 00000000255001B0, ClassLinkage = 0000000000000000 bytecode hash = 8704ffe1f1ae1118 shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin - returns result = 0, handle = 0000000001E3A9E8 HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 0000000001E47B70, ClassLinkage = 0000000000000000 bytecode hash = b2293ce2e61dfc49 shader registered for possible reloading: b2293ce2e61dfc49_vs as bin - returns result = 0, handle = 0000000025501AE8 HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 00000000255076B0, ClassLinkage = 0000000000000000 bytecode hash = a4918560526792e4 shader registered for possible reloading: a4918560526792e4_ps as bin - returns result = 0, handle = 0000000025501C28 updating stereo texture with eyeSeparation = 1.177359e-001, separation = 1.000000e+002, convergence = 4.000000e+000, active = 1 nvapi fetched screen width: 1920.000000, height: 1080.000000 HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 0000000001E47B70, ClassLinkage = 0000000000000000 bytecode hash = 8704ffe1f1ae1118 shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin - returns result = 0, handle = 0000000001E3A9E8 HackerDevice::CreatePixelShader called with BytecodeLength = 2596, handle = 000000002550C6A0, ClassLinkage = 0000000000000000 bytecode hash = 548a3425237494d8 shader registered for possible reloading: 548a3425237494d8_ps as bin - returns result = 0, handle = 0000000025501D28 HackerDevice::CreateVertexShader called with BytecodeLength = 2748, handle = 000000002550D610, ClassLinkage = 0000000000000000 bytecode hash = fefd90470c9f3f76 shader registered for possible reloading: fefd90470c9f3f76_vs as bin - returns result = 0, handle = 0000000025501E68 HackerDevice::CreateGeometryShader called with BytecodeLength = 2008, handle = 000000002550F0F0 bytecode hash = 7fcb77db49ef1a8c shader registered for possible reloading: 7fcb77db49ef1a8c_gs as bin - returns result = 0, handle = 0000000025501F68 HackerDevice::CreatePixelShader called with BytecodeLength = 3484, handle = 00000000254C7C30, ClassLinkage = 0000000000000000 bytecode hash = 62e4394df74b284d shader registered for possible reloading: 62e4394df74b284d_ps as bin - returns result = 0, handle = 00000000255020A8 HackerDevice::CreateVertexShader called with BytecodeLength = 2652, handle = 00000000254C8EB0, ClassLinkage = 0000000000000000 bytecode hash = 3ce041838d16e198 shader registered for possible reloading: 3ce041838d16e198_vs as bin - returns result = 0, handle = 00000000255021A8 HackerDevice::CreatePixelShader called with BytecodeLength = 1896, handle = 00000000254CA930, ClassLinkage = 0000000000000000 bytecode hash = d497a2d282a9ed78 shader registered for possible reloading: d497a2d282a9ed78_ps as bin - returns result = 0, handle = 00000000255022E8 HackerDevice::CreateVertexShader called with BytecodeLength = 2244, handle = 00000000254CABF0, ClassLinkage = 0000000000000000 bytecode hash = e0790ef4d504bf5d shader registered for possible reloading: e0790ef4d504bf5d_vs as bin - returns result = 0, handle = 00000000255023E8 HackerDevice::CreateGeometryShader called with BytecodeLength = 1900, handle = 00000000254CC8D0 bytecode hash = 913f7cd70aa3f406 shader registered for possible reloading: 913f7cd70aa3f406_gs as bin - returns result = 0, handle = 0000000025502528 HackerDevice::CreatePixelShader called with BytecodeLength = 4732, handle = 00000000254DACB0, ClassLinkage = 0000000000000000 bytecode hash = 7a0220ca6dc989bf shader registered for possible reloading: 7a0220ca6dc989bf_ps as bin - returns result = 0, handle = 0000000025502628 HackerDevice::CreateVertexShader called with BytecodeLength = 2864, handle = 00000000254E4140, ClassLinkage = 0000000000000000 bytecode hash = 8c5a5a3064da744f shader registered for possible reloading: 8c5a5a3064da744f_vs as bin - returns result = 0, handle = 0000000025502768 HackerDevice::CreateGeometryShader called with BytecodeLength = 2116, handle = 00000000254E5C90 bytecode hash = 4151119c3a685230 shader registered for possible reloading: 4151119c3a685230_gs as bin - returns result = 0, handle = 0000000025502868 HackerDevice::CreatePixelShader called with BytecodeLength = 3788, handle = 00000000254E6960, ClassLinkage = 0000000000000000 bytecode hash = bf458bafc3864338 shader registered for possible reloading: bf458bafc3864338_ps as bin - returns result = 0, handle = 00000000254E4CE8 HackerDevice::CreatePixelShader called with BytecodeLength = 3676, handle = 00000000254E9B20, ClassLinkage = 0000000000000000 bytecode hash = 5e8104258a35ed8f shader registered for possible reloading: 5e8104258a35ed8f_ps as bin - returns result = 0, handle = 00000000254E4E28 HackerDevice::CreatePixelShader called with BytecodeLength = 2960, handle = 00000000254EB730, ClassLinkage = 0000000000000000 bytecode hash = 4ee5b56933f2d814 shader registered for possible reloading: 4ee5b56933f2d814_ps as bin - returns result = 0, handle = 00000000254E4F28 HackerDevice::CreatePixelShader called with BytecodeLength = 1836, handle = 00000000254EBBD0, ClassLinkage = 0000000000000000 bytecode hash = c526d4d477bde07e shader registered for possible reloading: c526d4d477bde07e_ps as bin - returns result = 0, handle = 00000000254E5068 HackerDevice::CreatePixelShader called with BytecodeLength = 1364, handle = 00000000254EF310, ClassLinkage = 0000000000000000 bytecode hash = aad190e958ca1e0c shader registered for possible reloading: aad190e958ca1e0c_ps as bin - returns result = 0, handle = 00000000254E5168 HackerDevice::CreatePixelShader called with BytecodeLength = 2392, handle = 00000000254EB860, ClassLinkage = 0000000000000000 bytecode hash = 05066134c7e7b1f2 shader registered for possible reloading: 05066134c7e7b1f2_ps as bin - returns result = 0, handle = 00000000254E52A8 HackerDevice::CreateVertexShader called with BytecodeLength = 2552, handle = 00000000254F0C80, ClassLinkage = 0000000000000000 bytecode hash = aad91ef4b23a5bba shader registered for possible reloading: aad91ef4b23a5bba_vs as bin - returns result = 0, handle = 00000000254E53A8 HackerDevice::CreatePixelShader called with BytecodeLength = 4644, handle = 00000000254F2690, ClassLinkage = 0000000000000000 bytecode hash = 160bfd3843ca76bb shader registered for possible reloading: 160bfd3843ca76bb_ps as bin - returns result = 0, handle = 00000000254E54E8 HackerDevice::CreateVertexShader called with BytecodeLength = 3052, handle = 00000000254F2450, ClassLinkage = 0000000000000000 bytecode hash = 055ec18d6e898645 shader registered for possible reloading: 055ec18d6e898645_vs as bin - returns result = 0, handle = 00000000254E55E8 HackerDevice::CreatePixelShader called with BytecodeLength = 2072, handle = 00000000254F1A80, ClassLinkage = 0000000000000000 bytecode hash = bb54a93ad3ca4abd shader registered for possible reloading: bb54a93ad3ca4abd_ps as bin - returns result = 0, handle = 00000000254E5728 HackerDevice::CreateVertexShader called with BytecodeLength = 2340, handle = 00000000254F7F00, ClassLinkage = 0000000000000000 bytecode hash = ad91fa33764a592b shader registered for possible reloading: ad91fa33764a592b_vs as bin - returns result = 0, handle = 00000000254E5828 HackerDevice::CreateGeometryShader called with BytecodeLength = 2548, handle = 00000000254F8DF0 bytecode hash = 8aeef47a6c9b2b6a shader registered for possible reloading: 8aeef47a6c9b2b6a_gs as bin - returns result = 0, handle = 00000000254E5968 HackerDevice::CreatePixelShader called with BytecodeLength = 2788, handle = 00000000254F8C70, ClassLinkage = 0000000000000000 bytecode hash = 3cb34e3a6f1669e8 shader registered for possible reloading: 3cb34e3a6f1669e8_ps as bin - returns result = 0, handle = 00000000254E5A68 HackerDevice::CreateGeometryShader called with BytecodeLength = 3216, handle = 0000000025511CC0 bytecode hash = ca3df2bcb0d97946 shader registered for possible reloading: ca3df2bcb0d97946_gs as bin - returns result = 0, handle = 00000000254E5BA8 HackerDevice::CreatePixelShader called with BytecodeLength = 2072, handle = 00000000254FBF80, ClassLinkage = 0000000000000000 bytecode hash = bb54a93ad3ca4abd shader registered for possible reloading: bb54a93ad3ca4abd_ps as bin - returns result = 0, handle = 00000000254F9868 HackerDevice::CreatePixelShader called with BytecodeLength = 2788, handle = 00000000254FBF80, ClassLinkage = 0000000000000000 bytecode hash = 3cb34e3a6f1669e8 shader registered for possible reloading: 3cb34e3a6f1669e8_ps as bin - returns result = 0, handle = 00000000254F99A8 HackerDevice::CreatePixelShader called with BytecodeLength = 4644, handle = 0000000025513FE0, ClassLinkage = 0000000000000000 bytecode hash = 160bfd3843ca76bb shader registered for possible reloading: 160bfd3843ca76bb_ps as bin - returns result = 0, handle = 00000000254F9AA8 HackerDevice::CreatePixelShader called with BytecodeLength = 4056, handle = 0000000025513FE0, ClassLinkage = 0000000000000000 bytecode hash = 12140248aa642b3b shader registered for possible reloading: 12140248aa642b3b_ps as bin - returns result = 0, handle = 00000000254F9BE8 HackerDevice::CreateVertexShader called with BytecodeLength = 3148, handle = 000000002551A440, ClassLinkage = 0000000000000000 bytecode hash = a9a125f9e4690534 shader registered for possible reloading: a9a125f9e4690534_vs as bin - returns result = 0, handle = 00000000254F9CE8 HackerDevice::CreatePixelShader called with BytecodeLength = 2632, handle = 000000002551C0B0, ClassLinkage = 0000000000000000 bytecode hash = 6c5ec9392c8fbfcd shader registered for possible reloading: 6c5ec9392c8fbfcd_ps as bin - returns result = 0, handle = 00000000254F9E28 HackerDevice::CreatePixelShader called with BytecodeLength = 2912, handle = 0000000025524B10, ClassLinkage = 0000000000000000 bytecode hash = 082e5424256e9a35 shader registered for possible reloading: 082e5424256e9a35_ps as bin - returns result = 0, handle = 000000002554F528 HackerDevice::CreatePixelShader called with BytecodeLength = 2808, handle = 000000002552A690, ClassLinkage = 0000000000000000 bytecode hash = c86296da06d07ce4 shader registered for possible reloading: c86296da06d07ce4_ps as bin - returns result = 0, handle = 000000002554F668 HackerDevice::CreatePixelShader called with BytecodeLength = 2784, handle = 000000002552B990, ClassLinkage = 0000000000000000 bytecode hash = 687369e3e961d198 shader registered for possible reloading: 687369e3e961d198_ps as bin - returns result = 0, handle = 000000002554F768 HackerDevice::CreateVertexShader called with BytecodeLength = 2952, handle = 000000002552C480, ClassLinkage = 0000000000000000 bytecode hash = 82889657c6c158ed shader registered for possible reloading: 82889657c6c158ed_vs as bin - returns result = 0, handle = 000000002554F8A8 HackerDevice::CreatePixelShader called with BytecodeLength = 5056, handle = 00000000255301E0, ClassLinkage = 0000000000000000 bytecode hash = 2d4f828f25b3adf6 shader registered for possible reloading: 2d4f828f25b3adf6_ps as bin - returns result = 0, handle = 000000002554F9A8 HackerDevice::CreateVertexShader called with BytecodeLength = 3616, handle = 00000000255375B0, ClassLinkage = 0000000000000000 bytecode hash = b9e678d7abcaa440 shader registered for possible reloading: b9e678d7abcaa440_vs as bin - returns result = 0, handle = 000000002554FAE8 HackerDevice::CreatePixelShader called with BytecodeLength = 5056, handle = 00000000255395A0, ClassLinkage = 0000000000000000 bytecode hash = 6d18667ff444d226 shader registered for possible reloading: 6d18667ff444d226_ps as bin - returns result = 0, handle = 000000002551CB68 HackerDevice::CreatePixelShader called with BytecodeLength = 4364, handle = 000000002553BD40, ClassLinkage = 0000000000000000 bytecode hash = dc39ed30bd32e34d shader registered for possible reloading: dc39ed30bd32e34d_ps as bin - returns result = 0, handle = 000000002551CCA8 HackerDevice::CreateVertexShader called with BytecodeLength = 3540, handle = 000000002553DE60, ClassLinkage = 0000000000000000 bytecode hash = 8a003bdbbc669ae7 shader registered for possible reloading: 8a003bdbbc669ae7_vs as bin - returns result = 0, handle = 000000002551CDA8 HackerDevice::CreatePixelShader called with BytecodeLength = 2072, handle = 0000000025539D00, ClassLinkage = 0000000000000000 bytecode hash = c0881fb7c41d216c shader registered for possible reloading: c0881fb7c41d216c_ps as bin - returns result = 0, handle = 000000002551CEE8 HackerDevice::CreatePixelShader called with BytecodeLength = 2808, handle = 0000000025539D00, ClassLinkage = 0000000000000000 bytecode hash = 18120e07f18fe516 shader registered for possible reloading: 18120e07f18fe516_ps as bin - returns result = 0, handle = 000000002551CFE8 HackerDevice::CreatePixelShader called with BytecodeLength = 956, handle = 000000002552C000, ClassLinkage = 0000000000000000 bytecode hash = 94b960f36b0012a8 shader registered for possible reloading: 94b960f36b0012a8_ps as bin - returns result = 0, handle = 000000002551D128 HackerDevice::CreatePixelShader called with BytecodeLength = 2348, handle = 0000000025544C70, ClassLinkage = 0000000000000000 bytecode hash = 75d883bf98d37120 shader registered for possible reloading: 75d883bf98d37120_ps as bin - returns result = 0, handle = 000000002551D228 HackerDevice::CreatePixelShader called with BytecodeLength = 2268, handle = 00000000255455B0, ClassLinkage = 0000000000000000 bytecode hash = 53f9a42d156c61e8 shader registered for possible reloading: 53f9a42d156c61e8_ps as bin - returns result = 0, handle = 000000002551D368 HackerDevice::CreatePixelShader called with BytecodeLength = 4196, handle = 000000002555B570, ClassLinkage = 0000000000000000 bytecode hash = ecf1dcbc1befc6a4 shader registered for possible reloading: ecf1dcbc1befc6a4_ps as bin - returns result = 0, handle = 000000002551D468 HackerDevice::CreateVertexShader called with BytecodeLength = 2964, handle = 00000000255605E0, ClassLinkage = 0000000000000000 bytecode hash = 8e2236c5c8818ed1 shader registered for possible reloading: 8e2236c5c8818ed1_vs as bin - returns result = 0, handle = 000000002551D5A8 HackerDevice::CreatePixelShader called with BytecodeLength = 5632, handle = 0000000025567D80, ClassLinkage = 0000000000000000 bytecode hash = 7f6a6773e420f9ae shader registered for possible reloading: 7f6a6773e420f9ae_ps as bin - returns result = 0, handle = 000000002551D6A8 HackerDevice::CreateVertexShader called with BytecodeLength = 5328, handle = 0000000025567190, ClassLinkage = 0000000000000000 bytecode hash = 4fe38d0e49371f9d shader registered for possible reloading: 4fe38d0e49371f9d_vs as bin - returns result = 0, handle = 000000002551D7E8 HackerDevice::CreatePixelShader called with BytecodeLength = 6324, handle = 000000002557C090, ClassLinkage = 0000000000000000 bytecode hash = fb70974113d6e1ad shader registered for possible reloading: fb70974113d6e1ad_ps as bin - returns result = 0, handle = 000000002551D8E8 HackerDevice::CreateVertexShader called with BytecodeLength = 5404, handle = 000000002557F950, ClassLinkage = 0000000000000000 bytecode hash = 3f51be073ec8e63a shader registered for possible reloading: 3f51be073ec8e63a_vs as bin - returns result = 0, handle = 000000002551DA28 HackerDevice::CreatePixelShader called with BytecodeLength = 6324, handle = 0000000025583090, ClassLinkage = 0000000000000000 bytecode hash = 91ef4d84ebf9db93 shader registered for possible reloading: 91ef4d84ebf9db93_ps as bin - returns result = 0, handle = 0000000025566228 > starting at vertex shader #0. Number of vertex shaders in frame: 8 > traversing to next vertex shader #1. Number of vertex shaders in frame: 8 > traversing to previous vertex shader shader #0. Number of vertex shader shaders in frame: 8 > traversing to next vertex shader #1. Number of vertex shaders in frame: 8 >>>> vertex shader marked: vertex shader hash = 3f51be073ec8e63a visited index buffer hash = 7de1e7e8 visited pixel shader hash = 91ef4d84ebf9db93 visited pixel shader hash = fb70974113d6e1ad StereoScreenShot on Mark: C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderFixes\3f51be073ec8e63a-vs.jps, result: 0 creating HLSL representation. storing patched shader to C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderFixes\3f51be073ec8e63a-vs_replace.txt >Replacement shader found. Re-Loading replacement HLSL code from 3f51be073ec8e63a-vs_replace.txt Reload source code loaded. Size = 11491 compiling replacement HLSL code with shader model vs_5_0 compile result for replacement HLSL shader: 80004005 --------------------------------------------- BEGIN --------------------------------------------- C:\Users\Alejandro\Documents\Dolphin-x64 8727\wrapper1349(61,14-17): error X3004: undeclared identifier 'int5' ---------------------------------------------- END ---------------------------------------------- > FAILED to copy Marked shader to ShaderFixes HackerDXGISwapChain::SetFullscreenState(class HackerDXGISwapChain@0000000024573400) called with Fullscreen = 0 Target = 0000000000000000 returns 0 HackerDXGISwapChain::ResizeBuffers(class HackerDXGISwapChain@0000000024573400) called returns result = 887a0001 HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 0000000025542F50, ClassLinkage = 0000000000000000 bytecode hash = b2293ce2e61dfc49 shader registered for possible reloading: b2293ce2e61dfc49_vs as bin - returns result = 0, handle = 0000000025501AE8 HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 000000002558C740, ClassLinkage = 0000000000000000 bytecode hash = a4918560526792e4 shader registered for possible reloading: a4918560526792e4_ps as bin - returns result = 0, handle = 0000000025501C28 updating stereo texture with eyeSeparation = 0.000000e+000, separation = 0.000000e+000, convergence = 0.000000e+000, active = 0 nvapi fetched screen width: 1920.000000, height: 1080.000000 HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 00000000254F78F0, ClassLinkage = 0000000000000000 bytecode hash = 8704ffe1f1ae1118 shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin - returns result = 0, handle = 0000000001E3A9E8 HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 00000000254F78F0, ClassLinkage = 0000000000000000 bytecode hash = b2293ce2e61dfc49 shader registered for possible reloading: b2293ce2e61dfc49_vs as bin - returns result = 0, handle = 0000000025501AE8 HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 000000002558C740, ClassLinkage = 0000000000000000 bytecode hash = a4918560526792e4 shader registered for possible reloading: a4918560526792e4_ps as bin - returns result = 0, handle = 0000000025501C28 HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 0000000025568FA0, ClassLinkage = 0000000000000000 bytecode hash = 8704ffe1f1ae1118 shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin - returns result = 0, handle = 00000000255019E8 HackerDXGISwapChain::SetFullscreenState(class HackerDXGISwapChain@0000000024573400) called with Fullscreen = 0 Target = 0000000000000000 returns 0 HackerUnknown::Release(class HackerDXGISwapChain@0000000024573400), counter=1, this=0000000024573400 [/code] Shader (not fixed): [code]// ---- Created with 3Dmigoto v1.2.25 on Wed Jan 20 19:55:48 2016 cbuffer VSBlock : register(b0) { float4 cpnmtx[6] : packoffset(c0); float4 cproj[4] : packoffset(c6); int4 cmtrl[4] : packoffset(c10); struct { int4 color; float4 cosatt; float4 distatt; float4 pos; float4 dir; } clights[8] : packoffset(c14); float4 ctexmtx[24] : packoffset(c54); float4 ctrmtx[64] : packoffset(c78); float4 cnmtx[32] : packoffset(c142); float4 cpostmtx[64] : packoffset(c174); float4 cpixelcenter : packoffset(c238); } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float3 v0 : NORMAL0, float2 v1 : TEXCOORD0, float4 v2 : POSITION0, out float4 o0 : SV_Position0, out float4 o1 : COLOR0, out float4 o2 : COLOR1, out float4 o3 : TEXCOORD0, out float4 o4 : TEXCOORD1, out float4 o5 : TEXCOORD2, out float3 o6 : TEXCOORD3) { float4 r0,r1,r2,r3,r4; uint4 bitmask, uiDest; float4 fDest; r0.w = 1; r0.x = dot(cpnmtx[0].xyzw, v2.xyzw); r0.y = dot(cpnmtx[1].xyzw, v2.xyzw); r0.z = dot(cpnmtx[2].xyzw, v2.xyzw); r1.x = dot(cproj[0].xyzw, r0.xyzw); r1.y = dot(cproj[1].xyzw, r0.xyzw); r1.w = dot(cproj[3].xyzw, r0.xyzw); r1.z = dot(cproj[2].xyzw, r0.xyzw); o0.xy = -r1.ww * cpixelcenter.xy + r1.xy; o0.z = -r1.z; o0.w = r1.w; o4.xyzw = r1.xyzw; r1.xyzw = (int5)clights[1].color; r2.xyz = clights[1].pos.xyz + -r0.xyz; r3.z = dot(r2.xyz, r2.xyz); r3.y = sqrt(r3.z); r2.xyz = r2.xyz / r3.yyy; r0.w = dot(r2.xyz, clights[1].dir); r0.w = max(0, r0.w); r2.w = clights[1].cosatt * r0.w + clights[1].cosatt; r0.w = r0.w * r0.w; r0.w = r0.w * clights[1].cosatt + r2.w; r0.w = max(0, r0.w); r3.x = 1; r2.w = dot(clights[1].distatt, r3.xyz); r0.w = r0.w / r2.w; r3.x = dot(cpnmtx[3].xyz, v0.xyz); r3.y = dot(cpnmtx[4].xyz, v0.xyz); r3.z = dot(cpnmtx[5].xyz, v0.xyz); r2.w = dot(r3.xyz, r3.xyz); r2.w = rsqrt(r2.w); r3.xyz = r3.xyz * r2.www; r2.x = dot(r2.xyz, r3.xyz); r2.x = max(0, r2.x); r0.w = r2.x * r0.w; r1.xyzw = r0.wwww * r1.xyzw; r1.xyzw = round(r1.xyzw); r1.xyzw = (int4)r1.xyzw; r1.xyzw = (int4)cmtrl[0].xyzw + (int4)r1.xyzw; r2.xyz = clights[2].pos + -r0.xyz; r4.z = dot(r2.xyz, r2.xyz); r4.y = sqrt(r4.z); r2.xyz = r2.xyz / r4.yyy; r0.w = dot(r2.xyz, clights[2].dir); r2.x = dot(r2.xyz, r3.xyz); r2.x = max(0, r2.x); r0.w = max(0, r0.w); r2.y = clights[2].cosatt * r0.w + clights[2].cosatt; r0.w = r0.w * r0.w; r0.w = r0.w * clights[2].cosatt + r2.y; r0.w = max(0, r0.w); r4.x = 1; r2.y = dot(clights[2].distatt, r4.xyz); r0.w = r0.w / r2.y; r0.w = r0.w * r2.x; r2.xyzw = (int5)clights[2].color; r2.xyzw = r2.xyzw * r0.wwww; r2.xyzw = round(r2.xyzw); r2.xyzw = (int4)r2.xyzw; r1.xyzw = (int4)r1.xyzw + (int4)r2.xyzw; r2.xyz = clights[3].pos + -r0.xyz; r4.z = dot(r2.xyz, r2.xyz); r4.y = sqrt(r4.z); r2.xyz = r2.xyz / r4.yyy; r0.w = dot(r2.xyz, clights[3].dir); r2.x = dot(r2.xyz, r3.xyz); r2.x = max(0, r2.x); r0.w = max(0, r0.w); r2.y = clights[3].cosatt * r0.w + clights[3].cosatt; r0.w = r0.w * r0.w; r0.w = r0.w * clights[3].cosatt + r2.y; r0.w = max(0, r0.w); r4.x = 1; r2.y = dot(clights[3].distatt, r4.xyz); r0.w = r0.w / r2.y; r0.w = r0.w * r2.x; r2.xyzw = (int5)clights[3].color; r2.xyzw = r2.xyzw * r0.wwww; r2.xyzw = round(r2.xyzw); r2.xyzw = (int4)r2.xyzw; r1.xyzw = (int4)r1.xyzw + (int4)r2.xyzw; r2.xyz = clights[4].pos + -r0.xyz; o6.xyz = r0.xyz; r0.z = dot(r2.xyz, r2.xyz); r0.y = sqrt(r0.z); r2.xyz = r2.xyz / r0.yyy; r0.w = dot(r2.xyz, clights[4].dir); r2.x = dot(r2.xyz, r3.xyz); o5.xyz = r3.xyz; r2.x = max(0, r2.x); r0.w = max(0, r0.w); r2.y = clights[4].cosatt * r0.w + clights[4].cosatt; r0.w = r0.w * r0.w; r0.w = r0.w * clights[4].cosatt + r2.y; r0.w = max(0, r0.w); r0.x = 1; r0.x = dot(clights[4].distatt, r0.xyz); r0.x = r0.w / r0.x; r0.x = r0.x * r2.x; r2.xyzw = (int5)clights[4].color; r0.xyzw = r2.xyzw * r0.xxxx; r0.xyzw = round(r0.xyzw); r0.xyzw = (int4)r0.xyzw; r0.xyzw = (int4)r1.xyzw + (int4)r0.xyzw; r0.xyzw = max(int4(0,0,0,0), (int4)r0.xyzw); r0.xyzw = min(int4(255,255,255,255), (int4)r0.xyzw); r1.xyzw = (uint4)r0.xyzw >> int4(7,7,7,7); r0.xyzw = (int4)r0.xyzw + (int4)r1.xyzw; r0.xyzw = (int4)cmtrl[2].xyzw * (int4)r0.xyzw; r0.xyzw = (uint4)r0.xyzw >> int4(8,8,8,8); r0.xyzw = (int4)r0.xyzw; r0.xyzw = float4(0.00392156886,0.00392156886,0.00392156886,0.00392156886) * r0.xyzw; o1.xyzw = r0.xyzw; o2.xyzw = r0.xyzw; r0.xy = v1.xy; r0.zw = float2(1,1); r1.x = dot(r0.xyww, ctexmtx[0].xyzw); r1.y = dot(r0.xyzw, ctexmtx[1].xyzw); r1.z = 1; r0.x = dot(cpostmtx[61].xyz, r1.xyz); o3.x = cpostmtx[61].w + r0.x; r0.x = dot(cpostmtx[62].xyz, r1.xyz); r0.y = dot(cpostmtx[63].xyz, r1.xyz); o3.z = cpostmtx[63].w + r0.y; o3.y = cpostmtx[62].w + r0.x; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022 // // using 3Dmigoto v1.2.25 on Wed Jan 20 19:55:48 2016 // // // Buffer Definitions: // // cbuffer VSBlock // { // // float4 cpnmtx[6]; // Offset: 0 Size: 96 // float4 cproj[4]; // Offset: 96 Size: 64 // int4 cmtrl[4]; // Offset: 160 Size: 64 // // struct Light // { // // int4 color; // Offset: 224 // float4 cosatt; // Offset: 240 // float4 distatt; // Offset: 256 // float4 pos; // Offset: 272 // float4 dir; // Offset: 288 // // } clights[8]; // Offset: 224 Size: 640 // float4 ctexmtx[24]; // Offset: 864 Size: 384 // float4 ctrmtx[64]; // Offset: 1248 Size: 1024 [unused] // float4 cnmtx[32]; // Offset: 2272 Size: 512 [unused] // float4 cpostmtx[64]; // Offset: 2784 Size: 1024 // float4 cpixelcenter; // Offset: 3808 Size: 16 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // VSBlock cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // NORMAL 0 xyz 0 NONE float xyz // TEXCOORD 0 xy 1 NONE float xy // POSITION 0 xyzw 2 NONE float xyzw // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xyzw // COLOR 0 xyzw 1 NONE float xyzw // COLOR 1 xyzw 2 NONE float xyzw // TEXCOORD 0 xyz 3 NONE float xyz // TEXCOORD 1 xyzw 4 NONE float xyzw // TEXCOORD 2 xyz 5 NONE float xyz // TEXCOORD 3 xyz 6 NONE float xyz // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[239], immediateIndexed dcl_input v0.xyz dcl_input v1.xy dcl_input v2.xyzw dcl_output_siv o0.xyzw, position dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyz dcl_output o4.xyzw dcl_output o5.xyz dcl_output o6.xyz dcl_temps 5 mov r0.w, l(1.000000) dp4 r0.x, cb0[0].xyzw, v2.xyzw dp4 r0.y, cb0[1].xyzw, v2.xyzw dp4 r0.z, cb0[2].xyzw, v2.xyzw dp4 r1.x, cb0[6].xyzw, r0.xyzw dp4 r1.y, cb0[7].xyzw, r0.xyzw dp4 r1.w, cb0[9].xyzw, r0.xyzw dp4 r1.z, cb0[8].xyzw, r0.xyzw mad o0.xy, -r1.wwww, cb0[238].xyxx, r1.xyxx mov o0.z, -r1.z mov o0.w, r1.w mov o4.xyzw, r1.xyzw itof r1.xyzw, cb0[19].xyzw add r2.xyz, -r0.xyzx, cb0[22].xyzx dp3 r3.z, r2.xyzx, r2.xyzx sqrt r3.y, r3.z div r2.xyz, r2.xyzx, r3.yyyy dp3 r0.w, r2.xyzx, cb0[23].xyzx max r0.w, r0.w, l(0.000000) mad r2.w, cb0[20].y, r0.w, cb0[20].x mul r0.w, r0.w, r0.w mad r0.w, r0.w, cb0[20].z, r2.w max r0.w, r0.w, l(0.000000) mov r3.x, l(1.000000) dp3 r2.w, cb0[21].xyzx, r3.xyzx div r0.w, r0.w, r2.w dp3 r3.x, cb0[3].xyzx, v0.xyzx dp3 r3.y, cb0[4].xyzx, v0.xyzx dp3 r3.z, cb0[5].xyzx, v0.xyzx dp3 r2.w, r3.xyzx, r3.xyzx rsq r2.w, r2.w mul r3.xyz, r2.wwww, r3.xyzx dp3 r2.x, r2.xyzx, r3.xyzx max r2.x, r2.x, l(0.000000) mul r0.w, r0.w, r2.x mul r1.xyzw, r1.xyzw, r0.wwww round_ne r1.xyzw, r1.xyzw ftoi r1.xyzw, r1.xyzw iadd r1.xyzw, cb0[10].xyzw, r1.xyzw add r2.xyz, -r0.xyzx, cb0[27].xyzx dp3 r4.z, r2.xyzx, r2.xyzx sqrt r4.y, r4.z div r2.xyz, r2.xyzx, r4.yyyy dp3 r0.w, r2.xyzx, cb0[28].xyzx dp3 r2.x, r2.xyzx, r3.xyzx max r2.x, r2.x, l(0.000000) max r0.w, r0.w, l(0.000000) mad r2.y, cb0[25].y, r0.w, cb0[25].x mul r0.w, r0.w, r0.w mad r0.w, r0.w, cb0[25].z, r2.y max r0.w, r0.w, l(0.000000) mov r4.x, l(1.000000) dp3 r2.y, cb0[26].xyzx, r4.xyzx div r0.w, r0.w, r2.y mul r0.w, r2.x, r0.w itof r2.xyzw, cb0[24].xyzw mul r2.xyzw, r0.wwww, r2.xyzw round_ne r2.xyzw, r2.xyzw ftoi r2.xyzw, r2.xyzw iadd r1.xyzw, r1.xyzw, r2.xyzw add r2.xyz, -r0.xyzx, cb0[32].xyzx dp3 r4.z, r2.xyzx, r2.xyzx sqrt r4.y, r4.z div r2.xyz, r2.xyzx, r4.yyyy dp3 r0.w, r2.xyzx, cb0[33].xyzx dp3 r2.x, r2.xyzx, r3.xyzx max r2.x, r2.x, l(0.000000) max r0.w, r0.w, l(0.000000) mad r2.y, cb0[30].y, r0.w, cb0[30].x mul r0.w, r0.w, r0.w mad r0.w, r0.w, cb0[30].z, r2.y max r0.w, r0.w, l(0.000000) mov r4.x, l(1.000000) dp3 r2.y, cb0[31].xyzx, r4.xyzx div r0.w, r0.w, r2.y mul r0.w, r2.x, r0.w itof r2.xyzw, cb0[29].xyzw mul r2.xyzw, r0.wwww, r2.xyzw round_ne r2.xyzw, r2.xyzw ftoi r2.xyzw, r2.xyzw iadd r1.xyzw, r1.xyzw, r2.xyzw add r2.xyz, -r0.xyzx, cb0[37].xyzx mov o6.xyz, r0.xyzx dp3 r0.z, r2.xyzx, r2.xyzx sqrt r0.y, r0.z div r2.xyz, r2.xyzx, r0.yyyy dp3 r0.w, r2.xyzx, cb0[38].xyzx dp3 r2.x, r2.xyzx, r3.xyzx mov o5.xyz, r3.xyzx max r2.x, r2.x, l(0.000000) max r0.w, r0.w, l(0.000000) mad r2.y, cb0[35].y, r0.w, cb0[35].x mul r0.w, r0.w, r0.w mad r0.w, r0.w, cb0[35].z, r2.y max r0.w, r0.w, l(0.000000) mov r0.x, l(1.000000) dp3 r0.x, cb0[36].xyzx, r0.xyzx div r0.x, r0.w, r0.x mul r0.x, r2.x, r0.x itof r2.xyzw, cb0[34].xyzw mul r0.xyzw, r0.xxxx, r2.xyzw round_ne r0.xyzw, r0.xyzw ftoi r0.xyzw, r0.xyzw iadd r0.xyzw, r1.xyzw, r0.xyzw imax r0.xyzw, r0.xyzw, l(0, 0, 0, 0) imin r0.xyzw, r0.xyzw, l(255, 255, 255, 255) ishr r1.xyzw, r0.xyzw, l(7, 7, 7, 7) iadd r0.xyzw, r0.xyzw, r1.xyzw imul null, r0.xyzw, cb0[12].xyzw, r0.xyzw ishr r0.xyzw, r0.xyzw, l(8, 8, 8, 8) itof r0.xyzw, r0.xyzw mul r0.xyzw, r0.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886) mov o1.xyzw, r0.xyzw mov o2.xyzw, r0.xyzw mov r0.xy, v1.xyxx mov r0.zw, l(0,0,1.000000,1.000000) dp4 r1.x, r0.xyww, cb0[54].xyzw dp4 r1.y, r0.xyzw, cb0[55].xyzw mov r1.z, l(1.000000) dp3 r0.x, cb0[235].xyzx, r1.xyzx add o3.x, r0.x, cb0[235].w dp3 r0.x, cb0[236].xyzx, r1.xyzx dp3 r0.y, cb0[237].xyzx, r1.xyzx add o3.z, r0.y, cb0[237].w add o3.y, r0.x, cb0[236].w ret // Approximately 126 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Edit: I see that there is a new 3Dmigoto version now. It shouldn't affect this, right?
masterotaku said:
DarkStarSword said:Can you give me a complete example of one of these shaders? I'm a bit of a noob at the decompiler (that's mostly been bo3b's domain so far), so I could have screwed up something in the ibfe instruction (like counting "c-o-l-o-r" as a 5 component swizzle), but the example you posted there does not appear to be one of those.


OK. Sorry for not not posting it before. I'll do it... in about almost 11 hours, when I'm home. I didn't have enough time this morning.


The time has come. Log:

D3D11 DLL starting init - v 1.2.25 - Wed Jan 20 19:55:19 2016


----------- d3dx.ini settings -----------
[Logging]
calls=1
input=1
[System]
[Device]
get_resolution_from=swap_chain
[Stereo]
[Rendering]
override_directory=C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderFixes
cache_directory=C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderCache
use_criticalsection=1
rasterizer_disable_scissor=1
dump_usage=1
stereo_params=125
ini_params=120
... missing automatic ini section
[Hunting]
hunting=1
marking_mode=0
reload_config=VK_F10
toggle_hunting=VK_NUMPAD0
next_pixelshader=VK_NUMPAD2
previous_pixelshader=VK_NUMPAD1
mark_pixelshader=VK_NUMPAD3
take_screenshot=VK_SNAPSHOT
next_indexbuffer=VK_NUMPAD8
previous_indexbuffer=VK_NUMPAD7
mark_indexbuffer=VK_NUMPAD9
next_vertexshader=VK_NUMPAD5
previous_vertexshader=VK_NUMPAD4
mark_vertexshader=VK_NUMPAD6
next_rendertarget=VK_MULTIPLY
previous_rendertarget=VK_DIVIDE
mark_rendertarget=VK_SUBTRACT
done_hunting=VK_ADD
reload_fixes=VK_F10
show_original=VK_F11
analyse_options=log dump_rt_jps clear_rt
repeat_rate=6
[Present]
[Constants]
z=0.00
Hooked_LoadLibraryExW switching to original dll: original_nvapi64.dll to C:\Windows\system32\nvapi64.dll.

*** D3D11 DLL successfully initialized. ***

Trying to load original_d3d11.dll
Hooked_LoadLibraryExW switching to original dll: original_d3d11.dll to C:\Windows\system32\d3d11.dll.
Hooked_CreateDXGIFactory called with riid: IDXGIFactory
calling original CreateDXGIFactory API
CreateDXGIFactory returned factory = 000000000025FC30, result = 0
HackerDXGIFactory::EnumAdapters(class HackerDXGIFactory@000000000C951470) adapter 0 requested
created HackerDXGIAdapter wrapper = 000000000C9514D0 of 000000000025FD50
returns result = 0
HackerDXGIAdapter::GetDesc(class HackerDXGIAdapter@000000000C9514D0) called
returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136


*** D3D11CreateDevice called with
pAdapter = 000000000C9514D0
Flags = 0x1
pFeatureLevels = 0xb000
FeatureLevels = 3
ppDevice = 000000000CBEFB68
pFeatureLevel = 0xc951470
ppImmediateContext = 000000000CBEFB60
HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@000000000C951500) called
returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0
HackerUnknown::Release(class HackerDXGIAdapter1@000000000C951500), counter=1, this=000000000C951500
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=2, this=000000000C9514D0
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=3, this=000000000C9514D0
HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000C9514D0) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6}
DataSize = 4
returns result = 0
HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=3, this=000000000C9514D0
HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=2, this=000000000C9514D0
Replaced Hooked_LoadLibraryExW for: C:\Windows\system32\nvapi64.dll to nvapi64.dll.
Replaced Hooked_LoadLibraryExW for: C:\Windows\system32\nvapi64.dll to nvapi64.dll.
D3D11CreateDevice returned device handle = 0000000001D9D410, context handle = 0000000001D9E058
HackerDevice 0000000014ADE110 created to wrap 0000000001D9D410
HackerContext 000000000B889FB0 created to wrap 0000000001D9E058
HackerDevice::Create3DMigotoResources(class HackerDevice@0000000014ADE110) called.
created NVAPI stereo handle. Handle = 0000000014C79570
creating stereo parameter texture.
stereo texture created, handle = 0000000001DC7A18
creating stereo parameter resource view.
stereo texture resource view created, handle = 0000000001DC7B98.
creating .ini constant parameter texture.
IniParam texture created, handle = 0000000001DC7D18
creating IniParam resource view.
Iniparams resource view created, handle = 0000000001DC7E98.
Created pink mode pixel shader: 0
->D3D11CreateDevice result = 0, device handle = 0000000001D9D410, device wrapper = 0000000014ADE110, context handle = 0000000001D9E058, context wrapper = 000000000B889FB0

deleting self
HackerDevice::GetHackerContext returns 000000000B889FB0
clearing mHackerDevice->mHackerContext


*** D3D11CreateDevice called with
pAdapter = 000000000C9514D0
Flags = 0x1
pFeatureLevels = 0xb000
FeatureLevels = 3
ppDevice = 0000000000000000
pFeatureLevel = 0x9100
ppImmediateContext = 0000000000000000
HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@0000000014C4C9B0) called
returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0
HackerUnknown::Release(class HackerDXGIAdapter1@0000000014C4C9B0), counter=3, this=0000000014C4C9B0
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=4, this=000000000C9514D0
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000C9514D0), counter=5, this=000000000C9514D0
HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000C9514D0) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6}
DataSize = 4
returns result = 0
HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=5, this=000000000C9514D0
HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=4, this=000000000C9514D0
D3D11CreateDevice returned device handle = 0000000000000000, context handle = 0000000000000000
->D3D11CreateDevice result = 1, device handle = 0000000000000000, device wrapper = 0000000000000000, context handle = 0000000000000000, context wrapper = 0000000000000000

HackerUnknown::Release(class HackerDXGIAdapter@000000000C9514D0), counter=2, this=000000000C9514D0
HackerDXGIFactory::EnumAdapters(class HackerDXGIFactory@000000000C951470) adapter 1 requested
returns result = 0x887a0002
HackerUnknown::Release(class HackerDXGIFactory@000000000C951470), counter=1, this=000000000C951470
Hooked_CreateDXGIFactory called with riid: IDXGIFactory
calling original CreateDXGIFactory API
CreateDXGIFactory returned factory = 0000000001DC90D0, result = 0
HackerDXGIFactory::EnumAdapters(class HackerDXGIFactory@000000000B91A300) adapter 0 requested
created HackerDXGIAdapter wrapper = 000000000B91DC30 of 0000000001DC91F0
returns result = 0
HackerDXGIAdapter::EnumOutputs(class HackerDXGIAdapter@000000000B91DC30) called: output #0 requested
returns result = 0, handle = 0000000001DD0E90


*** D3D11CreateDevice called with
pAdapter = 000000000B91DC30
Flags = 0x1
pFeatureLevels = 0xb000
FeatureLevels = 3
ppDevice = 0000000021FDFBA8
pFeatureLevel = 0xb91a300
ppImmediateContext = 0000000021FDFBA0
HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@000000000B91DCF0) called
returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0
HackerUnknown::Release(class HackerDXGIAdapter1@000000000B91DCF0), counter=2, this=000000000B91DCF0
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=3, this=000000000B91DC30
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=4, this=000000000B91DC30
HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000B91DC30) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6}
DataSize = 4
returns result = 0
HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=4, this=000000000B91DC30
HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=3, this=000000000B91DC30
D3D11CreateDevice returned device handle = 0000000001DD4620, context handle = 0000000001DD50A8
HackerDevice 0000000015258BA0 created to wrap 0000000001DD4620
HackerContext 000000002450AEC0 created to wrap 0000000001DD50A8
HackerDevice::Create3DMigotoResources(class HackerDevice@0000000015258BA0) called.
created NVAPI stereo handle. Handle = 000000000C39B9F0
creating stereo parameter texture.
stereo texture created, handle = 0000000001DFD258
creating stereo parameter resource view.
stereo texture resource view created, handle = 0000000001DFD3D8.
creating .ini constant parameter texture.
IniParam texture created, handle = 0000000001DFD558
creating IniParam resource view.
Iniparams resource view created, handle = 0000000001DFD6D8.
Created pink mode pixel shader: 0
->D3D11CreateDevice result = 0, device handle = 0000000001DD4620, device wrapper = 0000000015258BA0, context handle = 0000000001DD50A8, context wrapper = 000000002450AEC0

deleting self
HackerDevice::GetHackerContext returns 000000002450AEC0
clearing mHackerDevice->mHackerContext


*** D3D11CreateDeviceAndSwapChain called with
pAdapter = 000000000B91DC30
Flags = 0x1
pFeatureLevels = 0xb000
FeatureLevels = 3
pSwapChainDesc = 0000000021FDFC90
ppSwapChain = 0000000001A3BD20
ppDevice = 0000000001A3BCB0
pFeatureLevel = 0
ppImmediateContext = 0000000001A3BCB8
Windowed = 0
Width = 1920
Height = 1080
Refresh rate = 119.879997
HackerDXGIAdapter1::GetDesc1(class HackerDXGIAdapter1@00000000152B2F50) called
returns adapter: NVIDIA GeForce GTX 760, sysmem=0, vidmem=2087387136, flags=0
HackerUnknown::Release(class HackerDXGIAdapter1@00000000152B2F50), counter=4, this=00000000152B2F50
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=5, this=000000000B91DC30
HackerUnknown::AddRef(class HackerDXGIAdapter@000000000B91DC30), counter=6, this=000000000B91DC30
HackerDXGIObject::SetPrivateData(class HackerDXGIAdapter@000000000B91DC30) called with GUID: {D722FB4D-7A68-437A-B20C-5804EE2494A6}
DataSize = 4
returns result = 0
HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=6, this=000000000B91DC30
HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=5, this=000000000B91DC30
D3D11CreateDeviceAndSwapChain returned device handle = 0000000001DFDF00, context handle = 0000000001DFFEC8, swapchain handle = 0000000001E45350
HackerDevice 00000000152591E0 created to wrap 0000000001DFDF00
HackerContext 0000000024750AF0 created to wrap 0000000001DFFEC8
Overlay::Overlay created for 0000000024573400: class HackerDXGISwapChain
on HackerDevice: 00000000152591E0, HackerContext: 0000000024750AF0
HackerDXGISwapChain 0000000024573400 created to wrap 0000000001E45350
HackerDevice::Create3DMigotoResources(class HackerDevice@00000000152591E0) called.
created NVAPI stereo handle. Handle = 000000002474B710
creating stereo parameter texture.
stereo texture created, handle = 0000000001E46958
creating stereo parameter resource view.
stereo texture resource view created, handle = 0000000001E46AD8.
creating .ini constant parameter texture.
IniParam texture created, handle = 0000000001E46C58
creating IniParam resource view.
Iniparams resource view created, handle = 0000000001E46DD8.
Created pink mode pixel shader: 0
->D3D11CreateDeviceAndSwapChain result = 0, device handle = 0000000001DFDF00, device wrapper = 00000000152591E0, context handle = 0000000001DFFEC8, context wrapper = 0000000024750AF0, swapchain handle = 0000000001E45350, swapchain wrapper = 0000000024573400

HackerDXGIFactory::MakeWindowAssociation(class HackerDXGIFactory@000000000B91A300) called with WindowHandle = 00000000001503F2, Flags = 1
Flags = DXGI_MWA_NO_WINDOW_CHANGES(no monitoring)
returns result = 0
HackerUnknown::Release(class HackerDXGIFactory@000000000B91A300), counter=3, this=000000000B91A300
HackerUnknown::Release(class HackerDXGIAdapter@000000000B91DC30), counter=5, this=000000000B91DC30
HackerDevice::CreatePixelShader called with BytecodeLength = 848, handle = 0000000001E48830, ClassLinkage = 0000000000000000
bytecode hash = 4dab6625ae76d67b
shader registered for possible reloading: 4dab6625ae76d67b_ps as bin -
returns result = 0, handle = 0000000001E46EE8
HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 0000000001DD2EA0, ClassLinkage = 0000000000000000
bytecode hash = b2293ce2e61dfc49
shader registered for possible reloading: b2293ce2e61dfc49_vs as bin -
returns result = 0, handle = 0000000001E47368
HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 0000000001E49500, ClassLinkage = 0000000000000000
bytecode hash = a4918560526792e4
shader registered for possible reloading: a4918560526792e4_ps as bin -
returns result = 0, handle = 0000000001E49E68
updating stereo texture with eyeSeparation = 0.000000e+000, separation = 0.000000e+000, convergence = 0.000000e+000, active = 0
nvapi fetched screen width: 1920.000000, height: 1080.000000
HackerDevice::CreatePixelShader called with BytecodeLength = 1224, handle = 0000000001E49500, ClassLinkage = 0000000000000000
bytecode hash = c7b4ecbf2cc3686f
shader registered for possible reloading: c7b4ecbf2cc3686f_ps as bin -
returns result = 0, handle = 0000000001E48A28
HackerDevice::CreatePixelShader called with BytecodeLength = 1460, handle = 0000000001E497D0, ClassLinkage = 0000000000000000
bytecode hash = 45d3fefdb845bfdf
shader registered for possible reloading: 45d3fefdb845bfdf_ps as bin -
returns result = 0, handle = 0000000001E48328
HackerDevice::CreatePixelShader called with BytecodeLength = 1804, handle = 0000000001E4BE10, ClassLinkage = 0000000000000000
bytecode hash = 8c637393a767e3bf
shader registered for possible reloading: 8c637393a767e3bf_ps as bin -
returns result = 0, handle = 0000000001E507E8
HackerDevice::CreateVertexShader called with BytecodeLength = 652, handle = 0000000001E59750, ClassLinkage = 0000000000000000
bytecode hash = 489c1f30e193e09f
shader registered for possible reloading: 489c1f30e193e09f_vs as bin -
returns result = 0, handle = 0000000001E50928
HackerDevice::CreateVertexShader called with BytecodeLength = 608, handle = 0000000001E595E0, ClassLinkage = 0000000000000000
bytecode hash = 59378704ab3f9994
shader registered for possible reloading: 59378704ab3f9994_vs as bin -
returns result = 0, handle = 0000000001E39DA8
HackerDevice::CreatePixelShader called with BytecodeLength = 532, handle = 0000000001E4FB80, ClassLinkage = 0000000000000000
bytecode hash = d50bb519cef93ca9
shader registered for possible reloading: d50bb519cef93ca9_ps as bin -
returns result = 0, handle = 0000000001E39EA8
HackerDevice::CreatePixelShader called with BytecodeLength = 1080, handle = 0000000001E3D3A0, ClassLinkage = 0000000000000000
bytecode hash = f12d1ec6b2d5f02b
shader registered for possible reloading: f12d1ec6b2d5f02b_ps as bin -
returns result = 0, handle = 0000000001E39FE8
HackerDevice::CreatePixelShader called with BytecodeLength = 660, handle = 0000000001E595E0, ClassLinkage = 0000000000000000
bytecode hash = 2619f8481feba267
shader registered for possible reloading: 2619f8481feba267_ps as bin -
returns result = 0, handle = 0000000001E3A0E8
HackerDevice::CreatePixelShader called with BytecodeLength = 1092, handle = 00000000254FF540, ClassLinkage = 0000000000000000
bytecode hash = 7a82cb3d12101e65
shader registered for possible reloading: 7a82cb3d12101e65_ps as bin -
returns result = 0, handle = 0000000001E3A228
HackerDevice::CreatePixelShader called with BytecodeLength = 1276, handle = 0000000001E3CAD0, ClassLinkage = 0000000000000000
bytecode hash = 0db04256e5b456ff
shader registered for possible reloading: 0db04256e5b456ff_ps as bin -
returns result = 0, handle = 0000000001E3A328
HackerDevice::CreateGeometryShader called with BytecodeLength = 988, handle = 0000000001E3C630
bytecode hash = f8ec4e031f557502
shader registered for possible reloading: f8ec4e031f557502_gs as bin -
returns result = 0, handle = 0000000001E3A468
HackerDevice::CreateGeometryShader called with BytecodeLength = 1116, handle = 0000000025501950
bytecode hash = 090a134fe4f0a72e
shader registered for possible reloading: 090a134fe4f0a72e_gs as bin -
returns result = 0, handle = 0000000001E3A568
HackerDevice::CreatePixelShader called with BytecodeLength = 748, handle = 0000000001E3C630, ClassLinkage = 0000000000000000
bytecode hash = 989d6a47232b760e
shader registered for possible reloading: 989d6a47232b760e_ps as bin -
returns result = 0, handle = 0000000001E3A7A8
HackerDevice::CreateVertexShader called with BytecodeLength = 716, handle = 0000000001DCD2A0, ClassLinkage = 0000000000000000
bytecode hash = 987459d0ab8f74a0
shader registered for possible reloading: 987459d0ab8f74a0_vs as bin -
returns result = 0, handle = 0000000001E3A8E8
HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 00000000255001B0, ClassLinkage = 0000000000000000
bytecode hash = 8704ffe1f1ae1118
shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin -
returns result = 0, handle = 0000000001E3A9E8
HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 0000000001E47B70, ClassLinkage = 0000000000000000
bytecode hash = b2293ce2e61dfc49
shader registered for possible reloading: b2293ce2e61dfc49_vs as bin -
returns result = 0, handle = 0000000025501AE8
HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 00000000255076B0, ClassLinkage = 0000000000000000
bytecode hash = a4918560526792e4
shader registered for possible reloading: a4918560526792e4_ps as bin -
returns result = 0, handle = 0000000025501C28
updating stereo texture with eyeSeparation = 1.177359e-001, separation = 1.000000e+002, convergence = 4.000000e+000, active = 1
nvapi fetched screen width: 1920.000000, height: 1080.000000
HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 0000000001E47B70, ClassLinkage = 0000000000000000
bytecode hash = 8704ffe1f1ae1118
shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin -
returns result = 0, handle = 0000000001E3A9E8
HackerDevice::CreatePixelShader called with BytecodeLength = 2596, handle = 000000002550C6A0, ClassLinkage = 0000000000000000
bytecode hash = 548a3425237494d8
shader registered for possible reloading: 548a3425237494d8_ps as bin -
returns result = 0, handle = 0000000025501D28
HackerDevice::CreateVertexShader called with BytecodeLength = 2748, handle = 000000002550D610, ClassLinkage = 0000000000000000
bytecode hash = fefd90470c9f3f76
shader registered for possible reloading: fefd90470c9f3f76_vs as bin -
returns result = 0, handle = 0000000025501E68
HackerDevice::CreateGeometryShader called with BytecodeLength = 2008, handle = 000000002550F0F0
bytecode hash = 7fcb77db49ef1a8c
shader registered for possible reloading: 7fcb77db49ef1a8c_gs as bin -
returns result = 0, handle = 0000000025501F68
HackerDevice::CreatePixelShader called with BytecodeLength = 3484, handle = 00000000254C7C30, ClassLinkage = 0000000000000000
bytecode hash = 62e4394df74b284d
shader registered for possible reloading: 62e4394df74b284d_ps as bin -
returns result = 0, handle = 00000000255020A8
HackerDevice::CreateVertexShader called with BytecodeLength = 2652, handle = 00000000254C8EB0, ClassLinkage = 0000000000000000
bytecode hash = 3ce041838d16e198
shader registered for possible reloading: 3ce041838d16e198_vs as bin -
returns result = 0, handle = 00000000255021A8
HackerDevice::CreatePixelShader called with BytecodeLength = 1896, handle = 00000000254CA930, ClassLinkage = 0000000000000000
bytecode hash = d497a2d282a9ed78
shader registered for possible reloading: d497a2d282a9ed78_ps as bin -
returns result = 0, handle = 00000000255022E8
HackerDevice::CreateVertexShader called with BytecodeLength = 2244, handle = 00000000254CABF0, ClassLinkage = 0000000000000000
bytecode hash = e0790ef4d504bf5d
shader registered for possible reloading: e0790ef4d504bf5d_vs as bin -
returns result = 0, handle = 00000000255023E8
HackerDevice::CreateGeometryShader called with BytecodeLength = 1900, handle = 00000000254CC8D0
bytecode hash = 913f7cd70aa3f406
shader registered for possible reloading: 913f7cd70aa3f406_gs as bin -
returns result = 0, handle = 0000000025502528
HackerDevice::CreatePixelShader called with BytecodeLength = 4732, handle = 00000000254DACB0, ClassLinkage = 0000000000000000
bytecode hash = 7a0220ca6dc989bf
shader registered for possible reloading: 7a0220ca6dc989bf_ps as bin -
returns result = 0, handle = 0000000025502628
HackerDevice::CreateVertexShader called with BytecodeLength = 2864, handle = 00000000254E4140, ClassLinkage = 0000000000000000
bytecode hash = 8c5a5a3064da744f
shader registered for possible reloading: 8c5a5a3064da744f_vs as bin -
returns result = 0, handle = 0000000025502768
HackerDevice::CreateGeometryShader called with BytecodeLength = 2116, handle = 00000000254E5C90
bytecode hash = 4151119c3a685230
shader registered for possible reloading: 4151119c3a685230_gs as bin -
returns result = 0, handle = 0000000025502868
HackerDevice::CreatePixelShader called with BytecodeLength = 3788, handle = 00000000254E6960, ClassLinkage = 0000000000000000
bytecode hash = bf458bafc3864338
shader registered for possible reloading: bf458bafc3864338_ps as bin -
returns result = 0, handle = 00000000254E4CE8
HackerDevice::CreatePixelShader called with BytecodeLength = 3676, handle = 00000000254E9B20, ClassLinkage = 0000000000000000
bytecode hash = 5e8104258a35ed8f
shader registered for possible reloading: 5e8104258a35ed8f_ps as bin -
returns result = 0, handle = 00000000254E4E28
HackerDevice::CreatePixelShader called with BytecodeLength = 2960, handle = 00000000254EB730, ClassLinkage = 0000000000000000
bytecode hash = 4ee5b56933f2d814
shader registered for possible reloading: 4ee5b56933f2d814_ps as bin -
returns result = 0, handle = 00000000254E4F28
HackerDevice::CreatePixelShader called with BytecodeLength = 1836, handle = 00000000254EBBD0, ClassLinkage = 0000000000000000
bytecode hash = c526d4d477bde07e
shader registered for possible reloading: c526d4d477bde07e_ps as bin -
returns result = 0, handle = 00000000254E5068
HackerDevice::CreatePixelShader called with BytecodeLength = 1364, handle = 00000000254EF310, ClassLinkage = 0000000000000000
bytecode hash = aad190e958ca1e0c
shader registered for possible reloading: aad190e958ca1e0c_ps as bin -
returns result = 0, handle = 00000000254E5168
HackerDevice::CreatePixelShader called with BytecodeLength = 2392, handle = 00000000254EB860, ClassLinkage = 0000000000000000
bytecode hash = 05066134c7e7b1f2
shader registered for possible reloading: 05066134c7e7b1f2_ps as bin -
returns result = 0, handle = 00000000254E52A8
HackerDevice::CreateVertexShader called with BytecodeLength = 2552, handle = 00000000254F0C80, ClassLinkage = 0000000000000000
bytecode hash = aad91ef4b23a5bba
shader registered for possible reloading: aad91ef4b23a5bba_vs as bin -
returns result = 0, handle = 00000000254E53A8
HackerDevice::CreatePixelShader called with BytecodeLength = 4644, handle = 00000000254F2690, ClassLinkage = 0000000000000000
bytecode hash = 160bfd3843ca76bb
shader registered for possible reloading: 160bfd3843ca76bb_ps as bin -
returns result = 0, handle = 00000000254E54E8
HackerDevice::CreateVertexShader called with BytecodeLength = 3052, handle = 00000000254F2450, ClassLinkage = 0000000000000000
bytecode hash = 055ec18d6e898645
shader registered for possible reloading: 055ec18d6e898645_vs as bin -
returns result = 0, handle = 00000000254E55E8
HackerDevice::CreatePixelShader called with BytecodeLength = 2072, handle = 00000000254F1A80, ClassLinkage = 0000000000000000
bytecode hash = bb54a93ad3ca4abd
shader registered for possible reloading: bb54a93ad3ca4abd_ps as bin -
returns result = 0, handle = 00000000254E5728
HackerDevice::CreateVertexShader called with BytecodeLength = 2340, handle = 00000000254F7F00, ClassLinkage = 0000000000000000
bytecode hash = ad91fa33764a592b
shader registered for possible reloading: ad91fa33764a592b_vs as bin -
returns result = 0, handle = 00000000254E5828
HackerDevice::CreateGeometryShader called with BytecodeLength = 2548, handle = 00000000254F8DF0
bytecode hash = 8aeef47a6c9b2b6a
shader registered for possible reloading: 8aeef47a6c9b2b6a_gs as bin -
returns result = 0, handle = 00000000254E5968
HackerDevice::CreatePixelShader called with BytecodeLength = 2788, handle = 00000000254F8C70, ClassLinkage = 0000000000000000
bytecode hash = 3cb34e3a6f1669e8
shader registered for possible reloading: 3cb34e3a6f1669e8_ps as bin -
returns result = 0, handle = 00000000254E5A68
HackerDevice::CreateGeometryShader called with BytecodeLength = 3216, handle = 0000000025511CC0
bytecode hash = ca3df2bcb0d97946
shader registered for possible reloading: ca3df2bcb0d97946_gs as bin -
returns result = 0, handle = 00000000254E5BA8
HackerDevice::CreatePixelShader called with BytecodeLength = 2072, handle = 00000000254FBF80, ClassLinkage = 0000000000000000
bytecode hash = bb54a93ad3ca4abd
shader registered for possible reloading: bb54a93ad3ca4abd_ps as bin -
returns result = 0, handle = 00000000254F9868
HackerDevice::CreatePixelShader called with BytecodeLength = 2788, handle = 00000000254FBF80, ClassLinkage = 0000000000000000
bytecode hash = 3cb34e3a6f1669e8
shader registered for possible reloading: 3cb34e3a6f1669e8_ps as bin -
returns result = 0, handle = 00000000254F99A8
HackerDevice::CreatePixelShader called with BytecodeLength = 4644, handle = 0000000025513FE0, ClassLinkage = 0000000000000000
bytecode hash = 160bfd3843ca76bb
shader registered for possible reloading: 160bfd3843ca76bb_ps as bin -
returns result = 0, handle = 00000000254F9AA8
HackerDevice::CreatePixelShader called with BytecodeLength = 4056, handle = 0000000025513FE0, ClassLinkage = 0000000000000000
bytecode hash = 12140248aa642b3b
shader registered for possible reloading: 12140248aa642b3b_ps as bin -
returns result = 0, handle = 00000000254F9BE8
HackerDevice::CreateVertexShader called with BytecodeLength = 3148, handle = 000000002551A440, ClassLinkage = 0000000000000000
bytecode hash = a9a125f9e4690534
shader registered for possible reloading: a9a125f9e4690534_vs as bin -
returns result = 0, handle = 00000000254F9CE8
HackerDevice::CreatePixelShader called with BytecodeLength = 2632, handle = 000000002551C0B0, ClassLinkage = 0000000000000000
bytecode hash = 6c5ec9392c8fbfcd
shader registered for possible reloading: 6c5ec9392c8fbfcd_ps as bin -
returns result = 0, handle = 00000000254F9E28
HackerDevice::CreatePixelShader called with BytecodeLength = 2912, handle = 0000000025524B10, ClassLinkage = 0000000000000000
bytecode hash = 082e5424256e9a35
shader registered for possible reloading: 082e5424256e9a35_ps as bin -
returns result = 0, handle = 000000002554F528
HackerDevice::CreatePixelShader called with BytecodeLength = 2808, handle = 000000002552A690, ClassLinkage = 0000000000000000
bytecode hash = c86296da06d07ce4
shader registered for possible reloading: c86296da06d07ce4_ps as bin -
returns result = 0, handle = 000000002554F668
HackerDevice::CreatePixelShader called with BytecodeLength = 2784, handle = 000000002552B990, ClassLinkage = 0000000000000000
bytecode hash = 687369e3e961d198
shader registered for possible reloading: 687369e3e961d198_ps as bin -
returns result = 0, handle = 000000002554F768
HackerDevice::CreateVertexShader called with BytecodeLength = 2952, handle = 000000002552C480, ClassLinkage = 0000000000000000
bytecode hash = 82889657c6c158ed
shader registered for possible reloading: 82889657c6c158ed_vs as bin -
returns result = 0, handle = 000000002554F8A8
HackerDevice::CreatePixelShader called with BytecodeLength = 5056, handle = 00000000255301E0, ClassLinkage = 0000000000000000
bytecode hash = 2d4f828f25b3adf6
shader registered for possible reloading: 2d4f828f25b3adf6_ps as bin -
returns result = 0, handle = 000000002554F9A8
HackerDevice::CreateVertexShader called with BytecodeLength = 3616, handle = 00000000255375B0, ClassLinkage = 0000000000000000
bytecode hash = b9e678d7abcaa440
shader registered for possible reloading: b9e678d7abcaa440_vs as bin -
returns result = 0, handle = 000000002554FAE8
HackerDevice::CreatePixelShader called with BytecodeLength = 5056, handle = 00000000255395A0, ClassLinkage = 0000000000000000
bytecode hash = 6d18667ff444d226
shader registered for possible reloading: 6d18667ff444d226_ps as bin -
returns result = 0, handle = 000000002551CB68
HackerDevice::CreatePixelShader called with BytecodeLength = 4364, handle = 000000002553BD40, ClassLinkage = 0000000000000000
bytecode hash = dc39ed30bd32e34d
shader registered for possible reloading: dc39ed30bd32e34d_ps as bin -
returns result = 0, handle = 000000002551CCA8
HackerDevice::CreateVertexShader called with BytecodeLength = 3540, handle = 000000002553DE60, ClassLinkage = 0000000000000000
bytecode hash = 8a003bdbbc669ae7
shader registered for possible reloading: 8a003bdbbc669ae7_vs as bin -
returns result = 0, handle = 000000002551CDA8
HackerDevice::CreatePixelShader called with BytecodeLength = 2072, handle = 0000000025539D00, ClassLinkage = 0000000000000000
bytecode hash = c0881fb7c41d216c
shader registered for possible reloading: c0881fb7c41d216c_ps as bin -
returns result = 0, handle = 000000002551CEE8
HackerDevice::CreatePixelShader called with BytecodeLength = 2808, handle = 0000000025539D00, ClassLinkage = 0000000000000000
bytecode hash = 18120e07f18fe516
shader registered for possible reloading: 18120e07f18fe516_ps as bin -
returns result = 0, handle = 000000002551CFE8
HackerDevice::CreatePixelShader called with BytecodeLength = 956, handle = 000000002552C000, ClassLinkage = 0000000000000000
bytecode hash = 94b960f36b0012a8
shader registered for possible reloading: 94b960f36b0012a8_ps as bin -
returns result = 0, handle = 000000002551D128
HackerDevice::CreatePixelShader called with BytecodeLength = 2348, handle = 0000000025544C70, ClassLinkage = 0000000000000000
bytecode hash = 75d883bf98d37120
shader registered for possible reloading: 75d883bf98d37120_ps as bin -
returns result = 0, handle = 000000002551D228
HackerDevice::CreatePixelShader called with BytecodeLength = 2268, handle = 00000000255455B0, ClassLinkage = 0000000000000000
bytecode hash = 53f9a42d156c61e8
shader registered for possible reloading: 53f9a42d156c61e8_ps as bin -
returns result = 0, handle = 000000002551D368
HackerDevice::CreatePixelShader called with BytecodeLength = 4196, handle = 000000002555B570, ClassLinkage = 0000000000000000
bytecode hash = ecf1dcbc1befc6a4
shader registered for possible reloading: ecf1dcbc1befc6a4_ps as bin -
returns result = 0, handle = 000000002551D468
HackerDevice::CreateVertexShader called with BytecodeLength = 2964, handle = 00000000255605E0, ClassLinkage = 0000000000000000
bytecode hash = 8e2236c5c8818ed1
shader registered for possible reloading: 8e2236c5c8818ed1_vs as bin -
returns result = 0, handle = 000000002551D5A8
HackerDevice::CreatePixelShader called with BytecodeLength = 5632, handle = 0000000025567D80, ClassLinkage = 0000000000000000
bytecode hash = 7f6a6773e420f9ae
shader registered for possible reloading: 7f6a6773e420f9ae_ps as bin -
returns result = 0, handle = 000000002551D6A8
HackerDevice::CreateVertexShader called with BytecodeLength = 5328, handle = 0000000025567190, ClassLinkage = 0000000000000000
bytecode hash = 4fe38d0e49371f9d
shader registered for possible reloading: 4fe38d0e49371f9d_vs as bin -
returns result = 0, handle = 000000002551D7E8
HackerDevice::CreatePixelShader called with BytecodeLength = 6324, handle = 000000002557C090, ClassLinkage = 0000000000000000
bytecode hash = fb70974113d6e1ad
shader registered for possible reloading: fb70974113d6e1ad_ps as bin -
returns result = 0, handle = 000000002551D8E8
HackerDevice::CreateVertexShader called with BytecodeLength = 5404, handle = 000000002557F950, ClassLinkage = 0000000000000000
bytecode hash = 3f51be073ec8e63a
shader registered for possible reloading: 3f51be073ec8e63a_vs as bin -
returns result = 0, handle = 000000002551DA28
HackerDevice::CreatePixelShader called with BytecodeLength = 6324, handle = 0000000025583090, ClassLinkage = 0000000000000000
bytecode hash = 91ef4d84ebf9db93
shader registered for possible reloading: 91ef4d84ebf9db93_ps as bin -
returns result = 0, handle = 0000000025566228
> starting at vertex shader #0. Number of vertex shaders in frame: 8
> traversing to next vertex shader #1. Number of vertex shaders in frame: 8
> traversing to previous vertex shader shader #0. Number of vertex shader shaders in frame: 8
> traversing to next vertex shader #1. Number of vertex shaders in frame: 8
>>>> vertex shader marked: vertex shader hash = 3f51be073ec8e63a
visited index buffer hash = 7de1e7e8
visited pixel shader hash = 91ef4d84ebf9db93
visited pixel shader hash = fb70974113d6e1ad
StereoScreenShot on Mark: C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderFixes\3f51be073ec8e63a-vs.jps, result: 0
creating HLSL representation.
storing patched shader to C:\Users\Alejandro\Documents\Dolphin-x64 8727\ShaderFixes\3f51be073ec8e63a-vs_replace.txt
>Replacement shader found. Re-Loading replacement HLSL code from 3f51be073ec8e63a-vs_replace.txt
Reload source code loaded. Size = 11491
compiling replacement HLSL code with shader model vs_5_0
compile result for replacement HLSL shader: 80004005
--------------------------------------------- BEGIN ---------------------------------------------
C:\Users\Alejandro\Documents\Dolphin-x64 8727\wrapper1349(61,14-17): error X3004: undeclared identifier 'int5'
---------------------------------------------- END ----------------------------------------------
> FAILED to copy Marked shader to ShaderFixes
HackerDXGISwapChain::SetFullscreenState(class HackerDXGISwapChain@0000000024573400) called with
Fullscreen = 0
Target = 0000000000000000
returns 0
HackerDXGISwapChain::ResizeBuffers(class HackerDXGISwapChain@0000000024573400) called
returns result = 887a0001
HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 0000000025542F50, ClassLinkage = 0000000000000000
bytecode hash = b2293ce2e61dfc49
shader registered for possible reloading: b2293ce2e61dfc49_vs as bin -
returns result = 0, handle = 0000000025501AE8
HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 000000002558C740, ClassLinkage = 0000000000000000
bytecode hash = a4918560526792e4
shader registered for possible reloading: a4918560526792e4_ps as bin -
returns result = 0, handle = 0000000025501C28
updating stereo texture with eyeSeparation = 0.000000e+000, separation = 0.000000e+000, convergence = 0.000000e+000, active = 0
nvapi fetched screen width: 1920.000000, height: 1080.000000
HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 00000000254F78F0, ClassLinkage = 0000000000000000
bytecode hash = 8704ffe1f1ae1118
shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin -
returns result = 0, handle = 0000000001E3A9E8
HackerDevice::CreateVertexShader called with BytecodeLength = 1104, handle = 00000000254F78F0, ClassLinkage = 0000000000000000
bytecode hash = b2293ce2e61dfc49
shader registered for possible reloading: b2293ce2e61dfc49_vs as bin -
returns result = 0, handle = 0000000025501AE8
HackerDevice::CreatePixelShader called with BytecodeLength = 2340, handle = 000000002558C740, ClassLinkage = 0000000000000000
bytecode hash = a4918560526792e4
shader registered for possible reloading: a4918560526792e4_ps as bin -
returns result = 0, handle = 0000000025501C28
HackerDevice::CreatePixelShader called with BytecodeLength = 940, handle = 0000000025568FA0, ClassLinkage = 0000000000000000
bytecode hash = 8704ffe1f1ae1118
shader registered for possible reloading: 8704ffe1f1ae1118_ps as bin -
returns result = 0, handle = 00000000255019E8
HackerDXGISwapChain::SetFullscreenState(class HackerDXGISwapChain@0000000024573400) called with
Fullscreen = 0
Target = 0000000000000000
returns 0
HackerUnknown::Release(class HackerDXGISwapChain@0000000024573400), counter=1, this=0000000024573400


Shader (not fixed):

// ---- Created with 3Dmigoto v1.2.25 on Wed Jan 20 19:55:48 2016

cbuffer VSBlock : register(b0)
{
float4 cpnmtx[6] : packoffset(c0);
float4 cproj[4] : packoffset(c6);
int4 cmtrl[4] : packoffset(c10);

struct
{
int4 color;
float4 cosatt;
float4 distatt;
float4 pos;
float4 dir;
} clights[8] : packoffset(c14);

float4 ctexmtx[24] : packoffset(c54);
float4 ctrmtx[64] : packoffset(c78);
float4 cnmtx[32] : packoffset(c142);
float4 cpostmtx[64] : packoffset(c174);
float4 cpixelcenter : packoffset(c238);
}



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


void main(
float3 v0 : NORMAL0,
float2 v1 : TEXCOORD0,
float4 v2 : POSITION0,
out float4 o0 : SV_Position0,
out float4 o1 : COLOR0,
out float4 o2 : COLOR1,
out float4 o3 : TEXCOORD0,
out float4 o4 : TEXCOORD1,
out float4 o5 : TEXCOORD2,
out float3 o6 : TEXCOORD3)
{
float4 r0,r1,r2,r3,r4;
uint4 bitmask, uiDest;
float4 fDest;

r0.w = 1;
r0.x = dot(cpnmtx[0].xyzw, v2.xyzw);
r0.y = dot(cpnmtx[1].xyzw, v2.xyzw);
r0.z = dot(cpnmtx[2].xyzw, v2.xyzw);
r1.x = dot(cproj[0].xyzw, r0.xyzw);
r1.y = dot(cproj[1].xyzw, r0.xyzw);
r1.w = dot(cproj[3].xyzw, r0.xyzw);
r1.z = dot(cproj[2].xyzw, r0.xyzw);
o0.xy = -r1.ww * cpixelcenter.xy + r1.xy;
o0.z = -r1.z;
o0.w = r1.w;
o4.xyzw = r1.xyzw;
r1.xyzw = (int5)clights[1].color;
r2.xyz = clights[1].pos.xyz + -r0.xyz;
r3.z = dot(r2.xyz, r2.xyz);
r3.y = sqrt(r3.z);
r2.xyz = r2.xyz / r3.yyy;
r0.w = dot(r2.xyz, clights[1].dir);
r0.w = max(0, r0.w);
r2.w = clights[1].cosatt * r0.w + clights[1].cosatt;
r0.w = r0.w * r0.w;
r0.w = r0.w * clights[1].cosatt + r2.w;
r0.w = max(0, r0.w);
r3.x = 1;
r2.w = dot(clights[1].distatt, r3.xyz);
r0.w = r0.w / r2.w;
r3.x = dot(cpnmtx[3].xyz, v0.xyz);
r3.y = dot(cpnmtx[4].xyz, v0.xyz);
r3.z = dot(cpnmtx[5].xyz, v0.xyz);
r2.w = dot(r3.xyz, r3.xyz);
r2.w = rsqrt(r2.w);
r3.xyz = r3.xyz * r2.www;
r2.x = dot(r2.xyz, r3.xyz);
r2.x = max(0, r2.x);
r0.w = r2.x * r0.w;
r1.xyzw = r0.wwww * r1.xyzw;
r1.xyzw = round(r1.xyzw);
r1.xyzw = (int4)r1.xyzw;
r1.xyzw = (int4)cmtrl[0].xyzw + (int4)r1.xyzw;
r2.xyz = clights[2].pos + -r0.xyz;
r4.z = dot(r2.xyz, r2.xyz);
r4.y = sqrt(r4.z);
r2.xyz = r2.xyz / r4.yyy;
r0.w = dot(r2.xyz, clights[2].dir);
r2.x = dot(r2.xyz, r3.xyz);
r2.x = max(0, r2.x);
r0.w = max(0, r0.w);
r2.y = clights[2].cosatt * r0.w + clights[2].cosatt;
r0.w = r0.w * r0.w;
r0.w = r0.w * clights[2].cosatt + r2.y;
r0.w = max(0, r0.w);
r4.x = 1;
r2.y = dot(clights[2].distatt, r4.xyz);
r0.w = r0.w / r2.y;
r0.w = r0.w * r2.x;
r2.xyzw = (int5)clights[2].color;
r2.xyzw = r2.xyzw * r0.wwww;
r2.xyzw = round(r2.xyzw);
r2.xyzw = (int4)r2.xyzw;
r1.xyzw = (int4)r1.xyzw + (int4)r2.xyzw;
r2.xyz = clights[3].pos + -r0.xyz;
r4.z = dot(r2.xyz, r2.xyz);
r4.y = sqrt(r4.z);
r2.xyz = r2.xyz / r4.yyy;
r0.w = dot(r2.xyz, clights[3].dir);
r2.x = dot(r2.xyz, r3.xyz);
r2.x = max(0, r2.x);
r0.w = max(0, r0.w);
r2.y = clights[3].cosatt * r0.w + clights[3].cosatt;
r0.w = r0.w * r0.w;
r0.w = r0.w * clights[3].cosatt + r2.y;
r0.w = max(0, r0.w);
r4.x = 1;
r2.y = dot(clights[3].distatt, r4.xyz);
r0.w = r0.w / r2.y;
r0.w = r0.w * r2.x;
r2.xyzw = (int5)clights[3].color;
r2.xyzw = r2.xyzw * r0.wwww;
r2.xyzw = round(r2.xyzw);
r2.xyzw = (int4)r2.xyzw;
r1.xyzw = (int4)r1.xyzw + (int4)r2.xyzw;
r2.xyz = clights[4].pos + -r0.xyz;
o6.xyz = r0.xyz;
r0.z = dot(r2.xyz, r2.xyz);
r0.y = sqrt(r0.z);
r2.xyz = r2.xyz / r0.yyy;
r0.w = dot(r2.xyz, clights[4].dir);
r2.x = dot(r2.xyz, r3.xyz);
o5.xyz = r3.xyz;
r2.x = max(0, r2.x);
r0.w = max(0, r0.w);
r2.y = clights[4].cosatt * r0.w + clights[4].cosatt;
r0.w = r0.w * r0.w;
r0.w = r0.w * clights[4].cosatt + r2.y;
r0.w = max(0, r0.w);
r0.x = 1;
r0.x = dot(clights[4].distatt, r0.xyz);
r0.x = r0.w / r0.x;
r0.x = r0.x * r2.x;
r2.xyzw = (int5)clights[4].color;
r0.xyzw = r2.xyzw * r0.xxxx;
r0.xyzw = round(r0.xyzw);
r0.xyzw = (int4)r0.xyzw;
r0.xyzw = (int4)r1.xyzw + (int4)r0.xyzw;
r0.xyzw = max(int4(0,0,0,0), (int4)r0.xyzw);
r0.xyzw = min(int4(255,255,255,255), (int4)r0.xyzw);
r1.xyzw = (uint4)r0.xyzw >> int4(7,7,7,7);
r0.xyzw = (int4)r0.xyzw + (int4)r1.xyzw;
r0.xyzw = (int4)cmtrl[2].xyzw * (int4)r0.xyzw;
r0.xyzw = (uint4)r0.xyzw >> int4(8,8,8,8);
r0.xyzw = (int4)r0.xyzw;
r0.xyzw = float4(0.00392156886,0.00392156886,0.00392156886,0.00392156886) * r0.xyzw;
o1.xyzw = r0.xyzw;
o2.xyzw = r0.xyzw;
r0.xy = v1.xy;
r0.zw = float2(1,1);
r1.x = dot(r0.xyww, ctexmtx[0].xyzw);
r1.y = dot(r0.xyzw, ctexmtx[1].xyzw);
r1.z = 1;
r0.x = dot(cpostmtx[61].xyz, r1.xyz);
o3.x = cpostmtx[61].w + r0.x;
r0.x = dot(cpostmtx[62].xyz, r1.xyz);
r0.y = dot(cpostmtx[63].xyz, r1.xyz);
o3.z = cpostmtx[63].w + r0.y;
o3.y = cpostmtx[62].w + r0.x;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// using 3Dmigoto v1.2.25 on Wed Jan 20 19:55:48 2016
//
//
// Buffer Definitions:
//
// cbuffer VSBlock
// {
//
// float4 cpnmtx[6]; // Offset: 0 Size: 96
// float4 cproj[4]; // Offset: 96 Size: 64
// int4 cmtrl[4]; // Offset: 160 Size: 64
//
// struct Light
// {
//
// int4 color; // Offset: 224
// float4 cosatt; // Offset: 240
// float4 distatt; // Offset: 256
// float4 pos; // Offset: 272
// float4 dir; // Offset: 288
//
// } clights[8]; // Offset: 224 Size: 640
// float4 ctexmtx[24]; // Offset: 864 Size: 384
// float4 ctrmtx[64]; // Offset: 1248 Size: 1024 [unused]
// float4 cnmtx[32]; // Offset: 2272 Size: 512 [unused]
// float4 cpostmtx[64]; // Offset: 2784 Size: 1024
// float4 cpixelcenter; // Offset: 3808 Size: 16
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// VSBlock cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// NORMAL 0 xyz 0 NONE float xyz
// TEXCOORD 0 xy 1 NONE float xy
// POSITION 0 xyzw 2 NONE float xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xyzw
// COLOR 0 xyzw 1 NONE float xyzw
// COLOR 1 xyzw 2 NONE float xyzw
// TEXCOORD 0 xyz 3 NONE float xyz
// TEXCOORD 1 xyzw 4 NONE float xyzw
// TEXCOORD 2 xyz 5 NONE float xyz
// TEXCOORD 3 xyz 6 NONE float xyz
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[239], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xy
dcl_input v2.xyzw
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyz
dcl_output o4.xyzw
dcl_output o5.xyz
dcl_output o6.xyz
dcl_temps 5
mov r0.w, l(1.000000)
dp4 r0.x, cb0[0].xyzw, v2.xyzw
dp4 r0.y, cb0[1].xyzw, v2.xyzw
dp4 r0.z, cb0[2].xyzw, v2.xyzw
dp4 r1.x, cb0[6].xyzw, r0.xyzw
dp4 r1.y, cb0[7].xyzw, r0.xyzw
dp4 r1.w, cb0[9].xyzw, r0.xyzw
dp4 r1.z, cb0[8].xyzw, r0.xyzw
mad o0.xy, -r1.wwww, cb0[238].xyxx, r1.xyxx
mov o0.z, -r1.z
mov o0.w, r1.w
mov o4.xyzw, r1.xyzw
itof r1.xyzw, cb0[19].xyzw
add r2.xyz, -r0.xyzx, cb0[22].xyzx
dp3 r3.z, r2.xyzx, r2.xyzx
sqrt r3.y, r3.z
div r2.xyz, r2.xyzx, r3.yyyy
dp3 r0.w, r2.xyzx, cb0[23].xyzx
max r0.w, r0.w, l(0.000000)
mad r2.w, cb0[20].y, r0.w, cb0[20].x
mul r0.w, r0.w, r0.w
mad r0.w, r0.w, cb0[20].z, r2.w
max r0.w, r0.w, l(0.000000)
mov r3.x, l(1.000000)
dp3 r2.w, cb0[21].xyzx, r3.xyzx
div r0.w, r0.w, r2.w
dp3 r3.x, cb0[3].xyzx, v0.xyzx
dp3 r3.y, cb0[4].xyzx, v0.xyzx
dp3 r3.z, cb0[5].xyzx, v0.xyzx
dp3 r2.w, r3.xyzx, r3.xyzx
rsq r2.w, r2.w
mul r3.xyz, r2.wwww, r3.xyzx
dp3 r2.x, r2.xyzx, r3.xyzx
max r2.x, r2.x, l(0.000000)
mul r0.w, r0.w, r2.x
mul r1.xyzw, r1.xyzw, r0.wwww
round_ne r1.xyzw, r1.xyzw
ftoi r1.xyzw, r1.xyzw
iadd r1.xyzw, cb0[10].xyzw, r1.xyzw
add r2.xyz, -r0.xyzx, cb0[27].xyzx
dp3 r4.z, r2.xyzx, r2.xyzx
sqrt r4.y, r4.z
div r2.xyz, r2.xyzx, r4.yyyy
dp3 r0.w, r2.xyzx, cb0[28].xyzx
dp3 r2.x, r2.xyzx, r3.xyzx
max r2.x, r2.x, l(0.000000)
max r0.w, r0.w, l(0.000000)
mad r2.y, cb0[25].y, r0.w, cb0[25].x
mul r0.w, r0.w, r0.w
mad r0.w, r0.w, cb0[25].z, r2.y
max r0.w, r0.w, l(0.000000)
mov r4.x, l(1.000000)
dp3 r2.y, cb0[26].xyzx, r4.xyzx
div r0.w, r0.w, r2.y
mul r0.w, r2.x, r0.w
itof r2.xyzw, cb0[24].xyzw
mul r2.xyzw, r0.wwww, r2.xyzw
round_ne r2.xyzw, r2.xyzw
ftoi r2.xyzw, r2.xyzw
iadd r1.xyzw, r1.xyzw, r2.xyzw
add r2.xyz, -r0.xyzx, cb0[32].xyzx
dp3 r4.z, r2.xyzx, r2.xyzx
sqrt r4.y, r4.z
div r2.xyz, r2.xyzx, r4.yyyy
dp3 r0.w, r2.xyzx, cb0[33].xyzx
dp3 r2.x, r2.xyzx, r3.xyzx
max r2.x, r2.x, l(0.000000)
max r0.w, r0.w, l(0.000000)
mad r2.y, cb0[30].y, r0.w, cb0[30].x
mul r0.w, r0.w, r0.w
mad r0.w, r0.w, cb0[30].z, r2.y
max r0.w, r0.w, l(0.000000)
mov r4.x, l(1.000000)
dp3 r2.y, cb0[31].xyzx, r4.xyzx
div r0.w, r0.w, r2.y
mul r0.w, r2.x, r0.w
itof r2.xyzw, cb0[29].xyzw
mul r2.xyzw, r0.wwww, r2.xyzw
round_ne r2.xyzw, r2.xyzw
ftoi r2.xyzw, r2.xyzw
iadd r1.xyzw, r1.xyzw, r2.xyzw
add r2.xyz, -r0.xyzx, cb0[37].xyzx
mov o6.xyz, r0.xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
sqrt r0.y, r0.z
div r2.xyz, r2.xyzx, r0.yyyy
dp3 r0.w, r2.xyzx, cb0[38].xyzx
dp3 r2.x, r2.xyzx, r3.xyzx
mov o5.xyz, r3.xyzx
max r2.x, r2.x, l(0.000000)
max r0.w, r0.w, l(0.000000)
mad r2.y, cb0[35].y, r0.w, cb0[35].x
mul r0.w, r0.w, r0.w
mad r0.w, r0.w, cb0[35].z, r2.y
max r0.w, r0.w, l(0.000000)
mov r0.x, l(1.000000)
dp3 r0.x, cb0[36].xyzx, r0.xyzx
div r0.x, r0.w, r0.x
mul r0.x, r2.x, r0.x
itof r2.xyzw, cb0[34].xyzw
mul r0.xyzw, r0.xxxx, r2.xyzw
round_ne r0.xyzw, r0.xyzw
ftoi r0.xyzw, r0.xyzw
iadd r0.xyzw, r1.xyzw, r0.xyzw
imax r0.xyzw, r0.xyzw, l(0, 0, 0, 0)
imin r0.xyzw, r0.xyzw, l(255, 255, 255, 255)
ishr r1.xyzw, r0.xyzw, l(7, 7, 7, 7)
iadd r0.xyzw, r0.xyzw, r1.xyzw
imul null, r0.xyzw, cb0[12].xyzw, r0.xyzw
ishr r0.xyzw, r0.xyzw, l(8, 8, 8, 8)
itof r0.xyzw, r0.xyzw
mul r0.xyzw, r0.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886)
mov o1.xyzw, r0.xyzw
mov o2.xyzw, r0.xyzw
mov r0.xy, v1.xyxx
mov r0.zw, l(0,0,1.000000,1.000000)
dp4 r1.x, r0.xyww, cb0[54].xyzw
dp4 r1.y, r0.xyzw, cb0[55].xyzw
mov r1.z, l(1.000000)
dp3 r0.x, cb0[235].xyzx, r1.xyzx
add o3.x, r0.x, cb0[235].w
dp3 r0.x, cb0[236].xyzx, r1.xyzx
dp3 r0.y, cb0[237].xyzx, r1.xyzx
add o3.z, r0.y, cb0[237].w
add o3.y, r0.x, cb0[236].w
ret
// Approximately 126 instruction slots used

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



Edit: I see that there is a new 3Dmigoto version now. It shouldn't affect this, right?

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 01/20/2016 06:57 PM   
@masterotaku: Yes, no change in 1.2.26 for your problem. I took a quick look at this, and it is in fact what DarkStarSword noted, which is that it is using the length of 'color', instead of the length of 'xyzw'. As strrchr('.') For now, just manually fix those to be (int4) instead. (or whatever the struct parameter size is. In this case it's int4 color;) How many shaders are affected by this? I'm hesitant to make any code changes here without a game example to be able to test. You have run across a bug that is in the master source we got from Chiri, that spot has never changed.
@masterotaku: Yes, no change in 1.2.26 for your problem.

I took a quick look at this, and it is in fact what DarkStarSword noted, which is that it is using the length of 'color', instead of the length of 'xyzw'. As strrchr('.')

For now, just manually fix those to be (int4) instead. (or whatever the struct parameter size is. In this case it's int4 color;)


How many shaders are affected by this? I'm hesitant to make any code changes here without a game example to be able to test. You have run across a bug that is in the master source we got from Chiri, that spot has never changed.

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

Posted 01/21/2016 12:25 AM   
I didn't have time to test it thoroughly yesterday. I only tried Baten Kaitos and Zelda OOT (which has very few shaders), and only BK was affected. And it seemed random. Sometimes those same shaders were dumped correctly. Today, I'll try to make them dump right, compare the code and post it. And I'll try it with more games. So I'll probably post again in around 12 hours.
I didn't have time to test it thoroughly yesterday. I only tried Baten Kaitos and Zelda OOT (which has very few shaders), and only BK was affected. And it seemed random. Sometimes those same shaders were dumped correctly.

Today, I'll try to make them dump right, compare the code and post it. And I'll try it with more games. So I'll probably post again in around 12 hours.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 01/21/2016 07:19 AM   
OK, this time I tested Zelda Twilight Princess, Baten Kaitos and Tales of Symphonia. I have uploaded the shaders here, logs included for every game: https://www.dropbox.com/s/djg6kuvpkjnugt8/bad_dolphin_shaders.7z?dl=0 For Zelda TP, I uploaded one shader with that int5 problem, and a different shader that even though it was dumped with a "beep", the content is wrong because the effect remains disabled ingame. There are two folders for Baten Kaitos. One of them has the bad shader and the other has the good shader that randomly worked when I dumped it. This is interesting: [code]r1.xyzw = (int5)clights[1].color; r2.xyz = clights[1].pos.xyz + -r0.xyz;[/code] vs [code]r1.xyzw = (int4)clights[1].color.xyzw; r2.xyz = clights[1].pos + -r0.xyz;[/code] There are other similar lines in the shader. For Tales of Symphonia, three bad shaders where the effects remained disabled after the "beep". By the way, I'm using the 358.50 drivers with my gtx 760, if it's any help.
OK, this time I tested Zelda Twilight Princess, Baten Kaitos and Tales of Symphonia. I have uploaded the shaders here, logs included for every game: https://www.dropbox.com/s/djg6kuvpkjnugt8/bad_dolphin_shaders.7z?dl=0

For Zelda TP, I uploaded one shader with that int5 problem, and a different shader that even though it was dumped with a "beep", the content is wrong because the effect remains disabled ingame.

There are two folders for Baten Kaitos. One of them has the bad shader and the other has the good shader that randomly worked when I dumped it. This is interesting:

r1.xyzw = (int5)clights[1].color;
r2.xyz = clights[1].pos.xyz + -r0.xyz;


vs

r1.xyzw = (int4)clights[1].color.xyzw;
r2.xyz = clights[1].pos + -r0.xyz;


There are other similar lines in the shader.

For Tales of Symphonia, three bad shaders where the effects remained disabled after the "beep".

By the way, I'm using the 358.50 drivers with my gtx 760, if it's any help.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 01/21/2016 06:52 PM   
I found a little discrepancy in asm between original and recompiled shader. Is it correct or a bug? Original ASM: [code] // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.23 on Mon Jan 18 15:02:10 2016 // // // Buffer Definitions: // // cbuffer $Globals // { // // float4 velocityDecodingParams; // Offset: 0 Size: 16 [unused] // float4 renderSlice; // Offset: 16 Size: 16 [unused] // float4 sampler0IDim; // Offset: 32 Size: 16 // float2 sampler1IDim; // Offset: 48 Size: 8 [unused] // float2 sampler2IDim; // Offset: 56 Size: 8 [unused] // float2 sampler0Dim; // Offset: 64 Size: 8 [unused] // float2 sampler1Dim; // Offset: 72 Size: 8 [unused] // float2 sampler2Dim; // Offset: 80 Size: 8 [unused] // float4 ditherMatrixIDim; // Offset: 96 Size: 16 [unused] // float4x4 screenEnvXForm; // Offset: 112 Size: 64 [unused] // float2 bloomHighIDim; // Offset: 176 Size: 8 [unused] // float2 bloomLowIDim; // Offset: 184 Size: 8 [unused] // float2 bloomMediumIDim; // Offset: 192 Size: 8 [unused] // float4x4 lensFlareParams; // Offset: 208 Size: 64 [unused] // float4x4 lensFlareParams2; // Offset: 272 Size: 64 [unused] // float lensFlareParams3; // Offset: 336 Size: 4 [unused] // float2 streakIDim; // Offset: 340 Size: 8 [unused] // float2 streak2IDim; // Offset: 352 Size: 8 [unused] // float2 streak3IDim; // Offset: 360 Size: 8 [unused] // float4x4 streakXForm; // Offset: 368 Size: 64 [unused] // float4x4 streakXFormI0; // Offset: 432 Size: 64 [unused] // float4x4 streakXFormI1; // Offset: 496 Size: 64 [unused] // float4x4 streakXFormI2; // Offset: 560 Size: 64 [unused] // float2 streakFactor; // Offset: 624 Size: 8 [unused] // float4 streakFactor0; // Offset: 640 Size: 16 [unused] // float4 streakFactor1; // Offset: 656 Size: 16 [unused] // float4 streakFactor2; // Offset: 672 Size: 16 [unused] // float4 streakParams; // Offset: 688 Size: 16 [unused] // float2 warpMapIDim; // Offset: 704 Size: 8 [unused] // float4 distortionParams; // Offset: 720 Size: 16 [unused] // float2 prevFrameIDim; // Offset: 736 Size: 8 [unused] // float4 screenProj; // Offset: 752 Size: 16 [unused] // float motionPartition; // Offset: 768 Size: 4 [unused] // float luminanceMin; // Offset: 772 Size: 4 // float luminanceMax; // Offset: 776 Size: 4 // float keyValue; // Offset: 780 Size: 4 // float vignetteAmount; // Offset: 784 Size: 4 [unused] // float4 vignetteBlur; // Offset: 800 Size: 16 [unused] // float vignetteSaturation; // Offset: 816 Size: 4 [unused] // float4 vignetteColourTL; // Offset: 832 Size: 16 [unused] // float4 vignetteColourTR; // Offset: 848 Size: 16 [unused] // float4 vignetteColourBL; // Offset: 864 Size: 16 [unused] // float4 vignetteColourBR; // Offset: 880 Size: 16 [unused] // float2 vignetteTransition; // Offset: 896 Size: 8 [unused] // float vignetteShape; // Offset: 904 Size: 4 [unused] // float4 vignetteParams1; // Offset: 912 Size: 16 [unused] // float4 vignetteParams2; // Offset: 928 Size: 16 [unused] // float3 preMultipliedTint; // Offset: 944 Size: 12 [unused] // float4 colorParams; // Offset: 960 Size: 16 [unused] // float lowerThreshold; // Offset: 976 Size: 4 [unused] // float upperThresholdMul; // Offset: 980 Size: 4 [unused] // float bigBloomThreshold; // Offset: 984 Size: 4 [unused] // float smallBloomThreshold; // Offset: 988 Size: 4 [unused] // float upperThresholdFactor; // Offset: 992 Size: 4 [unused] // float smallBloomFactor; // Offset: 996 Size: 4 [unused] // float mediumBloomFactor; // Offset: 1000 Size: 4 [unused] // float largeBloomFactor; // Offset: 1004 Size: 4 [unused] // float bloomPrevalence; // Offset: 1008 Size: 4 [unused] // float adaptStrength; // Offset: 1012 Size: 4 // float adaptDamping; // Offset: 1016 Size: 4 // float devVal; // Offset: 1020 Size: 4 [unused] // float intensity; // Offset: 1024 Size: 4 [unused] // float2 decodeLUTIDim; // Offset: 1028 Size: 8 [unused] // float4x4 colorXForm; // Offset: 1040 Size: 64 [unused] // = 0x3f800000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x3f800000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x3f800000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x3f800000 // float4x4 colorXFormBloom; // Offset: 1104 Size: 64 [unused] // = 0x3f800000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x3f800000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x3f800000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x3f800000 // float4 paletteWeight; // Offset: 1168 Size: 16 [unused] // float4 focalParams; // Offset: 1184 Size: 16 [unused] // float dofBlurScale; // Offset: 1200 Size: 4 [unused] // = 0x40400000 // float dofDebugOverlay; // Offset: 1204 Size: 4 [unused] // = 0x00000000 // float4x4 interferenceParams; // Offset: 1216 Size: 64 [unused] // float2 interferenceVelocityDecode; // Offset: 1280 Size: 8 [unused] // // } // // cbuffer PerFrameConstantBuffer // { // // float4 colorBufferEncodingParams; // Offset: 0 Size: 16 // float4 envMapEncodingParams; // Offset: 16 Size: 16 [unused] // float4 velocityEncodingParams; // Offset: 32 Size: 16 [unused] // float4 snowEffectsParam2; // Offset: 48 Size: 16 [unused] // float4 sunDirectionAndTime; // Offset: 64 Size: 16 [unused] // float4 sunColour; // Offset: 80 Size: 16 [unused] // float4 skylightColour; // Offset: 96 Size: 16 [unused] // float4 ambientOcclusionScales; // Offset: 112 Size: 16 [unused] // float4 backlightColour; // Offset: 128 Size: 16 [unused] // float4 specularScales; // Offset: 144 Size: 16 [unused] // float3 specularDirection; // Offset: 160 Size: 12 [unused] // float4 specularColourAndMultiplier;// Offset: 176 Size: 16 [unused] // float4 fogColour; // Offset: 192 Size: 16 [unused] // float4 fogParams; // Offset: 208 Size: 16 [unused] // float4 hazeParams; // Offset: 224 Size: 16 [unused] // float4 hazeParams2; // Offset: 240 Size: 16 [unused] // float4 nightLightmapParam1; // Offset: 256 Size: 16 [unused] // float4 nightLightmapParam2; // Offset: 272 Size: 16 [unused] // float4 wetLightingParam; // Offset: 288 Size: 16 [unused] // float4 snowEffectsParam; // Offset: 304 Size: 16 [unused] // float4 ambientColour; // Offset: 320 Size: 16 [unused] // float4 shadowBlend; // Offset: 336 Size: 16 [unused] // float4 maskParams; // Offset: 352 Size: 16 [unused] // float4 deferredSpecularParams; // Offset: 368 Size: 16 [unused] // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // sampler0 sampler NA NA 0 1 // sampler0 texture float4 2d 0 1 // $Globals cbuffer NA NA 0 1 // PerFrameConstantBuffer cbuffer NA NA 1 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[64], immediateIndexed dcl_constantbuffer cb1[1], immediateIndexed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_input_ps linear v1.xy dcl_output o0.xyzw dcl_temps 2 add r0.xy, v1.xyxx, -cb0[2].xyxx sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0 mad r1.xyzw, cb0[2].xyxy, l(-1.000000, 1.000000, 1.000000, -1.000000), v1.xyxy sample_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t0.yxzw, s0 sample_indexable(texture2d)(float,float,float,float) r0.z, r1.zwzz, t0.yzxw, s0 add r0.x, r0.y, r0.x add r0.x, r0.z, r0.x add r0.yz, v1.xxyx, cb0[2].xxyx sample_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t0.yxzw, s0 add r0.x, r0.y, r0.x mul r0.x, r0.x, l(0.250000) div r0.xy, r0.xxxx, cb0[48].zyzz <----------------------------- div r0.z, cb1[0].x, cb0[48].w max r0.x, r0.x, r0.z min r0.x, r0.y, r0.x lt r0.y, l(1.000000), r0.x mov o0.y, r0.x movc o0.z, r0.y, cb0[63].z, cb0[63].y mov o0.x, cb0[48].w mov o0.w, l(1.000000) ret // Approximately 21 instruction slots used [/code] Recompiled ASM: [code] // // Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 // // // Buffer Definitions: // // cbuffer _Globals // { // // float4 velocityDecodingParams; // Offset: 0 Size: 16 [unused] // float4 renderSlice; // Offset: 16 Size: 16 [unused] // float4 sampler0IDim; // Offset: 32 Size: 16 // float2 sampler1IDim; // Offset: 48 Size: 8 [unused] // float2 sampler2IDim; // Offset: 56 Size: 8 [unused] // float2 sampler0Dim; // Offset: 64 Size: 8 [unused] // float2 sampler1Dim; // Offset: 72 Size: 8 [unused] // float2 sampler2Dim; // Offset: 80 Size: 8 [unused] // float4 ditherMatrixIDim; // Offset: 96 Size: 16 [unused] // float4x4 screenEnvXForm; // Offset: 112 Size: 64 [unused] // float2 bloomHighIDim; // Offset: 176 Size: 8 [unused] // float2 bloomLowIDim; // Offset: 184 Size: 8 [unused] // float2 bloomMediumIDim; // Offset: 192 Size: 8 [unused] // float4x4 lensFlareParams; // Offset: 208 Size: 64 [unused] // float4x4 lensFlareParams2; // Offset: 272 Size: 64 [unused] // float lensFlareParams3; // Offset: 336 Size: 4 [unused] // float2 streakIDim; // Offset: 340 Size: 8 [unused] // float2 streak2IDim; // Offset: 352 Size: 8 [unused] // float2 streak3IDim; // Offset: 360 Size: 8 [unused] // float4x4 streakXForm; // Offset: 368 Size: 64 [unused] // float4x4 streakXFormI0; // Offset: 432 Size: 64 [unused] // float4x4 streakXFormI1; // Offset: 496 Size: 64 [unused] // float4x4 streakXFormI2; // Offset: 560 Size: 64 [unused] // float2 streakFactor; // Offset: 624 Size: 8 [unused] // float4 streakFactor0; // Offset: 640 Size: 16 [unused] // float4 streakFactor1; // Offset: 656 Size: 16 [unused] // float4 streakFactor2; // Offset: 672 Size: 16 [unused] // float4 streakParams; // Offset: 688 Size: 16 [unused] // float2 warpMapIDim; // Offset: 704 Size: 8 [unused] // float4 distortionParams; // Offset: 720 Size: 16 [unused] // float2 prevFrameIDim; // Offset: 736 Size: 8 [unused] // float4 screenProj; // Offset: 752 Size: 16 [unused] // float motionPartition; // Offset: 768 Size: 4 [unused] // float luminanceMin; // Offset: 772 Size: 4 [unused] // float luminanceMax; // Offset: 776 Size: 4 // float keyValue; // Offset: 780 Size: 4 // float vignetteAmount; // Offset: 784 Size: 4 [unused] // float4 vignetteBlur; // Offset: 800 Size: 16 [unused] // float vignetteSaturation; // Offset: 816 Size: 4 [unused] // float4 vignetteColourTL; // Offset: 832 Size: 16 [unused] // float4 vignetteColourTR; // Offset: 848 Size: 16 [unused] // float4 vignetteColourBL; // Offset: 864 Size: 16 [unused] // float4 vignetteColourBR; // Offset: 880 Size: 16 [unused] // float2 vignetteTransition; // Offset: 896 Size: 8 [unused] // float vignetteShape; // Offset: 904 Size: 4 [unused] // float4 vignetteParams1; // Offset: 912 Size: 16 [unused] // float4 vignetteParams2; // Offset: 928 Size: 16 [unused] // float3 preMultipliedTint; // Offset: 944 Size: 12 [unused] // float4 colorParams; // Offset: 960 Size: 16 [unused] // float lowerThreshold; // Offset: 976 Size: 4 [unused] // float upperThresholdMul; // Offset: 980 Size: 4 [unused] // float bigBloomThreshold; // Offset: 984 Size: 4 [unused] // float smallBloomThreshold; // Offset: 988 Size: 4 [unused] // float upperThresholdFactor; // Offset: 992 Size: 4 [unused] // float smallBloomFactor; // Offset: 996 Size: 4 [unused] // float mediumBloomFactor; // Offset: 1000 Size: 4 [unused] // float largeBloomFactor; // Offset: 1004 Size: 4 [unused] // float bloomPrevalence; // Offset: 1008 Size: 4 [unused] // float adaptStrength; // Offset: 1012 Size: 4 // float adaptDamping; // Offset: 1016 Size: 4 // float devVal; // Offset: 1020 Size: 4 [unused] // float intensity; // Offset: 1024 Size: 4 [unused] // float2 decodeLUTIDim; // Offset: 1028 Size: 8 [unused] // float4x4 colorXForm; // Offset: 1040 Size: 64 [unused] // = 0x3f800000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x3f800000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x3f800000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x3f800000 // float4x4 colorXFormBloom; // Offset: 1104 Size: 64 [unused] // = 0x3f800000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x3f800000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x3f800000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x3f800000 // float4 paletteWeight; // Offset: 1168 Size: 16 [unused] // float4 focalParams; // Offset: 1184 Size: 16 [unused] // float dofBlurScale; // Offset: 1200 Size: 4 [unused] // = 0x40400000 // float dofDebugOverlay; // Offset: 1204 Size: 4 [unused] // = 0x00000000 // float4x4 interferenceParams; // Offset: 1216 Size: 64 [unused] // float2 interferenceVelocityDecode; // Offset: 1280 Size: 8 [unused] // // } // // cbuffer PerFrameConstantBuffer // { // // float4 colorBufferEncodingParams; // Offset: 0 Size: 16 // float4 envMapEncodingParams; // Offset: 16 Size: 16 [unused] // float4 velocityEncodingParams; // Offset: 32 Size: 16 [unused] // float4 snowEffectsParam2; // Offset: 48 Size: 16 [unused] // float4 sunDirectionAndTime; // Offset: 64 Size: 16 [unused] // float4 sunColour; // Offset: 80 Size: 16 [unused] // float4 skylightColour; // Offset: 96 Size: 16 [unused] // float4 ambientOcclusionScales; // Offset: 112 Size: 16 [unused] // float4 backlightColour; // Offset: 128 Size: 16 [unused] // float4 specularScales; // Offset: 144 Size: 16 [unused] // float3 specularDirection; // Offset: 160 Size: 12 [unused] // float4 specularColourAndMultiplier;// Offset: 176 Size: 16 [unused] // float4 fogColour; // Offset: 192 Size: 16 [unused] // float4 fogParams; // Offset: 208 Size: 16 [unused] // float4 hazeParams; // Offset: 224 Size: 16 [unused] // float4 hazeParams2; // Offset: 240 Size: 16 [unused] // float4 nightLightmapParam1; // Offset: 256 Size: 16 [unused] // float4 nightLightmapParam2; // Offset: 272 Size: 16 [unused] // float4 wetLightingParam; // Offset: 288 Size: 16 [unused] // float4 snowEffectsParam; // Offset: 304 Size: 16 [unused] // float4 ambientColour; // Offset: 320 Size: 16 [unused] // float4 shadowBlend; // Offset: 336 Size: 16 [unused] // float4 maskParams; // Offset: 352 Size: 16 [unused] // float4 deferredSpecularParams; // Offset: 368 Size: 16 [unused] // // } // // // Resource Bindings: // // Name Type Format Dim HLSL Bind Count // ------------------------------ ---------- ------- ----------- -------------- ------ // sampler0_s sampler NA NA s0 1 // sampler0 texture float4 2d t0 1 // _Globals cbuffer NA NA cb0 1 // PerFrameConstantBuffer cbuffer NA NA cb1 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer CB0[64], immediateIndexed dcl_constantbuffer CB1[1], immediateIndexed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_input_ps linear v1.xy dcl_output o0.xyzw dcl_temps 2 add r0.xy, v1.xyxx, -cb0[2].xyxx sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0 mad r1.xyzw, cb0[2].xyxy, l(-1.000000, 1.000000, 1.000000, -1.000000), v1.xyxy sample_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t0.yxzw, s0 sample_indexable(texture2d)(float,float,float,float) r0.z, r1.zwzz, t0.yzxw, s0 add r0.x, r0.y, r0.x add r0.x, r0.z, r0.x add r0.yz, v1.xxyx, cb0[2].xxyx sample_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t0.yxzw, s0 add r0.x, r0.y, r0.x mul r0.x, r0.x, l(0.250000) div r0.x, r0.x, cb0[48].z <----------------------------- div r0.y, cb1[0].x, cb0[48].w max r0.y, r0.x, r0.y min r0.x, r0.x, r0.y lt r0.y, l(1.000000), r0.x mov o0.y, r0.x movc o0.z, r0.y, cb0[63].z, cb0[63].y mov o0.x, cb0[48].w mov o0.w, l(1.000000) ret // Approximately 21 instruction slots used [/code] HLSL: [code] // ---- Created with 3Dmigoto v1.2.26 on Wed Jan 20 13:50:01 2016 cbuffer _Globals : register(b0) { float4 velocityDecodingParams : packoffset(c0); float4 renderSlice : packoffset(c1); float4 sampler0IDim : packoffset(c2); float2 sampler1IDim : packoffset(c3); float2 sampler2IDim : packoffset(c3.z); float2 sampler0Dim : packoffset(c4); float2 sampler1Dim : packoffset(c4.z); float2 sampler2Dim : packoffset(c5); float4 ditherMatrixIDim : packoffset(c6); float4x4 screenEnvXForm : packoffset(c7); float2 bloomHighIDim : packoffset(c11); float2 bloomLowIDim : packoffset(c11.z); float2 bloomMediumIDim : packoffset(c12); float4x4 lensFlareParams : packoffset(c13); float4x4 lensFlareParams2 : packoffset(c17); float lensFlareParams3 : packoffset(c21); float2 streakIDim : packoffset(c21.y); float2 streak2IDim : packoffset(c22); float2 streak3IDim : packoffset(c22.z); float4x4 streakXForm : packoffset(c23); float4x4 streakXFormI0 : packoffset(c27); float4x4 streakXFormI1 : packoffset(c31); float4x4 streakXFormI2 : packoffset(c35); float2 streakFactor : packoffset(c39); float4 streakFactor0 : packoffset(c40); float4 streakFactor1 : packoffset(c41); float4 streakFactor2 : packoffset(c42); float4 streakParams : packoffset(c43); float2 warpMapIDim : packoffset(c44); float4 distortionParams : packoffset(c45); float2 prevFrameIDim : packoffset(c46); float4 screenProj : packoffset(c47); float motionPartition : packoffset(c48); float luminanceMin : packoffset(c48.y); float luminanceMax : packoffset(c48.z); float keyValue : packoffset(c48.w); float vignetteAmount : packoffset(c49); float4 vignetteBlur : packoffset(c50); float vignetteSaturation : packoffset(c51); float4 vignetteColourTL : packoffset(c52); float4 vignetteColourTR : packoffset(c53); float4 vignetteColourBL : packoffset(c54); float4 vignetteColourBR : packoffset(c55); float2 vignetteTransition : packoffset(c56); float vignetteShape : packoffset(c56.z); float4 vignetteParams1 : packoffset(c57); float4 vignetteParams2 : packoffset(c58); float3 preMultipliedTint : packoffset(c59); float4 colorParams : packoffset(c60); float lowerThreshold : packoffset(c61); float upperThresholdMul : packoffset(c61.y); float bigBloomThreshold : packoffset(c61.z); float smallBloomThreshold : packoffset(c61.w); float upperThresholdFactor : packoffset(c62); float smallBloomFactor : packoffset(c62.y); float mediumBloomFactor : packoffset(c62.z); float largeBloomFactor : packoffset(c62.w); float bloomPrevalence : packoffset(c63); float adaptStrength : packoffset(c63.y); float adaptDamping : packoffset(c63.z); float devVal : packoffset(c63.w); float intensity : packoffset(c64); float2 decodeLUTIDim : packoffset(c64.y); float4x4 colorXForm : packoffset(c65) = {1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}; float4x4 colorXFormBloom : packoffset(c69) = {1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}; float4 paletteWeight : packoffset(c73); float4 focalParams : packoffset(c74); float dofBlurScale : packoffset(c75) = {3}; float dofDebugOverlay : packoffset(c75.y) = {0}; float4x4 interferenceParams : packoffset(c76); float2 interferenceVelocityDecode : packoffset(c80); } cbuffer PerFrameConstantBuffer : register(b1) { float4 colorBufferEncodingParams : packoffset(c0); float4 envMapEncodingParams : packoffset(c1); float4 velocityEncodingParams : packoffset(c2); float4 snowEffectsParam2 : packoffset(c3); float4 sunDirectionAndTime : packoffset(c4); float4 sunColour : packoffset(c5); float4 skylightColour : packoffset(c6); float4 ambientOcclusionScales : packoffset(c7); float4 backlightColour : packoffset(c8); float4 specularScales : packoffset(c9); float3 specularDirection : packoffset(c10); float4 specularColourAndMultiplier : packoffset(c11); float4 fogColour : packoffset(c12); float4 fogParams : packoffset(c13); float4 hazeParams : packoffset(c14); float4 hazeParams2 : packoffset(c15); float4 nightLightmapParam1 : packoffset(c16); float4 nightLightmapParam2 : packoffset(c17); float4 wetLightingParam : packoffset(c18); float4 snowEffectsParam : packoffset(c19); float4 ambientColour : packoffset(c20); float4 shadowBlend : packoffset(c21); float4 maskParams : packoffset(c22); float4 deferredSpecularParams : packoffset(c23); } SamplerState sampler0_s : register(s0); Texture2D<float4> sampler0 : register(t0); // 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) { float4 r0,r1; uint4 bitmask, uiDest; float4 fDest; r0.xy = -sampler0IDim.xy + v1.xy; r0.x = sampler0.Sample(sampler0_s, r0.xy).x; r1.xyzw = sampler0IDim.xyxy * float4(-1,1,1,-1) + v1.xyxy; r0.y = sampler0.Sample(sampler0_s, r1.xy).x; r0.z = sampler0.Sample(sampler0_s, r1.zw).x; r0.x = r0.x + r0.y; r0.x = r0.x + r0.z; r0.yz = sampler0IDim.xy + v1.xy; r0.y = sampler0.Sample(sampler0_s, r0.yz).x; r0.x = r0.x + r0.y; r0.x = 0.25 * r0.x; r0.xy = r0.xx / luminanceMax; //<------- luminanceMin is missing here r0.z = colorBufferEncodingParams.x / keyValue; r0.x = max(r0.z, r0.x); r0.x = min(r0.x, r0.y); r0.y = cmp(1 < r0.x); o0.y = r0.x; o0.z = r0.y ? adaptDamping : adaptStrength; o0.x = keyValue; o0.w = 1; return; } [/code]
I found a little discrepancy in asm between original and recompiled shader. Is it correct or a bug?

Original ASM:

//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.23 on Mon Jan 18 15:02:10 2016
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4 velocityDecodingParams; // Offset: 0 Size: 16 [unused]
// float4 renderSlice; // Offset: 16 Size: 16 [unused]
// float4 sampler0IDim; // Offset: 32 Size: 16
// float2 sampler1IDim; // Offset: 48 Size: 8 [unused]
// float2 sampler2IDim; // Offset: 56 Size: 8 [unused]
// float2 sampler0Dim; // Offset: 64 Size: 8 [unused]
// float2 sampler1Dim; // Offset: 72 Size: 8 [unused]
// float2 sampler2Dim; // Offset: 80 Size: 8 [unused]
// float4 ditherMatrixIDim; // Offset: 96 Size: 16 [unused]
// float4x4 screenEnvXForm; // Offset: 112 Size: 64 [unused]
// float2 bloomHighIDim; // Offset: 176 Size: 8 [unused]
// float2 bloomLowIDim; // Offset: 184 Size: 8 [unused]
// float2 bloomMediumIDim; // Offset: 192 Size: 8 [unused]
// float4x4 lensFlareParams; // Offset: 208 Size: 64 [unused]
// float4x4 lensFlareParams2; // Offset: 272 Size: 64 [unused]
// float lensFlareParams3; // Offset: 336 Size: 4 [unused]
// float2 streakIDim; // Offset: 340 Size: 8 [unused]
// float2 streak2IDim; // Offset: 352 Size: 8 [unused]
// float2 streak3IDim; // Offset: 360 Size: 8 [unused]
// float4x4 streakXForm; // Offset: 368 Size: 64 [unused]
// float4x4 streakXFormI0; // Offset: 432 Size: 64 [unused]
// float4x4 streakXFormI1; // Offset: 496 Size: 64 [unused]
// float4x4 streakXFormI2; // Offset: 560 Size: 64 [unused]
// float2 streakFactor; // Offset: 624 Size: 8 [unused]
// float4 streakFactor0; // Offset: 640 Size: 16 [unused]
// float4 streakFactor1; // Offset: 656 Size: 16 [unused]
// float4 streakFactor2; // Offset: 672 Size: 16 [unused]
// float4 streakParams; // Offset: 688 Size: 16 [unused]
// float2 warpMapIDim; // Offset: 704 Size: 8 [unused]
// float4 distortionParams; // Offset: 720 Size: 16 [unused]
// float2 prevFrameIDim; // Offset: 736 Size: 8 [unused]
// float4 screenProj; // Offset: 752 Size: 16 [unused]
// float motionPartition; // Offset: 768 Size: 4 [unused]
// float luminanceMin; // Offset: 772 Size: 4
// float luminanceMax; // Offset: 776 Size: 4
// float keyValue; // Offset: 780 Size: 4
// float vignetteAmount; // Offset: 784 Size: 4 [unused]
// float4 vignetteBlur; // Offset: 800 Size: 16 [unused]
// float vignetteSaturation; // Offset: 816 Size: 4 [unused]
// float4 vignetteColourTL; // Offset: 832 Size: 16 [unused]
// float4 vignetteColourTR; // Offset: 848 Size: 16 [unused]
// float4 vignetteColourBL; // Offset: 864 Size: 16 [unused]
// float4 vignetteColourBR; // Offset: 880 Size: 16 [unused]
// float2 vignetteTransition; // Offset: 896 Size: 8 [unused]
// float vignetteShape; // Offset: 904 Size: 4 [unused]
// float4 vignetteParams1; // Offset: 912 Size: 16 [unused]
// float4 vignetteParams2; // Offset: 928 Size: 16 [unused]
// float3 preMultipliedTint; // Offset: 944 Size: 12 [unused]
// float4 colorParams; // Offset: 960 Size: 16 [unused]
// float lowerThreshold; // Offset: 976 Size: 4 [unused]
// float upperThresholdMul; // Offset: 980 Size: 4 [unused]
// float bigBloomThreshold; // Offset: 984 Size: 4 [unused]
// float smallBloomThreshold; // Offset: 988 Size: 4 [unused]
// float upperThresholdFactor; // Offset: 992 Size: 4 [unused]
// float smallBloomFactor; // Offset: 996 Size: 4 [unused]
// float mediumBloomFactor; // Offset: 1000 Size: 4 [unused]
// float largeBloomFactor; // Offset: 1004 Size: 4 [unused]
// float bloomPrevalence; // Offset: 1008 Size: 4 [unused]
// float adaptStrength; // Offset: 1012 Size: 4
// float adaptDamping; // Offset: 1016 Size: 4
// float devVal; // Offset: 1020 Size: 4 [unused]
// float intensity; // Offset: 1024 Size: 4 [unused]
// float2 decodeLUTIDim; // Offset: 1028 Size: 8 [unused]
// float4x4 colorXForm; // Offset: 1040 Size: 64 [unused]
// = 0x3f800000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x3f800000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x3f800000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x3f800000
// float4x4 colorXFormBloom; // Offset: 1104 Size: 64 [unused]
// = 0x3f800000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x3f800000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x3f800000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x3f800000
// float4 paletteWeight; // Offset: 1168 Size: 16 [unused]
// float4 focalParams; // Offset: 1184 Size: 16 [unused]
// float dofBlurScale; // Offset: 1200 Size: 4 [unused]
// = 0x40400000
// float dofDebugOverlay; // Offset: 1204 Size: 4 [unused]
// = 0x00000000
// float4x4 interferenceParams; // Offset: 1216 Size: 64 [unused]
// float2 interferenceVelocityDecode; // Offset: 1280 Size: 8 [unused]
//
// }
//
// cbuffer PerFrameConstantBuffer
// {
//
// float4 colorBufferEncodingParams; // Offset: 0 Size: 16
// float4 envMapEncodingParams; // Offset: 16 Size: 16 [unused]
// float4 velocityEncodingParams; // Offset: 32 Size: 16 [unused]
// float4 snowEffectsParam2; // Offset: 48 Size: 16 [unused]
// float4 sunDirectionAndTime; // Offset: 64 Size: 16 [unused]
// float4 sunColour; // Offset: 80 Size: 16 [unused]
// float4 skylightColour; // Offset: 96 Size: 16 [unused]
// float4 ambientOcclusionScales; // Offset: 112 Size: 16 [unused]
// float4 backlightColour; // Offset: 128 Size: 16 [unused]
// float4 specularScales; // Offset: 144 Size: 16 [unused]
// float3 specularDirection; // Offset: 160 Size: 12 [unused]
// float4 specularColourAndMultiplier;// Offset: 176 Size: 16 [unused]
// float4 fogColour; // Offset: 192 Size: 16 [unused]
// float4 fogParams; // Offset: 208 Size: 16 [unused]
// float4 hazeParams; // Offset: 224 Size: 16 [unused]
// float4 hazeParams2; // Offset: 240 Size: 16 [unused]
// float4 nightLightmapParam1; // Offset: 256 Size: 16 [unused]
// float4 nightLightmapParam2; // Offset: 272 Size: 16 [unused]
// float4 wetLightingParam; // Offset: 288 Size: 16 [unused]
// float4 snowEffectsParam; // Offset: 304 Size: 16 [unused]
// float4 ambientColour; // Offset: 320 Size: 16 [unused]
// float4 shadowBlend; // Offset: 336 Size: 16 [unused]
// float4 maskParams; // Offset: 352 Size: 16 [unused]
// float4 deferredSpecularParams; // Offset: 368 Size: 16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// sampler0 sampler NA NA 0 1
// sampler0 texture float4 2d 0 1
// $Globals cbuffer NA NA 0 1
// PerFrameConstantBuffer cbuffer NA NA 1 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[64], immediateIndexed
dcl_constantbuffer cb1[1], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 2
add r0.xy, v1.xyxx, -cb0[2].xyxx
sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0
mad r1.xyzw, cb0[2].xyxy, l(-1.000000, 1.000000, 1.000000, -1.000000), v1.xyxy
sample_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t0.yxzw, s0
sample_indexable(texture2d)(float,float,float,float) r0.z, r1.zwzz, t0.yzxw, s0
add r0.x, r0.y, r0.x
add r0.x, r0.z, r0.x
add r0.yz, v1.xxyx, cb0[2].xxyx
sample_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t0.yxzw, s0
add r0.x, r0.y, r0.x
mul r0.x, r0.x, l(0.250000)
div r0.xy, r0.xxxx, cb0[48].zyzz <-----------------------------
div r0.z, cb1[0].x, cb0[48].w
max r0.x, r0.x, r0.z
min r0.x, r0.y, r0.x
lt r0.y, l(1.000000), r0.x
mov o0.y, r0.x
movc o0.z, r0.y, cb0[63].z, cb0[63].y
mov o0.x, cb0[48].w
mov o0.w, l(1.000000)
ret
// Approximately 21 instruction slots used


Recompiled ASM:

//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//
// Buffer Definitions:
//
// cbuffer _Globals
// {
//
// float4 velocityDecodingParams; // Offset: 0 Size: 16 [unused]
// float4 renderSlice; // Offset: 16 Size: 16 [unused]
// float4 sampler0IDim; // Offset: 32 Size: 16
// float2 sampler1IDim; // Offset: 48 Size: 8 [unused]
// float2 sampler2IDim; // Offset: 56 Size: 8 [unused]
// float2 sampler0Dim; // Offset: 64 Size: 8 [unused]
// float2 sampler1Dim; // Offset: 72 Size: 8 [unused]
// float2 sampler2Dim; // Offset: 80 Size: 8 [unused]
// float4 ditherMatrixIDim; // Offset: 96 Size: 16 [unused]
// float4x4 screenEnvXForm; // Offset: 112 Size: 64 [unused]
// float2 bloomHighIDim; // Offset: 176 Size: 8 [unused]
// float2 bloomLowIDim; // Offset: 184 Size: 8 [unused]
// float2 bloomMediumIDim; // Offset: 192 Size: 8 [unused]
// float4x4 lensFlareParams; // Offset: 208 Size: 64 [unused]
// float4x4 lensFlareParams2; // Offset: 272 Size: 64 [unused]
// float lensFlareParams3; // Offset: 336 Size: 4 [unused]
// float2 streakIDim; // Offset: 340 Size: 8 [unused]
// float2 streak2IDim; // Offset: 352 Size: 8 [unused]
// float2 streak3IDim; // Offset: 360 Size: 8 [unused]
// float4x4 streakXForm; // Offset: 368 Size: 64 [unused]
// float4x4 streakXFormI0; // Offset: 432 Size: 64 [unused]
// float4x4 streakXFormI1; // Offset: 496 Size: 64 [unused]
// float4x4 streakXFormI2; // Offset: 560 Size: 64 [unused]
// float2 streakFactor; // Offset: 624 Size: 8 [unused]
// float4 streakFactor0; // Offset: 640 Size: 16 [unused]
// float4 streakFactor1; // Offset: 656 Size: 16 [unused]
// float4 streakFactor2; // Offset: 672 Size: 16 [unused]
// float4 streakParams; // Offset: 688 Size: 16 [unused]
// float2 warpMapIDim; // Offset: 704 Size: 8 [unused]
// float4 distortionParams; // Offset: 720 Size: 16 [unused]
// float2 prevFrameIDim; // Offset: 736 Size: 8 [unused]
// float4 screenProj; // Offset: 752 Size: 16 [unused]
// float motionPartition; // Offset: 768 Size: 4 [unused]
// float luminanceMin; // Offset: 772 Size: 4 [unused]
// float luminanceMax; // Offset: 776 Size: 4
// float keyValue; // Offset: 780 Size: 4
// float vignetteAmount; // Offset: 784 Size: 4 [unused]
// float4 vignetteBlur; // Offset: 800 Size: 16 [unused]
// float vignetteSaturation; // Offset: 816 Size: 4 [unused]
// float4 vignetteColourTL; // Offset: 832 Size: 16 [unused]
// float4 vignetteColourTR; // Offset: 848 Size: 16 [unused]
// float4 vignetteColourBL; // Offset: 864 Size: 16 [unused]
// float4 vignetteColourBR; // Offset: 880 Size: 16 [unused]
// float2 vignetteTransition; // Offset: 896 Size: 8 [unused]
// float vignetteShape; // Offset: 904 Size: 4 [unused]
// float4 vignetteParams1; // Offset: 912 Size: 16 [unused]
// float4 vignetteParams2; // Offset: 928 Size: 16 [unused]
// float3 preMultipliedTint; // Offset: 944 Size: 12 [unused]
// float4 colorParams; // Offset: 960 Size: 16 [unused]
// float lowerThreshold; // Offset: 976 Size: 4 [unused]
// float upperThresholdMul; // Offset: 980 Size: 4 [unused]
// float bigBloomThreshold; // Offset: 984 Size: 4 [unused]
// float smallBloomThreshold; // Offset: 988 Size: 4 [unused]
// float upperThresholdFactor; // Offset: 992 Size: 4 [unused]
// float smallBloomFactor; // Offset: 996 Size: 4 [unused]
// float mediumBloomFactor; // Offset: 1000 Size: 4 [unused]
// float largeBloomFactor; // Offset: 1004 Size: 4 [unused]
// float bloomPrevalence; // Offset: 1008 Size: 4 [unused]
// float adaptStrength; // Offset: 1012 Size: 4
// float adaptDamping; // Offset: 1016 Size: 4
// float devVal; // Offset: 1020 Size: 4 [unused]
// float intensity; // Offset: 1024 Size: 4 [unused]
// float2 decodeLUTIDim; // Offset: 1028 Size: 8 [unused]
// float4x4 colorXForm; // Offset: 1040 Size: 64 [unused]
// = 0x3f800000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x3f800000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x3f800000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x3f800000
// float4x4 colorXFormBloom; // Offset: 1104 Size: 64 [unused]
// = 0x3f800000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x3f800000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x3f800000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x3f800000
// float4 paletteWeight; // Offset: 1168 Size: 16 [unused]
// float4 focalParams; // Offset: 1184 Size: 16 [unused]
// float dofBlurScale; // Offset: 1200 Size: 4 [unused]
// = 0x40400000
// float dofDebugOverlay; // Offset: 1204 Size: 4 [unused]
// = 0x00000000
// float4x4 interferenceParams; // Offset: 1216 Size: 64 [unused]
// float2 interferenceVelocityDecode; // Offset: 1280 Size: 8 [unused]
//
// }
//
// cbuffer PerFrameConstantBuffer
// {
//
// float4 colorBufferEncodingParams; // Offset: 0 Size: 16
// float4 envMapEncodingParams; // Offset: 16 Size: 16 [unused]
// float4 velocityEncodingParams; // Offset: 32 Size: 16 [unused]
// float4 snowEffectsParam2; // Offset: 48 Size: 16 [unused]
// float4 sunDirectionAndTime; // Offset: 64 Size: 16 [unused]
// float4 sunColour; // Offset: 80 Size: 16 [unused]
// float4 skylightColour; // Offset: 96 Size: 16 [unused]
// float4 ambientOcclusionScales; // Offset: 112 Size: 16 [unused]
// float4 backlightColour; // Offset: 128 Size: 16 [unused]
// float4 specularScales; // Offset: 144 Size: 16 [unused]
// float3 specularDirection; // Offset: 160 Size: 12 [unused]
// float4 specularColourAndMultiplier;// Offset: 176 Size: 16 [unused]
// float4 fogColour; // Offset: 192 Size: 16 [unused]
// float4 fogParams; // Offset: 208 Size: 16 [unused]
// float4 hazeParams; // Offset: 224 Size: 16 [unused]
// float4 hazeParams2; // Offset: 240 Size: 16 [unused]
// float4 nightLightmapParam1; // Offset: 256 Size: 16 [unused]
// float4 nightLightmapParam2; // Offset: 272 Size: 16 [unused]
// float4 wetLightingParam; // Offset: 288 Size: 16 [unused]
// float4 snowEffectsParam; // Offset: 304 Size: 16 [unused]
// float4 ambientColour; // Offset: 320 Size: 16 [unused]
// float4 shadowBlend; // Offset: 336 Size: 16 [unused]
// float4 maskParams; // Offset: 352 Size: 16 [unused]
// float4 deferredSpecularParams; // Offset: 368 Size: 16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim HLSL Bind Count
// ------------------------------ ---------- ------- ----------- -------------- ------
// sampler0_s sampler NA NA s0 1
// sampler0 texture float4 2d t0 1
// _Globals cbuffer NA NA cb0 1
// PerFrameConstantBuffer cbuffer NA NA cb1 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[64], immediateIndexed
dcl_constantbuffer CB1[1], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 2
add r0.xy, v1.xyxx, -cb0[2].xyxx
sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0
mad r1.xyzw, cb0[2].xyxy, l(-1.000000, 1.000000, 1.000000, -1.000000), v1.xyxy
sample_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t0.yxzw, s0
sample_indexable(texture2d)(float,float,float,float) r0.z, r1.zwzz, t0.yzxw, s0
add r0.x, r0.y, r0.x
add r0.x, r0.z, r0.x
add r0.yz, v1.xxyx, cb0[2].xxyx
sample_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t0.yxzw, s0
add r0.x, r0.y, r0.x
mul r0.x, r0.x, l(0.250000)
div r0.x, r0.x, cb0[48].z <-----------------------------
div r0.y, cb1[0].x, cb0[48].w
max r0.y, r0.x, r0.y
min r0.x, r0.x, r0.y
lt r0.y, l(1.000000), r0.x
mov o0.y, r0.x
movc o0.z, r0.y, cb0[63].z, cb0[63].y
mov o0.x, cb0[48].w
mov o0.w, l(1.000000)
ret
// Approximately 21 instruction slots used


HLSL:

// ---- Created with 3Dmigoto v1.2.26 on Wed Jan 20 13:50:01 2016

cbuffer _Globals : register(b0)
{
float4 velocityDecodingParams : packoffset(c0);
float4 renderSlice : packoffset(c1);
float4 sampler0IDim : packoffset(c2);
float2 sampler1IDim : packoffset(c3);
float2 sampler2IDim : packoffset(c3.z);
float2 sampler0Dim : packoffset(c4);
float2 sampler1Dim : packoffset(c4.z);
float2 sampler2Dim : packoffset(c5);
float4 ditherMatrixIDim : packoffset(c6);
float4x4 screenEnvXForm : packoffset(c7);
float2 bloomHighIDim : packoffset(c11);
float2 bloomLowIDim : packoffset(c11.z);
float2 bloomMediumIDim : packoffset(c12);
float4x4 lensFlareParams : packoffset(c13);
float4x4 lensFlareParams2 : packoffset(c17);
float lensFlareParams3 : packoffset(c21);
float2 streakIDim : packoffset(c21.y);
float2 streak2IDim : packoffset(c22);
float2 streak3IDim : packoffset(c22.z);
float4x4 streakXForm : packoffset(c23);
float4x4 streakXFormI0 : packoffset(c27);
float4x4 streakXFormI1 : packoffset(c31);
float4x4 streakXFormI2 : packoffset(c35);
float2 streakFactor : packoffset(c39);
float4 streakFactor0 : packoffset(c40);
float4 streakFactor1 : packoffset(c41);
float4 streakFactor2 : packoffset(c42);
float4 streakParams : packoffset(c43);
float2 warpMapIDim : packoffset(c44);
float4 distortionParams : packoffset(c45);
float2 prevFrameIDim : packoffset(c46);
float4 screenProj : packoffset(c47);
float motionPartition : packoffset(c48);
float luminanceMin : packoffset(c48.y);
float luminanceMax : packoffset(c48.z);
float keyValue : packoffset(c48.w);
float vignetteAmount : packoffset(c49);
float4 vignetteBlur : packoffset(c50);
float vignetteSaturation : packoffset(c51);
float4 vignetteColourTL : packoffset(c52);
float4 vignetteColourTR : packoffset(c53);
float4 vignetteColourBL : packoffset(c54);
float4 vignetteColourBR : packoffset(c55);
float2 vignetteTransition : packoffset(c56);
float vignetteShape : packoffset(c56.z);
float4 vignetteParams1 : packoffset(c57);
float4 vignetteParams2 : packoffset(c58);
float3 preMultipliedTint : packoffset(c59);
float4 colorParams : packoffset(c60);
float lowerThreshold : packoffset(c61);
float upperThresholdMul : packoffset(c61.y);
float bigBloomThreshold : packoffset(c61.z);
float smallBloomThreshold : packoffset(c61.w);
float upperThresholdFactor : packoffset(c62);
float smallBloomFactor : packoffset(c62.y);
float mediumBloomFactor : packoffset(c62.z);
float largeBloomFactor : packoffset(c62.w);
float bloomPrevalence : packoffset(c63);
float adaptStrength : packoffset(c63.y);
float adaptDamping : packoffset(c63.z);
float devVal : packoffset(c63.w);
float intensity : packoffset(c64);
float2 decodeLUTIDim : packoffset(c64.y);
float4x4 colorXForm : packoffset(c65) = {1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1};
float4x4 colorXFormBloom : packoffset(c69) = {1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1};
float4 paletteWeight : packoffset(c73);
float4 focalParams : packoffset(c74);
float dofBlurScale : packoffset(c75) = {3};
float dofDebugOverlay : packoffset(c75.y) = {0};
float4x4 interferenceParams : packoffset(c76);
float2 interferenceVelocityDecode : packoffset(c80);
}

cbuffer PerFrameConstantBuffer : register(b1)
{
float4 colorBufferEncodingParams : packoffset(c0);
float4 envMapEncodingParams : packoffset(c1);
float4 velocityEncodingParams : packoffset(c2);
float4 snowEffectsParam2 : packoffset(c3);
float4 sunDirectionAndTime : packoffset(c4);
float4 sunColour : packoffset(c5);
float4 skylightColour : packoffset(c6);
float4 ambientOcclusionScales : packoffset(c7);
float4 backlightColour : packoffset(c8);
float4 specularScales : packoffset(c9);
float3 specularDirection : packoffset(c10);
float4 specularColourAndMultiplier : packoffset(c11);
float4 fogColour : packoffset(c12);
float4 fogParams : packoffset(c13);
float4 hazeParams : packoffset(c14);
float4 hazeParams2 : packoffset(c15);
float4 nightLightmapParam1 : packoffset(c16);
float4 nightLightmapParam2 : packoffset(c17);
float4 wetLightingParam : packoffset(c18);
float4 snowEffectsParam : packoffset(c19);
float4 ambientColour : packoffset(c20);
float4 shadowBlend : packoffset(c21);
float4 maskParams : packoffset(c22);
float4 deferredSpecularParams : packoffset(c23);
}

SamplerState sampler0_s : register(s0);
Texture2D<float4> sampler0 : register(t0);


// 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)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = -sampler0IDim.xy + v1.xy;
r0.x = sampler0.Sample(sampler0_s, r0.xy).x;
r1.xyzw = sampler0IDim.xyxy * float4(-1,1,1,-1) + v1.xyxy;
r0.y = sampler0.Sample(sampler0_s, r1.xy).x;
r0.z = sampler0.Sample(sampler0_s, r1.zw).x;
r0.x = r0.x + r0.y;
r0.x = r0.x + r0.z;
r0.yz = sampler0IDim.xy + v1.xy;
r0.y = sampler0.Sample(sampler0_s, r0.yz).x;
r0.x = r0.x + r0.y;
r0.x = 0.25 * r0.x;
r0.xy = r0.xx / luminanceMax; //<------- luminanceMin is missing here
r0.z = colorBufferEncodingParams.x / keyValue;
r0.x = max(r0.z, r0.x);
r0.x = min(r0.x, r0.y);
r0.y = cmp(1 < r0.x);
o0.y = r0.x;
o0.z = r0.y ? adaptDamping : adaptStrength;
o0.x = keyValue;
o0.w = 1;
return;
}

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

Posted 01/22/2016 11:45 AM   
@Oomek: Yep, bug. The Decompiler doesn't know how to handle this sort of reversed packed variables. I think if you break the line into two: [code]r0.x = r0.x / luminanceMax; r0.y = r0.x / luminanceMin; [/code]
@Oomek: Yep, bug. The Decompiler doesn't know how to handle this sort of reversed packed variables.

I think if you break the line into two:

r0.x = r0.x / luminanceMax; 
r0.y = r0.x / luminanceMin;

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

Posted 01/23/2016 09:27 AM   
Would you give me an example of how to swap a certain set of textures (5 to be precise) of the whole lot (around 20) tied to a specific texture slot, but only when one of the iniParamerer is set to 1? I've read the wiki page, but I didn't find it descriptive enough. I've got a shader which displays all the light sources, but at night one object has the emmisive textures burnt out to almost white. I would like to use custom textures for just that one object and only when iniParams.x is set to one. Thanks in advance. Edit: or, if there is a way to set iniParam only when a texture with a certain hash is in use by the shader please let me know. I could then just adjust the brightness in the ps without even redoing the textures. It would be awesome If I could just use that syntax: [code] [TextureOverride1] Hash = 05fe12df z = 1 [Present] z = 0 [/code] and then check the value of z in PS. EDIT: It works! I forgot about a mandatory "checktextureoverride" call :) [code] [ShaderOverride1] Hash = 602fcda7fc19cf7c checktextureoverride = ps-t0 [/code]
Would you give me an example of how to swap a certain set of textures (5 to be precise) of the whole lot (around 20) tied to a specific texture slot, but only when one of the iniParamerer is set to 1? I've read the wiki page, but I didn't find it descriptive enough. I've got a shader which displays all the light sources, but at night one object has the emmisive textures burnt out to almost white. I would like to use custom textures for just that one object and only when iniParams.x is set to one. Thanks in advance.

Edit: or, if there is a way to set iniParam only when a texture with a certain hash is in use by the shader please let me know. I could then just adjust the brightness in the ps without even redoing the textures.

It would be awesome If I could just use that syntax:

[TextureOverride1]
Hash = 05fe12df
z = 1
[Present]
z = 0

and then check the value of z in PS.

EDIT: It works! I forgot about a mandatory "checktextureoverride" call :)

[ShaderOverride1]
Hash = 602fcda7fc19cf7c
checktextureoverride = ps-t0

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

Posted 01/24/2016 10:52 AM   
Well It would be to simple if that just worked as intended :) Hashes of textures unfortuantely change depending on the game map. It results in dimming wrong ones because hashes of the lights I dimmed on one track are now connected to the lights I want to stay bright in another track. I have the bad feeling that it's not something that can be overcome. Please tell me I'm wrong. p.s. I've already tried track_texture_updates=1
Well It would be to simple if that just worked as intended :)
Hashes of textures unfortuantely change depending on the game map. It results in dimming wrong ones because hashes of the lights I dimmed on one track are now connected to the lights I want to stay bright in another track.

I have the bad feeling that it's not something that can be overcome. Please tell me I'm wrong.

p.s. I've already tried track_texture_updates=1

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

Posted 01/24/2016 04:23 PM   
[quote="Oomek"]I have the bad feeling that it's not something that can be overcome. Please tell me I'm wrong.[/quote]I'd have to study it to see what they are doing. You can get information about it in several ways: - Dump out the textures with frame analysis and compare them to see what's different - Look for the texture hashes in ShaderUsage.txt (only updated when dumping a shader), and look for the info about the hash (type=Texture2D...) and any operations 3DMigoto noticed being performed on it that might have invalidated the hash. - Use Frame analysis' logging support to see how the textures are used throughout the frame The track_texture_updates feature is to keep the texture hashes synchronised with their contents, but only when they are updated from the CPU - it will not update a texture hash if the GPU changed it (and we probably wouldn't want to either since these are mostly render targets where we don't want to match their contents). If you find that the textures hold several lights and they are always consistently in the same place you could also check the texture coordinates in the shader. If they hold several lights but their placement can change dynamically things get... quite a bit more challenging. Point is, I can't answer without knowing more.
Oomek said:I have the bad feeling that it's not something that can be overcome. Please tell me I'm wrong.
I'd have to study it to see what they are doing. You can get information about it in several ways:

- Dump out the textures with frame analysis and compare them to see what's different
- Look for the texture hashes in ShaderUsage.txt (only updated when dumping a shader), and look for the info about the hash (type=Texture2D...) and any operations 3DMigoto noticed being performed on it that might have invalidated the hash.
- Use Frame analysis' logging support to see how the textures are used throughout the frame

The track_texture_updates feature is to keep the texture hashes synchronised with their contents, but only when they are updated from the CPU - it will not update a texture hash if the GPU changed it (and we probably wouldn't want to either since these are mostly render targets where we don't want to match their contents).


If you find that the textures hold several lights and they are always consistently in the same place you could also check the texture coordinates in the shader. If they hold several lights but their placement can change dynamically things get... quite a bit more challenging.

Point is, I can't answer without knowing more.

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

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

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

Posted 01/24/2016 06:44 PM   
  51 / 143    
Scroll To Top