3Dmigoto now open-source...
  116 / 143    
Thanks, DSS. Noted. I'll check my recent fixes because I've been using up to r29 or so. Yep, dcl_temps 12 in Hitman 1, while using up to r28. An extra excuse to improve some z filtering :).
Thanks, DSS. Noted. I'll check my recent fixes because I've been using up to r29 or so.

Yep, dcl_temps 12 in Hitman 1, while using up to r28. An extra excuse to improve some z filtering :).

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 11/17/2017 08:28 AM   
[quote="DarkStarSword"][quote] This crashes the game at the main menu. [/quote]o_O Something copied incorrectly I'd guess (perhaps forgetting the open and/or close bracket in the float literal, or maybe including the line number that the forum added?) - the assembler was not written to cope with human input and doesn't handle errors (silently dropping instructions, corrupting the shader or just outright crashing), so you have to be very careful if you use it and be as precise as a machine. I've improved the assembler considerably since the original implementation to cope with some human quirks (e.g. coping with tabs for indentation and adding comments mid line), but it is still extremely fragile - if you can work out exactly what you did that crashed it, please add that to this bug report: https://github.com/bo3b/3Dmigoto/issues/36 Of course, it is possible to crash the GPU with a badly written assembly shader (e.g. via an infinite loop) that has nothing to do with our assembler, but I can't see how that would have happened in this case. If you can't work it out, please post the complete shader here for us to check.[/quote] When you say "before the if_z/nz line" do you mean right in front of it, like this? (I tried putting it above too but that does nothing) [code]// ---- Created with 3Dmigoto v1.2.67 on Wed Nov 15 20:04:45 // // Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // using 3Dmigoto v1.2.67 on Wed Nov 15 20:04:45 2017 // // // Buffer Definitions: // // cbuffer PassParams_cbuffer // { // // struct PassParams_Constants // { // // float4 eyePosition; // Offset: 0 // float4 eyePositionPrevFrame; // Offset: 16 // float4 eyeDirection; // Offset: 32 // float4 eyeDirectionPrevFrame; // Offset: 48 // float4x4 viewToWorld; // Offset: 64 // float4x4 viewToWorldPrevFrame; // Offset: 128 // float4x4 worldToView; // Offset: 192 // float4x4 worldToViewPrevFrame; // Offset: 256 // float4x4 projMatrix; // Offset: 320 // float4x4 viewProj; // Offset: 384 // float4x4 viewNoTranslationProj;// Offset: 448 // float4x4 viewProjPrevFrame; // Offset: 512 // float4x4 viewNoTranslationProjPrevFrame;// Offset: 576 // float4 viewTranslation; // Offset: 640 // float4 viewTranslationPrevFrame;// Offset: 656 // float4 vPosToUV; // Offset: 672 // float4 viewportScaleOffset; // Offset: 688 // float4 zFrontBackValue; // Offset: 704 // float4 clipPlane; // Offset: 720 // float4 frustumPlanes[4]; // Offset: 736 // float4 globalLightingScale; // Offset: 800 // float4 viewSpaceLightingBackWS;// Offset: 816 // float4 projectorPosition; // Offset: 832 // float4 prevProjectorPosition; // Offset: 848 // float4 pixelPatchingParams; // Offset: 864 // float gradientAdjustMipBias; // Offset: 880 // float thinGeomAAPixelScale; // Offset: 884 // uint layerIndex; // Offset: 888 // uint globalCubeMapIndex; // Offset: 892 // uint dynamicGBufferCubeMapIndex;// Offset: 896 // uint alphaDitherEnabled; // Offset: 900 // uint TAADitherEnabled; // Offset: 904 // float CameraTAAFadeStartDist; // Offset: 908 // // struct MaterialTable_Constants // { // // } materialTable; // Offset: 4294967292 // // struct ReverseProjParams_Constants // { // // float4x4 ClipXYZToViewPos; // Offset: 912 // float4x4 ClipXYZToWorldPos;// Offset: 976 // float4 ClipZToViewZ; // Offset: 1040 // // } RevProjParams; // Offset: 912 // // struct RefractionParams_Constants // { // // } refraction; // Offset: 4294967292 // // struct DeferredCommonParams_Constants // { // // } deferredcommon; // Offset: 4294967292 // // struct MotionVectorParams_Constants // { // // } motionVector; // Offset: 4294967292 // // struct CombinedCloudShadow_Constants // { // // float4 XYScaleBias; // Offset: 1056 // float4 ForwardMappingParams;// Offset: 1072 // float2 ZProject; // Offset: 1088 // float4 BackwardMappingParams;// Offset: 1104 // float CloudShadowGIDensity;// Offset: 1120 // // } combinedCloudShadow; // Offset: 1056 // // struct AmbientLightingParams_Constants // { // // } AmbientLighting; // Offset: 4294967292 // // struct VolumetricFogParams_Constants // { // // float4 volumeInvTransZ; // Offset: 1136 // float4 volumeTexScale; // Offset: 1152 // float4 volumeTexBias; // Offset: 1168 // float4 sunColor; // Offset: 1184 // float4 sunColorByOneOverPi;// Offset: 1200 // // } fog; // Offset: 1136 // // struct UnderwaterLightingParams_Constants // { // // float3 InvDepthParams; // Offset: 1216 // // } underwater; // Offset: 1216 // // struct ClusteredLightsEvaluateParams_Constants // { // // float4 VposToClusterXY; // Offset: 1232 // float4 ClipPosToClusterXY; // Offset: 1248 // float4 ClusterTransZ; // Offset: 1264 // uint HighClusterW; // Offset: 1280 // uint HighClusterWH; // Offset: 1284 // // } clusteredLightsEvaluate; // Offset: 1232 // // struct WaterStamperTextureParams_Constants // { // // } waterStamperTextures; // Offset: 4294967292 // // struct WaterCustomMeshParams_Constants // { // // float3 maxCC; // Offset: 1296 // // } waterCustomMeshParams; // Offset: 1296 // // struct VideoAndScreenshotParams_Constants // { // // } videoAndScreenshot; // Offset: 4294967292 // // struct RainRipplesParams_Constants // { // // } rainRipples; // Offset: 4294967292 // // struct CookieShadowParams_Constants // { // // } cookieShadows; // Offset: 4294967292 // // struct NearShadowParams_Constants // { // // } nearShadows; // Offset: 4294967292 // // struct FarShadowParams_Constants // { // // float FarShadowBlendRatio; // Offset: 1312 // // } farShadows; // Offset: 1312 // // struct CommonShadowParams_Constants // { // // } commonShadows; // Offset: 4294967292 // // struct GrassForceSamplingParams_Constants // { // // float2 WorldToUVOffset; // Offset: 1328 // float2 WorldToUVScale; // Offset: 1336 // float2 ReferenceWorldXY; // Offset: 1344 // float FadeStart; // Offset: 1352 // float Radius; // Offset: 1356 // // } grassForce; // Offset: 1328 // // } PassParams_constants; // Offset: 0 Size: 1360 // // } // // cbuffer InstanceParams_cbuffer // { // // struct InstanceParams_Constants // { // // float4x4 world; // Offset: 0 // float4x4 worldPrevFrame; // Offset: 64 // float4x4 worldViewProj; // Offset: 128 // float4x4 worldViewProjPrevFrame;// Offset: 192 // float4 dissolveFactor; // Offset: 256 // float LODBlendFactor; // Offset: 272 // float wetnessBias; // Offset: 276 // float alphaTestValue; // Offset: 280 // uint materialTableIndex; // Offset: 284 // uint instanceOffset; // Offset: 288 // uint CameraTAADither; // Offset: 292 // // struct InstancingParams_Constants // { // // struct InstanceBatchSetupConsts_Constants // { // // int4 offsets; // Offset: 304 // // } instanceBatchSetupConsts;// Offset: 304 // // } instancing; // Offset: 304 // // } InstanceParams_constants; // Offset: 0 Size: 320 // // } // // cbuffer MaterialParams_cbuffer // { // // struct MaterialParams_Constants // { // // struct DefaultMaterialConsts // { // // float4 blendXYAlphaTestTwoSided;// Offset: 0 // // } defaults; // Offset: 0 // float4 VertexQuadMin_6; // Offset: 16 // float4 VertexScale_89; // Offset: 32 // float4 VertexOffset_92; // Offset: 48 // float4 VertexQuadMax_16; // Offset: 64 // float4 AlphaClampFallof_2; // Offset: 80 // float4 UseVertexAlpha_4; // Offset: 96 // float4 UseScreenAlpha_5; // Offset: 112 // float4 UseLayer1AlphaGrayScale_7;// Offset: 128 // float4 AlphaClampMin_9; // Offset: 144 // float4 AlphaClampIsLayer01Alpha_10;// Offset: 160 // float4 UseLayer1Alpha_11; // Offset: 176 // float4 Layer0DiffuseUVIsClamp_13;// Offset: 192 // float4 Layer0DiffuseIsBC4_14; // Offset: 208 // float4 Layer1AlphaIsBC4_15; // Offset: 224 // float4 Layer1AlphaUVIsClamp_17;// Offset: 240 // float4 Layer0DiffuseIs9SS_18; // Offset: 256 // float4 OcclusionAlpha_20; // Offset: 272 // float4 OcclusionAlphaStepValue_21;// Offset: 288 // float4 Layer0DiffuseIsScreenSpace_22;// Offset: 304 // float4 Layer0DiffuseIsInvert_23;// Offset: 320 // float4 Layer0ColorIsAdd_24; // Offset: 336 // float4 ScreenAlphaTop_25; // Offset: 352 // float4 ScreenAlphaFallout_26; // Offset: 368 // float4 ScreenAlphaBottom_27; // Offset: 384 // float4 AlphaBoost_28; // Offset: 400 // float4 Mipmap_30; // Offset: 416 // float3x3 Layer0DiffuseUV_8_matrix;// Offset: 432 // float3x3 Layer1AlphaUV_12_matrix;// Offset: 480 // // } MaterialParams_constants; // Offset: 0 Size: 524 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // FrameParams_defaultSamplers_pointClamp sampler NA NA 0 1 // FrameParams_defaultSamplers_standardSampler sampler NA NA 4 1 // PassParams_lastExposureTexture texture float4 2d 20 1 // PassParams_deferredcommon_DepthSurface texture float4 2d 28 1 // MaterialParams_srv.Layer0Diffuse_0 texture float4 2d 70 1 // MaterialParams_srv.Layer1Alpha_1 texture float4 2d 71 1 // InstanceParams_instancing_instanceData texture float4 buf 81 1 // PassParams_cbuffer cbuffer NA NA 1 1 // MaterialParams_cbuffer cbuffer NA NA 2 1 // InstanceParams_cbuffer cbuffer NA NA 3 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xy w // TEXCOORD 0 xyzw 1 NONE float xy // COLOR 0 xyzw 2 NONE float w // TEXCOORD 1 xyzw 3 NONE float // TEXCOORD 2 xyzw 4 NONE float // TEXCOORD 3 xyzw 5 NONE float // TEXCOORD 4 xyzw 6 NONE float // InstanceID 0 x 7 NONE uint x // SV_IsFrontFace 0 x 8 FFACE uint // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // // Pixel Shader runs at sample frequency // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb1[66], immediateIndexed dcl_constantbuffer cb3[20], immediateIndexed dcl_constantbuffer cb2[32], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s4, mode_default dcl_resource_texture2d (float,float,float,float) t20 dcl_resource_texture2d (float,float,float,float) t28 dcl_resource_texture2d (float,float,float,float) t70 dcl_resource_texture2d (float,float,float,float) t71 dcl_resource_buffer (float,float,float,float) t81 dcl_input_ps_siv linear noperspective sample v0.xyw, position dcl_input_ps linear sample v1.xy dcl_input_ps linear sample v2.w dcl_input_ps constant v7.x dcl_output o0.xyzw dcl_temps 29 //IniParams: dcl_resource_texture1d (float,float,float,float) t120 ld_indexable(texture1d)(float,float,float,float) r28.xyzw, l(0, 0, 0, 0), t120.xyzw eq r28.x, r28.x, l(0.0) if_z r28.x mov o0.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) endif ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[15].x mov r1.xy, v1.xyxx mov r1.z, l(1.000000) dp3 r2.x, r1.xyzx, cb2[30].xyzx dp3 r2.y, r1.xyzx, cb2[31].xyzx mov_sat r0.yz, r2.xxyx movc r0.xy, r0.xxxx, r0.yzyy, r2.xyxx add r0.z, cb1[55].x, l(-2.500000) sample_b_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t71.xywz, s4, r0.z ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[14].x movc r0.xy, r0.wwww, r0.xxxx, r0.yzyy add r0.x, -r0.y, r0.x mad r0.x, cb2[8].x, r0.x, r0.y add r0.yz, |cb2[1].xxzx|, |cb2[4].xxzx| mul r0.yz, r0.yyzy, l(0.000000, 3.39498758, 3.39498758, 0.000000) div r1.xy, l(0.250000, 0.250000, 0.000000, 0.000000), r0.yzyy add r1.zw, -r1.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000) add r2.xy, -r1.xyxx, r1.zwzz mad r2.zw, v0.xxxy, cb1[42].xxxy, -v1.xxxy mad r3.xy, cb2[19].xxxx, r2.zwzz, v1.xyxx mov r3.z, l(1.000000) dp3 r4.x, r3.xyzx, cb2[27].xyzx dp3 r4.y, r3.xyzx, cb2[28].xyzx add r2.zw, -r1.xxxy, r4.xxxy lt r1.xy, r4.xyxx, r1.xyxx div r2.xy, r2.zwzz, r2.xyxx mad r2.xy, r2.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.250000, 0.250000, 0.000000, 0.000000) add r2.zw, -r4.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000) mad r2.zw, -r2.zzzw, r0.yyyz, l(0.000000, 0.000000, 1.000000, 1.000000) mul r0.yz, r0.yyzy, r4.xxyx lt r1.zw, r1.zzzw, r4.xxxy movc r1.zw, r1.zzzw, r2.zzzw, r2.xxxy movc r0.yz, r1.xxyx, r0.yyzy, r1.zzwz lt r0.w, l(0.000000), cb2[16].x movc r0.yz, r0.wwww, r0.yyzy, r4.xxyx mov_sat r1.xy, r0.yzyy ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[12].x movc r0.yz, r0.wwww, r1.xxyx, r0.yyzy add r0.w, cb1[55].x, cb2[26].x add r0.w, r0.w, l(-2.500000) sample_b_indexable(texture2d)(float,float,float,float) r1.xyzw, r0.yzyy, t70.yzwx, s4, r0.w ne r0.y, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[13].x movc r1.xyz, r0.yyyy, r1.wwww, r1.xyzx add r0.y, r0.x, -r1.z mad r0.y, cb2[11].x, r0.y, r1.z add r0.x, -r0.y, r0.x mad_sat r0.x, cb2[10].x, r0.x, r0.y add r0.z, -r0.x, l(1.000000) add r0.w, -cb2[9].x, l(1.000000) add r0.z, -r0.w, r0.z ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[5].x movc r0.w, r0.w, cb2[5].x, l(0.000001) ishl r2.x, v7.x, l(3) ushr r2.x, r2.x, l(2) iadd r2.x, r2.x, cb3[19].y ld_indexable(buffer)(float,float,float,float) r2.x, r2.xxxx, t81.yxzw iadd r2.x, r2.x, l(3) ld_indexable(buffer)(float,float,float,float) r2.xyz, r2.xxxx, t81.xzwy and r2.xzw, r2.yyzx, l(255, 0, 255, 0x0000ffff) ushr r3.xyz, r2.yyyy, l(24, 16, 8, 0) and r3.xyz, r3.xyzx, l(255, 255, 255, 0) utof r3.xyz, r3.xyzx f16tof32 r2.y, r2.w utof r2.xz, r2.xxzx add r0.x, r0.x, -r2.y div_sat r0.xz, r0.xxzx, r0.wwww max r0.x, r0.z, r0.x add r0.x, -r0.x, l(1.000000) add r0.z, v2.w, l(-1.000000) mad r0.z, cb2[6].x, r0.z, l(1.000000) mul r0.y, r0.z, r0.y mul r0.x, r0.y, r0.x mul r0.x, r1.z, r0.x mul r0.yz, v0.xxyx, cb1[42].xxyx sample_l_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t28.yxzw, s0, l(0.000000) mad r0.yz, r0.yyyy, cb1[65].wwzw, cb1[65].yyxy div r0.y, r0.y, r0.z add r0.y, r0.y, -v0.w ge r0.y, r0.y, cb2[18].x and r0.z, r0.y, l(0x3f800000) movc r0.y, r0.y, l(0), cb2[17].x add r0.y, r0.y, r0.z mul r0.x, r0.y, r0.x mad r0.y, v0.y, cb1[42].y, -cb2[24].x ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[23].x movc r0.z, r0.z, cb2[23].x, l(0.000001) div_sat r0.y, r0.y, r0.z add r0.y, -r0.y, l(1.000000) mad r0.w, v0.y, cb1[42].y, -cb2[22].x div_sat r0.z, r0.w, r0.z min r0.y, r0.y, r0.z add r0.y, r0.y, l(-1.000000) mad r0.y, cb2[7].x, r0.y, l(1.000000) min r0.x, r0.y, r0.x mul r0.y, r2.x, l(0.00392156886) mul r0.y, r0.y, r2.z mul r0.y, r0.y, cb2[25].x mul r0.y, r0.y, l(0.00392156886) mul r0.x, r0.x, r0.y add r2.xyz, -r1.wxyw, l(1.000000, 1.000000, 1.000000, 0.000000) ne r0.y, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[20].x movc r0.yzw, r0.yyyy, r2.xxyz, r1.wwxy mad_sat r1.xyz, r3.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000), r0.yzwy mul r2.xyz, r3.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000) mad r1.xyz, -r0.yzwy, r2.xyzx, r1.xyzx mul r0.yzw, r0.yyzw, r2.xxyz mad r0.yzw, cb2[21].xxxx, r1.xxyz, r0.yyzw mad r1.xyz, r3.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000), -r0.yzwy mad r0.yzw, cb2[13].xxxx, r1.xxyz, r0.yyzw mul r0.yzw, r0.xxxx, r0.yyzw mov o0.w, r0.x sample_l_indexable(texture2d)(float,float,float,float) r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), t20.xyzw, s0, l(0.000000) div r0.xyz, r0.yzwy, r0.xxxx max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) min r0.xyz, r0.xyzx, l(100000.000000, 100000.000000, 100000.000000, 0.000000) mul o0.xyz, r0.xyzx, cb1[50].xxxx ret // Approximately 117 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/[/code]
DarkStarSword said:
This crashes the game at the main menu.
o_O

Something copied incorrectly I'd guess (perhaps forgetting the open and/or close bracket in the float literal, or maybe including the line number that the forum added?) - the assembler was not written to cope with human input and doesn't handle errors (silently dropping instructions, corrupting the shader or just outright crashing), so you have to be very careful if you use it and be as precise as a machine.

I've improved the assembler considerably since the original implementation to cope with some human quirks (e.g. coping with tabs for indentation and adding comments mid line), but it is still extremely fragile - if you can work out exactly what you did that crashed it, please add that to this bug report:


https://github.com/bo3b/3Dmigoto/issues/36


Of course, it is possible to crash the GPU with a badly written assembly shader (e.g. via an infinite loop) that has nothing to do with our assembler, but I can't see how that would have happened in this case.

If you can't work it out, please post the complete shader here for us to check.


When you say "before the if_z/nz line" do you mean right in front of it, like this?

(I tried putting it above too but that does nothing)

// ---- Created with 3Dmigoto v1.2.67 on Wed Nov 15 20:04:45  
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
// using 3Dmigoto v1.2.67 on Wed Nov 15 20:04:45 2017
//
//
// Buffer Definitions:
//
// cbuffer PassParams_cbuffer
// {
//
// struct PassParams_Constants
// {
//
// float4 eyePosition; // Offset: 0
// float4 eyePositionPrevFrame; // Offset: 16
// float4 eyeDirection; // Offset: 32
// float4 eyeDirectionPrevFrame; // Offset: 48
// float4x4 viewToWorld; // Offset: 64
// float4x4 viewToWorldPrevFrame; // Offset: 128
// float4x4 worldToView; // Offset: 192
// float4x4 worldToViewPrevFrame; // Offset: 256
// float4x4 projMatrix; // Offset: 320
// float4x4 viewProj; // Offset: 384
// float4x4 viewNoTranslationProj;// Offset: 448
// float4x4 viewProjPrevFrame; // Offset: 512
// float4x4 viewNoTranslationProjPrevFrame;// Offset: 576
// float4 viewTranslation; // Offset: 640
// float4 viewTranslationPrevFrame;// Offset: 656
// float4 vPosToUV; // Offset: 672
// float4 viewportScaleOffset; // Offset: 688
// float4 zFrontBackValue; // Offset: 704
// float4 clipPlane; // Offset: 720
// float4 frustumPlanes[4]; // Offset: 736
// float4 globalLightingScale; // Offset: 800
// float4 viewSpaceLightingBackWS;// Offset: 816
// float4 projectorPosition; // Offset: 832
// float4 prevProjectorPosition; // Offset: 848
// float4 pixelPatchingParams; // Offset: 864
// float gradientAdjustMipBias; // Offset: 880
// float thinGeomAAPixelScale; // Offset: 884
// uint layerIndex; // Offset: 888
// uint globalCubeMapIndex; // Offset: 892
// uint dynamicGBufferCubeMapIndex;// Offset: 896
// uint alphaDitherEnabled; // Offset: 900
// uint TAADitherEnabled; // Offset: 904
// float CameraTAAFadeStartDist; // Offset: 908
//
// struct MaterialTable_Constants
// {
//
// } materialTable; // Offset: 4294967292
//
// struct ReverseProjParams_Constants
// {
//
// float4x4 ClipXYZToViewPos; // Offset: 912
// float4x4 ClipXYZToWorldPos;// Offset: 976
// float4 ClipZToViewZ; // Offset: 1040
//
// } RevProjParams; // Offset: 912
//
// struct RefractionParams_Constants
// {
//
// } refraction; // Offset: 4294967292
//
// struct DeferredCommonParams_Constants
// {
//
// } deferredcommon; // Offset: 4294967292
//
// struct MotionVectorParams_Constants
// {
//
// } motionVector; // Offset: 4294967292
//
// struct CombinedCloudShadow_Constants
// {
//
// float4 XYScaleBias; // Offset: 1056
// float4 ForwardMappingParams;// Offset: 1072
// float2 ZProject; // Offset: 1088
// float4 BackwardMappingParams;// Offset: 1104
// float CloudShadowGIDensity;// Offset: 1120
//
// } combinedCloudShadow; // Offset: 1056
//
// struct AmbientLightingParams_Constants
// {
//
// } AmbientLighting; // Offset: 4294967292
//
// struct VolumetricFogParams_Constants
// {
//
// float4 volumeInvTransZ; // Offset: 1136
// float4 volumeTexScale; // Offset: 1152
// float4 volumeTexBias; // Offset: 1168
// float4 sunColor; // Offset: 1184
// float4 sunColorByOneOverPi;// Offset: 1200
//
// } fog; // Offset: 1136
//
// struct UnderwaterLightingParams_Constants
// {
//
// float3 InvDepthParams; // Offset: 1216
//
// } underwater; // Offset: 1216
//
// struct ClusteredLightsEvaluateParams_Constants
// {
//
// float4 VposToClusterXY; // Offset: 1232
// float4 ClipPosToClusterXY; // Offset: 1248
// float4 ClusterTransZ; // Offset: 1264
// uint HighClusterW; // Offset: 1280
// uint HighClusterWH; // Offset: 1284
//
// } clusteredLightsEvaluate; // Offset: 1232
//
// struct WaterStamperTextureParams_Constants
// {
//
// } waterStamperTextures; // Offset: 4294967292
//
// struct WaterCustomMeshParams_Constants
// {
//
// float3 maxCC; // Offset: 1296
//
// } waterCustomMeshParams; // Offset: 1296
//
// struct VideoAndScreenshotParams_Constants
// {
//
// } videoAndScreenshot; // Offset: 4294967292
//
// struct RainRipplesParams_Constants
// {
//
// } rainRipples; // Offset: 4294967292
//
// struct CookieShadowParams_Constants
// {
//
// } cookieShadows; // Offset: 4294967292
//
// struct NearShadowParams_Constants
// {
//
// } nearShadows; // Offset: 4294967292
//
// struct FarShadowParams_Constants
// {
//
// float FarShadowBlendRatio; // Offset: 1312
//
// } farShadows; // Offset: 1312
//
// struct CommonShadowParams_Constants
// {
//
// } commonShadows; // Offset: 4294967292
//
// struct GrassForceSamplingParams_Constants
// {
//
// float2 WorldToUVOffset; // Offset: 1328
// float2 WorldToUVScale; // Offset: 1336
// float2 ReferenceWorldXY; // Offset: 1344
// float FadeStart; // Offset: 1352
// float Radius; // Offset: 1356
//
// } grassForce; // Offset: 1328
//
// } PassParams_constants; // Offset: 0 Size: 1360
//
// }
//
// cbuffer InstanceParams_cbuffer
// {
//
// struct InstanceParams_Constants
// {
//
// float4x4 world; // Offset: 0
// float4x4 worldPrevFrame; // Offset: 64
// float4x4 worldViewProj; // Offset: 128
// float4x4 worldViewProjPrevFrame;// Offset: 192
// float4 dissolveFactor; // Offset: 256
// float LODBlendFactor; // Offset: 272
// float wetnessBias; // Offset: 276
// float alphaTestValue; // Offset: 280
// uint materialTableIndex; // Offset: 284
// uint instanceOffset; // Offset: 288
// uint CameraTAADither; // Offset: 292
//
// struct InstancingParams_Constants
// {
//
// struct InstanceBatchSetupConsts_Constants
// {
//
// int4 offsets; // Offset: 304
//
// } instanceBatchSetupConsts;// Offset: 304
//
// } instancing; // Offset: 304
//
// } InstanceParams_constants; // Offset: 0 Size: 320
//
// }
//
// cbuffer MaterialParams_cbuffer
// {
//
// struct MaterialParams_Constants
// {
//
// struct DefaultMaterialConsts
// {
//
// float4 blendXYAlphaTestTwoSided;// Offset: 0
//
// } defaults; // Offset: 0
// float4 VertexQuadMin_6; // Offset: 16
// float4 VertexScale_89; // Offset: 32
// float4 VertexOffset_92; // Offset: 48
// float4 VertexQuadMax_16; // Offset: 64
// float4 AlphaClampFallof_2; // Offset: 80
// float4 UseVertexAlpha_4; // Offset: 96
// float4 UseScreenAlpha_5; // Offset: 112
// float4 UseLayer1AlphaGrayScale_7;// Offset: 128
// float4 AlphaClampMin_9; // Offset: 144
// float4 AlphaClampIsLayer01Alpha_10;// Offset: 160
// float4 UseLayer1Alpha_11; // Offset: 176
// float4 Layer0DiffuseUVIsClamp_13;// Offset: 192
// float4 Layer0DiffuseIsBC4_14; // Offset: 208
// float4 Layer1AlphaIsBC4_15; // Offset: 224
// float4 Layer1AlphaUVIsClamp_17;// Offset: 240
// float4 Layer0DiffuseIs9SS_18; // Offset: 256
// float4 OcclusionAlpha_20; // Offset: 272
// float4 OcclusionAlphaStepValue_21;// Offset: 288
// float4 Layer0DiffuseIsScreenSpace_22;// Offset: 304
// float4 Layer0DiffuseIsInvert_23;// Offset: 320
// float4 Layer0ColorIsAdd_24; // Offset: 336
// float4 ScreenAlphaTop_25; // Offset: 352
// float4 ScreenAlphaFallout_26; // Offset: 368
// float4 ScreenAlphaBottom_27; // Offset: 384
// float4 AlphaBoost_28; // Offset: 400
// float4 Mipmap_30; // Offset: 416
// float3x3 Layer0DiffuseUV_8_matrix;// Offset: 432
// float3x3 Layer1AlphaUV_12_matrix;// Offset: 480
//
// } MaterialParams_constants; // Offset: 0 Size: 524
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// FrameParams_defaultSamplers_pointClamp sampler NA NA 0 1
// FrameParams_defaultSamplers_standardSampler sampler NA NA 4 1
// PassParams_lastExposureTexture texture float4 2d 20 1
// PassParams_deferredcommon_DepthSurface texture float4 2d 28 1
// MaterialParams_srv.Layer0Diffuse_0 texture float4 2d 70 1
// MaterialParams_srv.Layer1Alpha_1 texture float4 2d 71 1
// InstanceParams_instancing_instanceData texture float4 buf 81 1
// PassParams_cbuffer cbuffer NA NA 1 1
// MaterialParams_cbuffer cbuffer NA NA 2 1
// InstanceParams_cbuffer cbuffer NA NA 3 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xy w
// TEXCOORD 0 xyzw 1 NONE float xy
// COLOR 0 xyzw 2 NONE float w
// TEXCOORD 1 xyzw 3 NONE float
// TEXCOORD 2 xyzw 4 NONE float
// TEXCOORD 3 xyzw 5 NONE float
// TEXCOORD 4 xyzw 6 NONE float
// InstanceID 0 x 7 NONE uint x
// SV_IsFrontFace 0 x 8 FFACE uint
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
// Pixel Shader runs at sample frequency
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[66], immediateIndexed
dcl_constantbuffer cb3[20], immediateIndexed
dcl_constantbuffer cb2[32], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s4, mode_default
dcl_resource_texture2d (float,float,float,float) t20
dcl_resource_texture2d (float,float,float,float) t28
dcl_resource_texture2d (float,float,float,float) t70
dcl_resource_texture2d (float,float,float,float) t71
dcl_resource_buffer (float,float,float,float) t81
dcl_input_ps_siv linear noperspective sample v0.xyw, position
dcl_input_ps linear sample v1.xy
dcl_input_ps linear sample v2.w
dcl_input_ps constant v7.x
dcl_output o0.xyzw
dcl_temps 29

//IniParams:
dcl_resource_texture1d (float,float,float,float) t120
ld_indexable(texture1d)(float,float,float,float) r28.xyzw, l(0, 0, 0, 0), t120.xyzw

eq r28.x, r28.x, l(0.0) if_z r28.x
mov o0.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
endif

ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[15].x
mov r1.xy, v1.xyxx
mov r1.z, l(1.000000)
dp3 r2.x, r1.xyzx, cb2[30].xyzx
dp3 r2.y, r1.xyzx, cb2[31].xyzx
mov_sat r0.yz, r2.xxyx
movc r0.xy, r0.xxxx, r0.yzyy, r2.xyxx
add r0.z, cb1[55].x, l(-2.500000)
sample_b_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t71.xywz, s4, r0.z
ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[14].x
movc r0.xy, r0.wwww, r0.xxxx, r0.yzyy
add r0.x, -r0.y, r0.x
mad r0.x, cb2[8].x, r0.x, r0.y
add r0.yz, |cb2[1].xxzx|, |cb2[4].xxzx|
mul r0.yz, r0.yyzy, l(0.000000, 3.39498758, 3.39498758, 0.000000)
div r1.xy, l(0.250000, 0.250000, 0.000000, 0.000000), r0.yzyy
add r1.zw, -r1.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
add r2.xy, -r1.xyxx, r1.zwzz
mad r2.zw, v0.xxxy, cb1[42].xxxy, -v1.xxxy
mad r3.xy, cb2[19].xxxx, r2.zwzz, v1.xyxx
mov r3.z, l(1.000000)
dp3 r4.x, r3.xyzx, cb2[27].xyzx
dp3 r4.y, r3.xyzx, cb2[28].xyzx
add r2.zw, -r1.xxxy, r4.xxxy
lt r1.xy, r4.xyxx, r1.xyxx
div r2.xy, r2.zwzz, r2.xyxx
mad r2.xy, r2.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.250000, 0.250000, 0.000000, 0.000000)
add r2.zw, -r4.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
mad r2.zw, -r2.zzzw, r0.yyyz, l(0.000000, 0.000000, 1.000000, 1.000000)
mul r0.yz, r0.yyzy, r4.xxyx
lt r1.zw, r1.zzzw, r4.xxxy
movc r1.zw, r1.zzzw, r2.zzzw, r2.xxxy
movc r0.yz, r1.xxyx, r0.yyzy, r1.zzwz
lt r0.w, l(0.000000), cb2[16].x
movc r0.yz, r0.wwww, r0.yyzy, r4.xxyx
mov_sat r1.xy, r0.yzyy
ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[12].x
movc r0.yz, r0.wwww, r1.xxyx, r0.yyzy
add r0.w, cb1[55].x, cb2[26].x
add r0.w, r0.w, l(-2.500000)
sample_b_indexable(texture2d)(float,float,float,float) r1.xyzw, r0.yzyy, t70.yzwx, s4, r0.w
ne r0.y, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[13].x
movc r1.xyz, r0.yyyy, r1.wwww, r1.xyzx
add r0.y, r0.x, -r1.z
mad r0.y, cb2[11].x, r0.y, r1.z
add r0.x, -r0.y, r0.x
mad_sat r0.x, cb2[10].x, r0.x, r0.y
add r0.z, -r0.x, l(1.000000)
add r0.w, -cb2[9].x, l(1.000000)
add r0.z, -r0.w, r0.z
ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[5].x
movc r0.w, r0.w, cb2[5].x, l(0.000001)
ishl r2.x, v7.x, l(3)
ushr r2.x, r2.x, l(2)
iadd r2.x, r2.x, cb3[19].y
ld_indexable(buffer)(float,float,float,float) r2.x, r2.xxxx, t81.yxzw
iadd r2.x, r2.x, l(3)
ld_indexable(buffer)(float,float,float,float) r2.xyz, r2.xxxx, t81.xzwy
and r2.xzw, r2.yyzx, l(255, 0, 255, 0x0000ffff)
ushr r3.xyz, r2.yyyy, l(24, 16, 8, 0)
and r3.xyz, r3.xyzx, l(255, 255, 255, 0)
utof r3.xyz, r3.xyzx
f16tof32 r2.y, r2.w
utof r2.xz, r2.xxzx
add r0.x, r0.x, -r2.y
div_sat r0.xz, r0.xxzx, r0.wwww
max r0.x, r0.z, r0.x
add r0.x, -r0.x, l(1.000000)
add r0.z, v2.w, l(-1.000000)
mad r0.z, cb2[6].x, r0.z, l(1.000000)
mul r0.y, r0.z, r0.y
mul r0.x, r0.y, r0.x
mul r0.x, r1.z, r0.x
mul r0.yz, v0.xxyx, cb1[42].xxyx
sample_l_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t28.yxzw, s0, l(0.000000)
mad r0.yz, r0.yyyy, cb1[65].wwzw, cb1[65].yyxy
div r0.y, r0.y, r0.z
add r0.y, r0.y, -v0.w
ge r0.y, r0.y, cb2[18].x
and r0.z, r0.y, l(0x3f800000)
movc r0.y, r0.y, l(0), cb2[17].x
add r0.y, r0.y, r0.z
mul r0.x, r0.y, r0.x
mad r0.y, v0.y, cb1[42].y, -cb2[24].x
ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[23].x
movc r0.z, r0.z, cb2[23].x, l(0.000001)
div_sat r0.y, r0.y, r0.z
add r0.y, -r0.y, l(1.000000)
mad r0.w, v0.y, cb1[42].y, -cb2[22].x
div_sat r0.z, r0.w, r0.z
min r0.y, r0.y, r0.z
add r0.y, r0.y, l(-1.000000)
mad r0.y, cb2[7].x, r0.y, l(1.000000)
min r0.x, r0.y, r0.x
mul r0.y, r2.x, l(0.00392156886)
mul r0.y, r0.y, r2.z
mul r0.y, r0.y, cb2[25].x
mul r0.y, r0.y, l(0.00392156886)
mul r0.x, r0.x, r0.y
add r2.xyz, -r1.wxyw, l(1.000000, 1.000000, 1.000000, 0.000000)
ne r0.y, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[20].x
movc r0.yzw, r0.yyyy, r2.xxyz, r1.wwxy
mad_sat r1.xyz, r3.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000), r0.yzwy
mul r2.xyz, r3.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000)
mad r1.xyz, -r0.yzwy, r2.xyzx, r1.xyzx
mul r0.yzw, r0.yyzw, r2.xxyz
mad r0.yzw, cb2[21].xxxx, r1.xxyz, r0.yyzw
mad r1.xyz, r3.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000), -r0.yzwy
mad r0.yzw, cb2[13].xxxx, r1.xxyz, r0.yyzw
mul r0.yzw, r0.xxxx, r0.yyzw
mov o0.w, r0.x
sample_l_indexable(texture2d)(float,float,float,float) r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), t20.xyzw, s0, l(0.000000)
div r0.xyz, r0.yzwy, r0.xxxx
max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r0.xyz, r0.xyzx, l(100000.000000, 100000.000000, 100000.000000, 0.000000)
mul o0.xyz, r0.xyzx, cb1[50].xxxx
ret
// Approximately 117 instruction slots used

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

1080 Ti - i7 5820k - 16Gb RAM - Win 10 version 1607 - ASUS VG236H (1920x1080@120Hz)

Posted 11/17/2017 06:03 PM   
Assembly is really picky, so you might need to experiment a bit to find what works and what does not. For example, if it's crashing, keep commenting out lines of code until you narrow down which line is crashing it. DarkStarSword meant to move an eq line above the if, so that the variable being tested has been assigned for sure. Here is what I would expect, but of course, the only thing that works is whatever works. These changes like using full l-value constants, and not using them to assign outputs are some of the gotchas in ASM that make it hard to work with. Best bet is to use a working example to copy/paste from, rather than trying to do this cold. Use DarkStarSwords' github for references. [code]... dcl_temps 29 //IniParams: dcl_resource_texture1d (float,float,float,float) t120 ld_indexable(texture1d)(float,float,float,float) r28.xyzw, l(0, 0, 0, 0), t120.xyzw eq r28.x, r28.x, l(0.0) if_z r28.x mov r28.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mov o0.xyzw, r28.xyzw ret endif ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[15].x mov r1.xy, v1.xyxx ... [/code]
Assembly is really picky, so you might need to experiment a bit to find what works and what does not. For example, if it's crashing, keep commenting out lines of code until you narrow down which line is crashing it.

DarkStarSword meant to move an eq line above the if, so that the variable being tested has been assigned for sure.

Here is what I would expect, but of course, the only thing that works is whatever works. These changes like using full l-value constants, and not using them to assign outputs are some of the gotchas in ASM that make it hard to work with.

Best bet is to use a working example to copy/paste from, rather than trying to do this cold. Use DarkStarSwords' github for references.


...
dcl_temps 29

//IniParams:
dcl_resource_texture1d (float,float,float,float) t120

ld_indexable(texture1d)(float,float,float,float) r28.xyzw, l(0, 0, 0, 0), t120.xyzw

eq r28.x, r28.x, l(0.0)
if_z r28.x
mov r28.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mov o0.xyzw, r28.xyzw
ret
endif

ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[15].x
mov r1.xy, v1.xyxx
...

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 11/18/2017 02:45 AM   
[quote="bo3b"]Assembly is really picky, so you might need to experiment a bit to find what works and what does not. For example, if it's crashing, keep commenting out lines of code until you narrow down which line is crashing it. DarkStarSword meant to move an eq line above the if, so that the variable being tested has been assigned for sure. Here is what I would expect, but of course, the only thing that works is whatever works. These changes like using full l-value constants, and not using them to assign outputs are some of the gotchas in ASM that make it hard to work with. Best bet is to use a working example to copy/paste from, rather than trying to do this cold. Use DarkStarSwords' github for references. [code]... dcl_temps 29 //IniParams: dcl_resource_texture1d (float,float,float,float) t120 ld_indexable(texture1d)(float,float,float,float) r28.xyzw, l(0, 0, 0, 0), t120.xyzw eq r28.x, r28.x, l(0.0) if_z r28.x mov r28.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mov o0.xyzw, r28.xyzw ret endif ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[15].x mov r1.xy, v1.xyxx ... [/code] [/quote] This worked, thank you! Also @DarkStarSword if you ever manage to implement the conditional logic to the command list so you could do this without having to touch the shader, I will donate to your paypal because that would make this so much easier :D
bo3b said:Assembly is really picky, so you might need to experiment a bit to find what works and what does not. For example, if it's crashing, keep commenting out lines of code until you narrow down which line is crashing it.

DarkStarSword meant to move an eq line above the if, so that the variable being tested has been assigned for sure.

Here is what I would expect, but of course, the only thing that works is whatever works. These changes like using full l-value constants, and not using them to assign outputs are some of the gotchas in ASM that make it hard to work with.

Best bet is to use a working example to copy/paste from, rather than trying to do this cold. Use DarkStarSwords' github for references.


...
dcl_temps 29

//IniParams:
dcl_resource_texture1d (float,float,float,float) t120

ld_indexable(texture1d)(float,float,float,float) r28.xyzw, l(0, 0, 0, 0), t120.xyzw

eq r28.x, r28.x, l(0.0)
if_z r28.x
mov r28.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mov o0.xyzw, r28.xyzw
ret
endif

ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[15].x
mov r1.xy, v1.xyxx
...



This worked, thank you!

Also @DarkStarSword if you ever manage to implement the conditional logic to the command list so you could do this without having to touch the shader, I will donate to your paypal because that would make this so much easier :D

1080 Ti - i7 5820k - 16Gb RAM - Win 10 version 1607 - ASUS VG236H (1920x1080@120Hz)

Posted 11/18/2017 12:20 PM   
Hi bo3b, DSS, It seems there is a problem with 3DMigoto and the latest Frostbite3 engine based game (Battlefront2). It seems that no matter what we set in the ini file we always get a crash. DHR was kind to provide a log: [url]https://forums.geforce.com/default/topic/1029214/3d-vision/star-wars-battlefront-ii-2017/post/5245403/#5245403[/url] I went and built and run the wrapper on the game and this is what I found out: [url]https://forums.geforce.com/default/topic/1029214/3d-vision/star-wars-battlefront-ii-2017/post/5245894/#5245894[/url] Any thoughts? on what is going on:) Many thanks!
Hi bo3b, DSS,

It seems there is a problem with 3DMigoto and the latest Frostbite3 engine based game (Battlefront2).
It seems that no matter what we set in the ini file we always get a crash.

DHR was kind to provide a log:
https://forums.geforce.com/default/topic/1029214/3d-vision/star-wars-battlefront-ii-2017/post/5245403/#5245403

I went and built and run the wrapper on the game and this is what I found out:
https://forums.geforce.com/default/topic/1029214/3d-vision/star-wars-battlefront-ii-2017/post/5245894/#5245894

Any thoughts? on what is going on:)

Many thanks!

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


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

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

Posted 11/19/2017 01:46 PM   
Hi all, in my ELEX HUD fix I run into the following problem: The game ELEX draws the HUD with lots of different vertex and pixel shaders to some kind of backbuffer. This takes more than 100 drawcalls and almost every vertex shader is paired with almost every pixel shader. If I stereo correct a single vertex shader parts of the HUD get stereo but some other parts get double stereorized in that process. Filtering a single partner PS can reduce that problem. However, as soon as I stereo correct more than one vertex shader, everything gets messed up (double stereo, clipping errors and more). Frame analysis shows the following: [code] # Draw minimap to screen 002008-o0-vs=effe...ps=dc8c... ... lots of other shaders involed here # Draw some HUD parts to backbuffer 002012-o0=91005981-vs=52a2...ps=984c... ... 002030-o0=91005981-vs=effe...ps=dc8c... ... lots of other shaders involed here, including those used to draw to screen ... 91005981 is the only used render target hash # Draw backbuffer to screen 002138-o0-vs=effe...ps=144d... [/code] I guess that I have to stereo only those calls that go to the screen which is equivalent to excluding all draw calls which go to the hash 91005981. DarkStarSword explained render target size filtering in [url=https://forums.geforce.com/default/topic/685657/3d-vision/3dmigoto-now-open-source-/post/4706623/#4706623]this[/url] post but this does not work here because the backbuffer has the same size as the screen. So is there any way to filter render target hashes?
Hi all,
in my ELEX HUD fix I run into the following problem:

The game ELEX draws the HUD with lots of different vertex and pixel shaders to some kind of backbuffer. This takes more than 100 drawcalls and almost every vertex shader is paired with almost every pixel shader.

If I stereo correct a single vertex shader parts of the HUD get stereo but some other parts get double stereorized in that process. Filtering a single partner PS can reduce that problem. However, as soon as I stereo correct more than one vertex shader, everything gets messed up (double stereo, clipping errors and more).

Frame analysis shows the following:
# Draw minimap to screen
002008-o0-vs=effe...ps=dc8c...
... lots of other shaders involed here
# Draw some HUD parts to backbuffer
002012-o0=91005981-vs=52a2...ps=984c...
...
002030-o0=91005981-vs=effe...ps=dc8c...
... lots of other shaders involed here, including those used to draw to screen
... 91005981 is the only used render target hash
# Draw backbuffer to screen
002138-o0-vs=effe...ps=144d...

I guess that I have to stereo only those calls that go to the screen which is equivalent to excluding all draw calls which go to the hash 91005981. DarkStarSword explained render target size filtering in this post but this does not work here because the backbuffer has the same size as the screen.

So is there any way to filter render target hashes?
As of a couple of versions ago texture filtering works with render targets as well: [code] [TextureOverrideOffScreenHUD] hash = 91005981 [ShaderOverrideHUD] hash = ... x = o0 [/code] In the shader test IniParams[0].x - it will be 1 if the hash matched *any* [TextureOverride] section and 0 if it did not (or -0.0 if no render target was bound at all). If you need to distinguish between multiple render targets with different hashes you can add e.g. filter_index=2 to the [TextureOverride] sections to set the ini param to an arbitrary value. An alternative to texture filtering is to add checktextureoverride=o0 to the [ShaderOverride] section, which will allow you to run a command list in the [TextureOverride] section matching that render target to do whatever you need. The ones without hashes are likely to be the back buffer (other possible explanations are 1D textures, resources created by 3DMigoto itself or resources created externally from the DirectX device we wrapped) - there is currently no way to define a [TextureOverride] section that matches the back buffer, so your filtering and/or command lists have to be based on the other render targets. If you find yourself in a situation where this won't work, let me know - I'm sure we can add something to match the back buffer if you need it. Remember to check that the hash you are matching is not affected by the resolution, changing get_resolution_from if necessary. Anti-aliasing (MSAA and TXAA in particular) settings may also affect it (unlikely for the HUD), but in that case there are usually only a small number of hashes you will need, or just ask your users to use a specific AA setting.
As of a couple of versions ago texture filtering works with render targets as well:

[TextureOverrideOffScreenHUD]
hash = 91005981

[ShaderOverrideHUD]
hash = ...
x = o0


In the shader test IniParams[0].x - it will be 1 if the hash matched *any* [TextureOverride] section and 0 if it did not (or -0.0 if no render target was bound at all). If you need to distinguish between multiple render targets with different hashes you can add e.g. filter_index=2 to the [TextureOverride] sections to set the ini param to an arbitrary value.

An alternative to texture filtering is to add checktextureoverride=o0 to the [ShaderOverride] section, which will allow you to run a command list in the [TextureOverride] section matching that render target to do whatever you need.

The ones without hashes are likely to be the back buffer (other possible explanations are 1D textures, resources created by 3DMigoto itself or resources created externally from the DirectX device we wrapped) - there is currently no way to define a [TextureOverride] section that matches the back buffer, so your filtering and/or command lists have to be based on the other render targets. If you find yourself in a situation where this won't work, let me know - I'm sure we can add something to match the back buffer if you need it.

Remember to check that the hash you are matching is not affected by the resolution, changing get_resolution_from if necessary. Anti-aliasing (MSAA and TXAA in particular) settings may also affect it (unlikely for the HUD), but in that case there are usually only a small number of hashes you will need, or just ask your users to use a specific AA setting.

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 11/23/2017 04:07 AM   
[quote="DarkStarSword"]As of a couple of versions ago texture filtering works with render targets as well: [code] [TextureOverrideOffScreenHUD] hash = 91005981 [ShaderOverrideHUD] hash = ... x = o0 [/code] ...[/quote]This works perfectly. Big thanks for your help!
DarkStarSword said:As of a couple of versions ago texture filtering works with render targets as well:

[TextureOverrideOffScreenHUD]
hash = 91005981

[ShaderOverrideHUD]
hash = ...
x = o0

...
This works perfectly. Big thanks for your help!
Hey guys, a Sincere "Thank You" for all of the fixers and fixes that take effort and TIME, that you share with this small, friendly, community. I appreciate it. I have a question regarding Surround - 3 monitors, 5960x1080. (and 5760x1080) Over the past several of years I've run in to situations where the shadows are off on a variety of different fixes. I do undestand the various problems with the game engines along with the myriad of other adjustments I need to fiddle with to make it work or Not! >>Do the folks that use surround here, have to tweak any settings in the d3xi.ini to adjust for being wide screen at times? If so, can you please let me know what settings I should be looking at? If not, (there isn't any) forget it ;-) Thanks again :-)
Hey guys, a Sincere "Thank You" for all of the fixers and fixes that take effort and TIME, that you share with this small, friendly, community. I appreciate it.

I have a question regarding Surround - 3 monitors, 5960x1080. (and 5760x1080)

Over the past several of years I've run in to situations where the shadows are off on a variety of different fixes. I do undestand the various problems with the game engines along with the myriad of other adjustments I need to fiddle with to make it work or Not!

>>Do the folks that use surround here, have to tweak any settings in the d3xi.ini to adjust for being wide screen at times? If so, can you please let me know what settings I should be looking at? If not, (there isn't any) forget it ;-)

Thanks again :-)

Posted 12/10/2017 01:55 AM   
I have a question which seems to be quite simple and therefore it is very frustrating that I can't solve the issue. I just bought "Steep" and it offers acceptable results in CM with the profile for "For Honor". But what is quite annoying are the halos caused by the strings when paragliding. So I just want to remove them with 3Dmigoto. I could identify both the PS and VS. But I can't modify them to disable the strings. This is the PS: [code]// ---- Created with 3Dmigoto v1.2.67 on Fri Dec 15 14:51:34 2017 Texture2D<float4> t39 : register(t39); Texture2D<float4> t38 : register(t38); Texture2D<float4> t36 : register(t36); Texture2D<float4> t34 : register(t34); Texture2D<float4> t33 : register(t33); Texture2D<float4> t32 : register(t32); Buffer<float4> t19 : register(t19); SamplerState s14_s : register(s14); cbuffer cb9 : register(b9) { float4 cb9[1]; } cbuffer cb3 : register(b3) { float4 cb3[33]; } cbuffer cb2 : register(b2) { float4 cb2[1]; } cbuffer cb1 : register(b1) { float4 cb1[191]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_Position0, linear sample float4 v1 : TEXCOORD0, linear sample float4 v2 : TEXCOORD1, linear sample float4 v3 : TEXCOORD2, nointerpolation uint v4 : TEXCOORD3, uint v5 : SV_SampleIndex0, out float4 o0 : SV_Target0, out float4 o1 : SV_Target1, out float4 o2 : SV_Target2, out float4 o3 : SV_Target3, out float4 o4 : SV_Target4) { float4 r0,r1,r2,r3,r4,r5,r6,r7; uint4 bitmask, uiDest; float4 fDest; r0.xyzw = t32.SampleBias(s14_s, v1.xy, cb1[190].z).xyzw; r1.x = -cb3[0].z + r0.w; r1.x = cmp(r1.x < 0); if (r1.x != 0) discard; r1.x = (int)v4.x * 12; r1.x = (uint)r1.x >> 2; r1.x = (int)r1.x + asint(cb9[0].y); r1.x = t19.Load(r1.x).y; r1.x = (int)r1.x + 4; r1.xy = t19.Load(r1.x).zw; r1.z = (uint)r1.x >> 16; r2.xyz = f16tof32(r1.xzy); r1.xyz = -cb2[0].xyz + r2.xyz; r1.x = dot(r1.xyz, r1.xyz); r1.x = sqrt(r1.x); r1.x = r1.x / cb3[7].x; r1.x = log2(abs(r1.x)); r1.x = cb3[19].x * r1.x; r1.x = exp2(r1.x); r1.x = min(1, r1.x); r1.y = floor(cb3[16].x); r2.xy = v1.xy; r2.z = 1; r1.z = dot(r2.xyz, cb3[22].xyz); r1.z = frac(r1.z); r1.y = r1.z + r1.y; r3.x = 0.125 * r1.y; r1.y = floor(cb3[18].x); r1.z = dot(r2.xyz, cb3[23].xyz); r1.z = frac(r1.z); r1.y = r1.z + r1.y; r3.y = 0.25 * r1.y; r1.yzw = t38.SampleBias(s14_s, r3.xy, cb1[190].z).xyz; r3.xy = t39.SampleBias(s14_s, r3.xy, cb1[190].z).xy; r1.yzw = float3(-1,-1,-1) + r1.yzw; r4.xyz = cb3[20].xxx * r1.yzw + float3(1,1,1); r1.y = cb3[9].x * r1.y + 1; r1.z = floor(cb3[10].x); r1.w = dot(r2.xyz, cb3[25].xyz); r1.w = frac(r1.w); r1.z = r1.w + r1.z; r5.x = 0.125 * r1.z; r1.z = floor(cb3[13].x); r1.w = dot(r2.xyz, cb3[26].xyz); r1.w = frac(r1.w); r1.z = r1.w + r1.z; r5.y = 0.25 * r1.z; r6.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz; r1.zw = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy; r5.xyz = float3(-1,-1,-1) + r6.xyz; r5.yzw = cb3[4].xxx * r5.xyz + float3(1,1,1); r2.w = cb3[12].x * r5.x + 1; r3.zw = t36.SampleBias(s14_s, v1.xy, cb1[190].z).xy; r6.xyzw = float4(0.0500000007,0.349999994,0.649999976,0.550000012) + r3.zzzz; r3.z = cb3[6].x * r3.w; o4.xyz = r3.zzz * r0.xyz; r6.xyzw = floor(r6.xyzw); r3.zw = r6.yz + -r6.xy; r5.xyz = r5.yzw * r3.zzz; r4.xyz = r4.xyz * r6.xxx + r5.xyz; r4.w = dot(r2.xyz, cb3[31].xyz); r2.x = dot(r2.xyz, cb3[32].xyz); r2.x = frac(r2.x); r2.y = frac(r4.w); r2.z = floor(cb3[15].x); r2.y = r2.y + r2.z; r5.x = 0.125 * r2.y; r2.y = floor(cb3[14].x); r2.x = r2.x + r2.y; r5.y = 0.25 * r2.x; r2.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz; r5.xy = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy; r2.xyz = float3(-1,-1,-1) + r2.xyz; r7.xyz = cb3[21].xxx * r2.xyz + float3(1,1,1); r2.x = cb3[11].x * r2.x + 1; r2.x = -r2.x * r3.w + 1; r4.xyz = r7.xyz * r3.www + r4.xyz; r7.xyz = float3(1,1,1) + -r4.xyz; r2.y = 1 + -r6.w; r4.xyz = r2.yyy * r7.xyz + r4.xyz; r6.yzw = float3(1,1,1) + -r4.xyz; r4.xyz = r1.xxx * r6.yzw + r4.xyz; o0.xyz = r4.xyz * r0.xyz; o1.w = r0.w; o0.w = 1; r0.xy = r3.xy * float2(2,2) + float2(-1,-1); r4.xy = r3.xy + r3.xy; r0.x = dot(r0.xy, r0.xy); r0.x = 1 + -r0.x; r0.x = max(0, r0.x); r4.z = sqrt(r0.x); r0.xyz = float3(-1,-1,-1) + r4.xyz; r0.w = cb3[5].x * r6.x; r1.y = -r1.y * r6.x + 1; r0.xyz = r0.www * r0.xyz + float3(0,0,1); r4.xyz = t33.SampleBias(s14_s, v1.xy, cb1[190].z).wxy; r3.xy = r4.yz * float2(2,2) + float2(-1,-1); r0.w = dot(r3.xy, r3.xy); r0.w = 1 + -r0.w; r0.w = max(0, r0.w); r6.z = sqrt(r0.w); r6.xy = r4.yz + r4.yz; r4.x = saturate(r4.x); r0.w = log2(r4.x); r0.xyzw = float4(-1,-1,1,2.20000005) * r0.xyzw; r0.w = exp2(r0.w); r4.xyz = float3(-1,-1,1) + r6.xyz; r6.xyz = float3(-1,-1,0) + r6.xyz; r2.z = dot(r4.xyz, r0.xyz); r4.xyz = r4.xyz / r4.zzz; r0.xyz = r4.xyz * r2.zzz + -r0.xyz; r0.xyz = float3(0,0,1) + r0.xyz; r3.xy = r1.zw * float2(2,2) + float2(-1,-1); r4.xy = r1.zw + r1.zw; r1.z = dot(r3.xy, r3.xy); r1.z = 1 + -r1.z; r1.z = max(0, r1.z); r4.z = sqrt(r1.z); r4.xyz = float3(-1,-1,-1) + r4.xyz; r1.z = cb3[8].x * r3.z; r4.xyz = r1.zzz * r4.xyz + float3(0,0,1); r4.xyz = float3(-1,-1,1) * r4.xyz; r1.z = dot(r0.xyz, r4.xyz); r0.xyz = r0.xyz / r0.zzz; r0.xyz = r0.xyz * r1.zzz + -r4.xyz; r0.xyz = float3(0,0,1) + r0.xyz; r1.zw = r5.xy * float2(2,2) + float2(-1,-1); r4.xy = r5.xy + r5.xy; r1.z = dot(r1.zw, r1.zw); r1.z = 1 + -r1.z; r1.z = max(0, r1.z); r4.z = sqrt(r1.z); r4.xyz = float3(-1,-1,-1) + r4.xyz; r1.z = cb3[17].x * r3.w; r1.w = -r2.w * r3.z + 1; r1.y = r1.y * r1.w; r1.y = -r1.y * r2.x + 1; r2.xzw = r1.zzz * r4.xyz + float3(0,0,1); r2.xzw = float3(-1,-1,1) * r2.xzw; r1.z = dot(r0.xyz, r2.xzw); r0.xyz = r0.xyz / r0.zzz; r0.xyz = r0.xyz * r1.zzz + -r2.xzw; r2.xzw = r6.xyz + -r0.xyz; r0.xyz = r1.xxx * r2.xzw + r0.xyz; r1.z = dot(v2.xyz, v2.xyz); r1.z = rsqrt(r1.z); r2.xzw = v2.xyz * r1.zzz; r1.z = dot(v3.xyz, v3.xyz); r1.z = rsqrt(r1.z); r3.xyz = v3.xyz * r1.zzz; r4.xyz = r3.zxy * r2.zwx; r4.xyz = r3.yzx * r2.wxz + -r4.xyz; r4.xyz = v3.www * r4.xyz; r4.xyz = r4.xyz * r0.yyy; r2.xzw = r0.xxx * r2.xzw + r4.xyz; r0.xyz = r0.zzz * r3.xyz + r2.xzw; r1.z = dot(r0.xyz, r0.xyz); r1.z = rsqrt(r1.z); r0.xyz = r1.zzz * r0.xyz; o1.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5); r0.xyz = t34.SampleBias(s14_s, v1.xy, cb1[190].z).xyz; o2.xyz = r0.xyz; o2.w = 0; r0.x = r1.y * r0.w; r0.y = -r1.y * r0.w + r0.w; r0.x = r1.x * r0.y + r0.x; r0.y = r0.w + -r0.x; o3.z = r2.y * r0.y + r0.x; o3.xyw = float3(0,0,0); o4.w = 0; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.67 on Fri Dec 15 14:51:34 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float // TEXCOORD 0 xyzw 1 NONE float xy // TEXCOORD 1 xyzw 2 NONE float xyz // TEXCOORD 2 xyzw 3 NONE float xyzw // TEXCOORD 3 x 4 NONE uint x // SV_SampleIndex 0 x 5 SAMPLE uint // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // SV_Target 1 xyzw 1 TARGET float xyzw // SV_Target 2 xyzw 2 TARGET float xyzw // SV_Target 3 xyzw 3 TARGET float xyzw // SV_Target 4 xyzw 4 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb1[191], immediateIndexed dcl_constantbuffer cb2[1], immediateIndexed dcl_constantbuffer cb3[33], immediateIndexed dcl_constantbuffer cb9[1], immediateIndexed dcl_sampler s14, mode_default dcl_resource_buffer (float,float,float,float) t19 dcl_resource_texture2d (float,float,float,float) t32 dcl_resource_texture2d (float,float,float,float) t33 dcl_resource_texture2d (float,float,float,float) t34 dcl_resource_texture2d (float,float,float,float) t36 dcl_resource_texture2d (float,float,float,float) t38 dcl_resource_texture2d (float,float,float,float) t39 dcl_input_ps linear sample v1.xy dcl_input_ps linear sample v2.xyz dcl_input_ps linear sample v3.xyzw dcl_input_ps constant v4.x dcl_output o0.xyzw dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_temps 8 sample_b_indexable(texture2d)(float,float,float,float) r0.xyzw, v1.xyxx, t32.xyzw, s14, cb1[190].z add r1.x, r0.w, -cb3[0].z lt r1.x, r1.x, l(0.000000) discard_nz r1.x imul null, r1.x, v4.x, l(12) ushr r1.x, r1.x, l(2) iadd r1.x, r1.x, cb9[0].y ld_indexable(buffer)(float,float,float,float) r1.x, r1.xxxx, t19.yxzw iadd r1.x, r1.x, l(4) ld_indexable(buffer)(float,float,float,float) r1.xy, r1.xxxx, t19.zwxy ushr r1.z, r1.x, l(16) f16tof32 r2.xyz, r1.xzyx add r1.xyz, r2.xyzx, -cb2[0].xyzx dp3 r1.x, r1.xyzx, r1.xyzx sqrt r1.x, r1.x div r1.x, r1.x, cb3[7].x log r1.x, |r1.x| mul r1.x, r1.x, cb3[19].x exp r1.x, r1.x min r1.x, r1.x, l(1.000000) round_ni r1.y, cb3[16].x mov r2.xy, v1.xyxx mov r2.z, l(1.000000) dp3 r1.z, r2.xyzx, cb3[22].xyzx frc r1.z, r1.z add r1.y, r1.y, r1.z mul r3.x, r1.y, l(0.125000) round_ni r1.y, cb3[18].x dp3 r1.z, r2.xyzx, cb3[23].xyzx frc r1.z, r1.z add r1.y, r1.y, r1.z mul r3.y, r1.y, l(0.250000) sample_b_indexable(texture2d)(float,float,float,float) r1.yzw, r3.xyxx, t38.wxyz, s14, cb1[190].z sample_b_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t39.xyzw, s14, cb1[190].z add r1.yzw, r1.yyzw, l(0.000000, -1.000000, -1.000000, -1.000000) mad r4.xyz, cb3[20].xxxx, r1.yzwy, l(1.000000, 1.000000, 1.000000, 0.000000) mad r1.y, cb3[9].x, r1.y, l(1.000000) round_ni r1.z, cb3[10].x dp3 r1.w, r2.xyzx, cb3[25].xyzx frc r1.w, r1.w add r1.z, r1.z, r1.w mul r5.x, r1.z, l(0.125000) round_ni r1.z, cb3[13].x dp3 r1.w, r2.xyzx, cb3[26].xyzx frc r1.w, r1.w add r1.z, r1.z, r1.w mul r5.y, r1.z, l(0.250000) sample_b_indexable(texture2d)(float,float,float,float) r6.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z sample_b_indexable(texture2d)(float,float,float,float) r1.zw, r5.xyxx, t39.zwxy, s14, cb1[190].z add r5.xyz, r6.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mad r5.yzw, cb3[4].xxxx, r5.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000) mad r2.w, cb3[12].x, r5.x, l(1.000000) sample_b_indexable(texture2d)(float,float,float,float) r3.zw, v1.xyxx, t36.zwxy, s14, cb1[190].z add r6.xyzw, r3.zzzz, l(0.050000, 0.350000, 0.650000, 0.550000) mul r3.z, r3.w, cb3[6].x mul o4.xyz, r0.xyzx, r3.zzzz round_ni r6.xyzw, r6.xyzw add r3.zw, -r6.xxxy, r6.yyyz mul r5.xyz, r3.zzzz, r5.yzwy mad r4.xyz, r4.xyzx, r6.xxxx, r5.xyzx dp3 r4.w, r2.xyzx, cb3[31].xyzx dp3 r2.x, r2.xyzx, cb3[32].xyzx frc r2.x, r2.x frc r2.y, r4.w round_ni r2.z, cb3[15].x add r2.y, r2.z, r2.y mul r5.x, r2.y, l(0.125000) round_ni r2.y, cb3[14].x add r2.x, r2.y, r2.x mul r5.y, r2.x, l(0.250000) sample_b_indexable(texture2d)(float,float,float,float) r2.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z sample_b_indexable(texture2d)(float,float,float,float) r5.xy, r5.xyxx, t39.xyzw, s14, cb1[190].z add r2.xyz, r2.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mad r7.xyz, cb3[21].xxxx, r2.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) mad r2.x, cb3[11].x, r2.x, l(1.000000) mad r2.x, -r2.x, r3.w, l(1.000000) mad r4.xyz, r7.xyzx, r3.wwww, r4.xyzx add r7.xyz, -r4.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) add r2.y, -r6.w, l(1.000000) mad r4.xyz, r2.yyyy, r7.xyzx, r4.xyzx add r6.yzw, -r4.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000) mad r4.xyz, r1.xxxx, r6.yzwy, r4.xyzx mul o0.xyz, r0.xyzx, r4.xyzx mov o1.w, r0.w mov o0.w, l(1.000000) mad r0.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) add r4.xy, r3.xyxx, r3.xyxx dp2 r0.x, r0.xyxx, r0.xyxx add r0.x, -r0.x, l(1.000000) max r0.x, r0.x, l(0.000000) sqrt r4.z, r0.x add r0.xyz, r4.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mul r0.w, r6.x, cb3[5].x mad r1.y, -r1.y, r6.x, l(1.000000) mad r0.xyz, r0.wwww, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) sample_b_indexable(texture2d)(float,float,float,float) r4.xyz, v1.xyxx, t33.wxyz, s14, cb1[190].z mad r3.xy, r4.yzyy, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) dp2 r0.w, r3.xyxx, r3.xyxx add r0.w, -r0.w, l(1.000000) max r0.w, r0.w, l(0.000000) sqrt r6.z, r0.w add r6.xy, r4.yzyy, r4.yzyy mov_sat r4.x, r4.x log r0.w, r4.x mul r0.xyzw, r0.xyzw, l(-1.000000, -1.000000, 1.000000, 2.200000) exp r0.w, r0.w add r4.xyz, r6.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000) add r6.xyz, r6.xyzx, l(-1.000000, -1.000000, 0.000000, 0.000000) dp3 r2.z, r4.xyzx, r0.xyzx div r4.xyz, r4.xyzx, r4.zzzz mad r0.xyz, r4.xyzx, r2.zzzz, -r0.xyzx add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) mad r3.xy, r1.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) add r4.xy, r1.zwzz, r1.zwzz dp2 r1.z, r3.xyxx, r3.xyxx add r1.z, -r1.z, l(1.000000) max r1.z, r1.z, l(0.000000) sqrt r4.z, r1.z add r4.xyz, r4.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mul r1.z, r3.z, cb3[8].x mad r4.xyz, r1.zzzz, r4.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) mul r4.xyz, r4.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000) dp3 r1.z, r0.xyzx, r4.xyzx div r0.xyz, r0.xyzx, r0.zzzz mad r0.xyz, r0.xyzx, r1.zzzz, -r4.xyzx add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) mad r1.zw, r5.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000) add r4.xy, r5.xyxx, r5.xyxx dp2 r1.z, r1.zwzz, r1.zwzz add r1.z, -r1.z, l(1.000000) max r1.z, r1.z, l(0.000000) sqrt r4.z, r1.z add r4.xyz, r4.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mul r1.z, r3.w, cb3[17].x mad r1.w, -r2.w, r3.z, l(1.000000) mul r1.y, r1.w, r1.y mad r1.y, -r1.y, r2.x, l(1.000000) mad r2.xzw, r1.zzzz, r4.xxyz, l(0.000000, 0.000000, 0.000000, 1.000000) mul r2.xzw, r2.xxzw, l(-1.000000, 0.000000, -1.000000, 1.000000) dp3 r1.z, r0.xyzx, r2.xzwx div r0.xyz, r0.xyzx, r0.zzzz mad r0.xyz, r0.xyzx, r1.zzzz, -r2.xzwx add r2.xzw, -r0.xxyz, r6.xxyz mad r0.xyz, r1.xxxx, r2.xzwx, r0.xyzx dp3 r1.z, v2.xyzx, v2.xyzx rsq r1.z, r1.z mul r2.xzw, r1.zzzz, v2.xxyz dp3 r1.z, v3.xyzx, v3.xyzx rsq r1.z, r1.z mul r3.xyz, r1.zzzz, v3.xyzx mul r4.xyz, r2.zwxz, r3.zxyz mad r4.xyz, r3.yzxy, r2.wxzw, -r4.xyzx mul r4.xyz, r4.xyzx, v3.wwww mul r4.xyz, r0.yyyy, r4.xyzx mad r2.xzw, r0.xxxx, r2.xxzw, r4.xxyz mad r0.xyz, r0.zzzz, r3.xyzx, r2.xzwx dp3 r1.z, r0.xyzx, r0.xyzx rsq r1.z, r1.z mul r0.xyz, r0.xyzx, r1.zzzz mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000) sample_b_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t34.xyzw, s14, cb1[190].z mov o2.xyz, r0.xyzx mov o2.w, l(0) mul r0.x, r0.w, r1.y mad r0.y, -r1.y, r0.w, r0.w mad r0.x, r1.x, r0.y, r0.x add r0.y, -r0.x, r0.w mad o3.z, r2.y, r0.y, r0.x mov o3.xyw, l(0,0,0,0) mov o4.w, l(0) ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] I tried to change the values for o0, o1, o3 and/or o4 to 0 but this only changed the color of the strings and didn't remove them. So the halos are still visible. When I want to save the VS I get an error sound and this: [code]// ---- Created with 3Dmigoto v1.2.67 on Fri Dec 15 15:25:29 2017 Buffer<float4> t19 : register(t19); cbuffer cb9 : register(b9) { float4 cb9[1]; } cbuffer cb3 : register(b3) { float4 cb3[4]; } cbuffer cb2 : register(b2) { float4 cb2[23]; } cbuffer cb1 : register(b1) { float4 cb1[1]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( uint v0 : POSITION0, uint v1 : SV_VertexID0, out float4 o0 : SV_Position0, out float4 o1 : TEXCOORD0, out float4 o2 : TEXCOORD1, out float4 o3 : TEXCOORD2, out uint o4 : TEXCOORD3) { // Needs manual fix for instruction: // unknown dcl_: dcl_resource_structured t53, 4 // Needs manual fix for instruction: // unknown dcl_: dcl_input_sgv v1.x, vertex_id float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18,r19,r20,r21,r22; uint4 bitmask, uiDest; float4 fDest; r0.x = (int)v0.x * 12; r0.x = (uint)r0.x >> 2; r0.x = (int)r0.x + asint(cb9[0].y); r0.y = (int)r0.x + 1; r0.xz = t19.Load(r0.x).yw; r0.y = t19.Load(r0.y).x; r0.w = (uint)v1.x << 3; r0.y = (int)r0.w + (int)r0.y; // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.y, r0.y, l(0), t53.xxxx r1.y = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; r2.xyzw = (int4)r0.yyyy + int4(1,2,3,4); r3.xyz = (int3)r0.yyy + int3(5,6,7); // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.w, r2.x, l(0), t53.xxxx r1.w = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; r1.xz = (uint2)r1.yw << int2(16,16); r1.xyzw = (uint4)r1.xyzw >> int4(16,16,16,16); r1.xyzw = (int4)r1.xyzw; r0.y = -r1.w * 3.05180438e-005 + 1; r0.w = cb3[3].w * r0.y; r0.w = 0.0250000004 * r0.w; r1.w = cb3[1].x * cb1[0].x; // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.x, r3.z, l(0), t53.xxxx r4.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; r4.yzw = (uint3)r4.xxx >> int3(8,16,24); r4.xyzw = (int4)r4.xyzw & int4(255,255,255,255); r4.xyzw = (uint4)r4.xyzw; r4.xyzw = float4(0.00392156886,0.00392156886,0.00392156886,0.00392156886) * r4.xyzw; // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.x, r3.y, l(0), t53.xxxx r5.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r3.x, l(0), t53.xxxx r3.y = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; r5.yzw = (uint3)r5.xxx >> int3(8,16,24); r5.xyzw = (int4)r5.xyzw & int4(255,255,255,255); r5.xyzw = mad((int4)r5.xyzw, int4(3,3,3,3), (int4)r0.zzzz); r6.xyzw = t19.Load(r5.x).xyzw; r7.xyzw = (int4)r0.xxxx + int4(1,2,3,4); r8.xyzw = t19.Load(r0.x).xyzw; r0.xz = t19.Load(r7.w).xy; r1.xyz = r1.xyz * r0.xxx; r9.xyz = float3(3.05180438e-005,3.05180438e-005,3.05180438e-005) * r1.xyz; r9.w = 1; r1.x = dot(r6.xyzw, r9.xyzw); r10.xyzw = t19.Load(r5.y).xyzw; r11.x = dot(r10.xyzw, r9.xyzw); r12.xyzw = (int4)r5.xxyy + int4(1,2,1,2); r13.xyzw = t19.Load(r12.z).xyzw; r11.y = dot(r13.xyzw, r9.xyzw); r14.xyzw = t19.Load(r12.w).xyzw; r11.z = dot(r14.xyzw, r9.xyzw); r11.xyz = r11.xyz * r4.yyy; r15.xyzw = t19.Load(r12.x).xyzw; r12.xyzw = t19.Load(r12.y).xyzw; r1.y = dot(r15.xyzw, r9.xyzw); r1.z = dot(r12.xyzw, r9.xyzw); r1.xyz = r1.xyz * r4.xxx + r11.xyz; r11.xyzw = t19.Load(r5.z).xyzw; r16.x = dot(r11.xyzw, r9.xyzw); r17.xyzw = (int4)r5.zzww + int4(1,2,1,2); r5.xyzw = t19.Load(r5.w).xyzw; r18.xyzw = t19.Load(r17.x).xyzw; r16.y = dot(r18.xyzw, r9.xyzw); r19.xyzw = t19.Load(r17.y).xyzw; r16.z = dot(r19.xyzw, r9.xyzw); r1.xyz = r16.xyz * r4.zzz + r1.xyz; r16.x = dot(r5.xyzw, r9.xyzw); r20.xyzw = t19.Load(r17.z).xyzw; r17.xyzw = t19.Load(r17.w).xyzw; r16.y = dot(r20.xyzw, r9.xyzw); r16.z = dot(r17.xyzw, r9.xyzw); r1.xyz = r16.xyz * r4.www + r1.xyz; r9.xyzw = t19.Load(r7.x).xyzw; r16.xyz = r9.xyz * r1.yyy; r16.xyz = r1.xxx * r8.xyz + r16.xyz; r21.xyzw = t19.Load(r7.y).xyzw; r7.xyzw = t19.Load(r7.z).xyzw; r16.xyz = r1.zzz * r21.xyz + r16.xyz; r16.xyz = r16.xyz + r7.xyz; r16.xyz = r16.xyz * cb3[2].xxx + r1.www; r16.xyz = r16.xyz * float3(0.975000024,0.774999976,0.375) + float3(0.5,0.5,0.5); r16.xyz = frac(r16.xyz); r16.xyz = r16.xyz * float3(2,2,2) + float3(-1,-1,-1); r22.xyz = abs(r16.xyz) * abs(r16.xyz); r16.xyz = -abs(r16.xyz) * float3(2,2,2) + float3(3,3,3); r16.xyz = r22.xyz * r16.xyz + float3(-0.5,-0.5,-0.5); r16.xyz = r16.yxx + r16.zzy; r16.xyz = r16.xyz * r0.www; r1.xyz = r16.xyz * float3(0.333330005,0.333330005,0.333330005) + r1.xyz; r1.xyz = cb3[3].xyz * r0.yyy + r1.xyz; r16.xyz = -cb2[22].xyz + r7.xyz; r16.w = r7.w; o2.w = dot(r7.xyz, float3(1,1,1)); r7.w = dot(r16.xyzw, cb2[18].xyzw); r7.x = dot(r8.xyzw, cb2[18].xyzw); r7.y = dot(r9.xyzw, cb2[18].xyzw); r7.z = dot(r21.xyzw, cb2[18].xyzw); r1.w = 1; o0.x = dot(r1.xyzw, r7.xyzw); r7.w = dot(r16.xyzw, cb2[19].xyzw); r7.y = dot(r9.xyzw, cb2[19].xyzw); r7.z = dot(r21.xyzw, cb2[19].xyzw); r7.x = dot(r8.xyzw, cb2[19].xyzw); o0.y = dot(r1.xyzw, r7.xyzw); r7.w = dot(r16.xyzw, cb2[20].xyzw); r16.w = dot(r16.xyzw, cb2[21].xyzw); r7.y = dot(r9.xyzw, cb2[20].xyzw); r7.z = dot(r21.xyzw, cb2[20].xyzw); r7.x = dot(r8.xyzw, cb2[20].xyzw); o0.z = dot(r1.xyzw, r7.xyzw); r16.y = dot(r9.xyzw, cb2[21].xyzw); r16.z = dot(r21.xyzw, cb2[21].xyzw); r16.x = dot(r8.xyzw, cb2[21].xyzw); o0.w = dot(r1.xyzw, r16.xyzw); r3.x = (uint)r3.y << 16; r0.xy = (uint2)r3.xy >> int2(16,16); r0.xy = (int2)r0.xy; r0.xy = r0.xy * r0.zz; o1.xy = float2(3.05180438e-005,3.05180438e-005) * r0.xy; o1.zw = float2(0,0); // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.x, r2.z, l(0), t53.xxxx r0.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; r0.yz = (uint2)r0.xx >> int2(8,16); r0.xyz = (int3)r0.xyz & int3(255,255,255); r0.xyz = (uint3)r0.xyz; r0.xyz = r0.xyz * float3(0.00787401572,0.00787401572,0.00787401572) + float3(-1,-1,-1); r1.y = dot(r15.xyz, r0.xyz); r1.z = dot(r12.xyz, r0.xyz); r1.x = dot(r6.xyz, r0.xyz); r3.y = dot(r13.xyz, r0.xyz); r3.z = dot(r14.xyz, r0.xyz); r3.x = dot(r10.xyz, r0.xyz); r3.xyz = r3.xyz * r4.yyy; r1.xyz = r1.xyz * r4.xxx + r3.xyz; r3.y = dot(r18.xyz, r0.xyz); r3.z = dot(r19.xyz, r0.xyz); r3.x = dot(r11.xyz, r0.xyz); r1.xyz = r3.xyz * r4.zzz + r1.xyz; r3.y = dot(r20.xyz, r0.xyz); r3.z = dot(r17.xyz, r0.xyz); r3.x = dot(r5.xyz, r0.xyz); r0.xyz = r3.xyz * r4.www + r1.xyz; r0.w = dot(r0.xyz, r0.xyz); r0.w = rsqrt(r0.w); r0.xyz = r0.xyz * r0.www; r1.xyz = r0.yyy * r9.xyz; r0.xyw = r0.xxx * r8.xyz + r1.xyz; r0.xyz = r0.zzz * r21.xyz + r0.xyw; o2.xyz = r0.xyz; // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r2.y, l(0), t53.xxxx r1.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; // Missing reflection info for shader. No names possible. // Known bad code for instruction (needs manual fix): ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r2.w, l(0), t53.xxxx r2.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz; r1.yz = (uint2)r1.xx >> int2(8,16); r1.xyz = (int3)r1.xyz & int3(255,255,255); r1.xyz = (uint3)r1.xyz; r1.xyz = r1.xyz * float3(0.00787401572,0.00787401572,0.00787401572) + float3(-1,-1,-1); r3.y = dot(r13.xyz, r1.xyz); r3.z = dot(r14.xyz, r1.xyz); r3.x = dot(r10.xyz, r1.xyz); r3.xyz = r3.xyz * r4.yyy; r7.y = dot(r15.xyz, r1.xyz); r7.z = dot(r12.xyz, r1.xyz); r7.x = dot(r6.xyz, r1.xyz); r3.xyz = r7.xyz * r4.xxx + r3.xyz; r7.y = dot(r18.xyz, r1.xyz); r7.z = dot(r19.xyz, r1.xyz); r7.x = dot(r11.xyz, r1.xyz); r3.xyz = r7.xyz * r4.zzz + r3.xyz; r7.y = dot(r20.xyz, r1.xyz); r7.z = dot(r17.xyz, r1.xyz); r7.x = dot(r5.xyz, r1.xyz); r1.xyz = r7.xyz * r4.www + r3.xyz; r0.w = dot(r1.xyz, r1.xyz); r0.w = rsqrt(r0.w); r1.xyz = r1.xyz * r0.www; r3.xyz = r1.yyy * r9.xyz; r1.xyw = r1.xxx * r8.xyz + r3.xyz; r1.xyz = r1.zzz * r21.xyz + r1.xyw; r3.xyz = r1.zxy * r0.yzx; r0.xyz = r1.yzx * r0.zxy + -r3.xyz; o3.xyz = r1.xyz; r2.yz = (uint2)r2.xx >> int2(8,16); r1.xyz = (int3)r2.xyz & int3(255,255,255); r1.xyz = (uint3)r1.xyz; r1.xyz = r1.xyz * float3(0.00787401572,0.00787401572,0.00787401572) + float3(-1,-1,-1); r2.y = dot(r13.xyz, r1.xyz); r2.z = dot(r14.xyz, r1.xyz); r2.x = dot(r10.xyz, r1.xyz); r2.xyz = r2.xyz * r4.yyy; r3.y = dot(r15.xyz, r1.xyz); r3.z = dot(r12.xyz, r1.xyz); r3.x = dot(r6.xyz, r1.xyz); r2.xyz = r3.xyz * r4.xxx + r2.xyz; r3.y = dot(r18.xyz, r1.xyz); r3.z = dot(r19.xyz, r1.xyz); r3.x = dot(r11.xyz, r1.xyz); r2.xyz = r3.xyz * r4.zzz + r2.xyz; r3.y = dot(r20.xyz, r1.xyz); r3.z = dot(r17.xyz, r1.xyz); r3.x = dot(r5.xyz, r1.xyz); r1.xyz = r3.xyz * r4.www + r2.xyz; r0.w = dot(r1.xyz, r1.xyz); r0.w = rsqrt(r0.w); r1.xyz = r1.xyz * r0.www; r2.xyz = r1.yyy * r9.xyz; r1.xyw = r1.xxx * r8.xyz + r2.xyz; r1.xyz = r1.zzz * r21.xyz + r1.xyw; r0.x = dot(r1.xyz, r0.xyz); r0.y = cmp(0 < r0.x); r0.x = cmp(r0.x < 0); r0.x = (int)-r0.y + (int)r0.x; o3.w = (int)r0.x; o4.x = v0.x; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.67 on Fri Dec 15 15:25:29 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 x 0 NONE uint x // SV_VertexID 0 x 1 VERTID uint x // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xyzw // TEXCOORD 0 xyzw 1 NONE float xyzw // TEXCOORD 1 xyzw 2 NONE float xyzw // TEXCOORD 2 xyzw 3 NONE float xyzw // TEXCOORD 3 x 4 NONE uint x // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb1[1], immediateIndexed dcl_constantbuffer cb2[23], immediateIndexed dcl_constantbuffer cb3[4], immediateIndexed dcl_constantbuffer cb9[1], immediateIndexed dcl_resource_buffer (float,float,float,float) t19 dcl_resource_structured t53, 4 dcl_input v0.x dcl_input_sgv v1.x, vertex_id dcl_output_siv o0.xyzw, position dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.x dcl_temps 23 imul null, r0.x, v0.x, l(12) ushr r0.x, r0.x, l(2) iadd r0.x, r0.x, cb9[0].y iadd r0.y, r0.x, l(1) ld_indexable(buffer)(float,float,float,float) r0.xz, r0.xxxx, t19.yxwz ld_indexable(buffer)(float,float,float,float) r0.y, r0.yyyy, t19.yxzw ishl r0.w, v1.x, l(3) iadd r0.y, r0.w, r0.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.y, r0.y, l(0), t53.xxxx iadd r2.xyzw, r0.yyyy, l(1, 2, 3, 4) iadd r3.xyz, r0.yyyy, l(5, 6, 7, 0) ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.w, r2.x, l(0), t53.xxxx ishl r1.xz, r1.yywy, l(16, 0, 16, 0) ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16) itof r1.xyzw, r1.xyzw mad r0.y, -r1.w, l(0.0000305180438), l(1.000000) mul r0.w, r0.y, cb3[3].w mul r0.w, r0.w, l(0.025000) mul r1.w, cb1[0].x, cb3[1].x ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.x, r3.z, l(0), t53.xxxx ushr r4.yzw, r4.xxxx, l(0, 8, 16, 24) and r4.xyzw, r4.xyzw, l(255, 255, 255, 255) utof r4.xyzw, r4.xyzw mul r4.xyzw, r4.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886) ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.x, r3.y, l(0), t53.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r3.x, l(0), t53.xxxx ushr r5.yzw, r5.xxxx, l(0, 8, 16, 24) and r5.xyzw, r5.xyzw, l(255, 255, 255, 255) imad r5.xyzw, r5.xyzw, l(3, 3, 3, 3), r0.zzzz ld_indexable(buffer)(float,float,float,float) r6.xyzw, r5.xxxx, t19.xyzw iadd r7.xyzw, r0.xxxx, l(1, 2, 3, 4) ld_indexable(buffer)(float,float,float,float) r8.xyzw, r0.xxxx, t19.xyzw ld_indexable(buffer)(float,float,float,float) r0.xz, r7.wwww, t19.xzyw mul r1.xyz, r0.xxxx, r1.xyzx mul r9.xyz, r1.xyzx, l(0.0000305180438, 0.0000305180438, 0.0000305180438, 0.000000) mov r9.w, l(1.000000) dp4 r1.x, r6.xyzw, r9.xyzw ld_indexable(buffer)(float,float,float,float) r10.xyzw, r5.yyyy, t19.xyzw dp4 r11.x, r10.xyzw, r9.xyzw iadd r12.xyzw, r5.xxyy, l(1, 2, 1, 2) ld_indexable(buffer)(float,float,float,float) r13.xyzw, r12.zzzz, t19.xyzw dp4 r11.y, r13.xyzw, r9.xyzw ld_indexable(buffer)(float,float,float,float) r14.xyzw, r12.wwww, t19.xyzw dp4 r11.z, r14.xyzw, r9.xyzw mul r11.xyz, r4.yyyy, r11.xyzx ld_indexable(buffer)(float,float,float,float) r15.xyzw, r12.xxxx, t19.xyzw ld_indexable(buffer)(float,float,float,float) r12.xyzw, r12.yyyy, t19.xyzw dp4 r1.y, r15.xyzw, r9.xyzw dp4 r1.z, r12.xyzw, r9.xyzw mad r1.xyz, r1.xyzx, r4.xxxx, r11.xyzx ld_indexable(buffer)(float,float,float,float) r11.xyzw, r5.zzzz, t19.xyzw dp4 r16.x, r11.xyzw, r9.xyzw iadd r17.xyzw, r5.zzww, l(1, 2, 1, 2) ld_indexable(buffer)(float,float,float,float) r5.xyzw, r5.wwww, t19.xyzw ld_indexable(buffer)(float,float,float,float) r18.xyzw, r17.xxxx, t19.xyzw dp4 r16.y, r18.xyzw, r9.xyzw ld_indexable(buffer)(float,float,float,float) r19.xyzw, r17.yyyy, t19.xyzw dp4 r16.z, r19.xyzw, r9.xyzw mad r1.xyz, r16.xyzx, r4.zzzz, r1.xyzx dp4 r16.x, r5.xyzw, r9.xyzw ld_indexable(buffer)(float,float,float,float) r20.xyzw, r17.zzzz, t19.xyzw ld_indexable(buffer)(float,float,float,float) r17.xyzw, r17.wwww, t19.xyzw dp4 r16.y, r20.xyzw, r9.xyzw dp4 r16.z, r17.xyzw, r9.xyzw mad r1.xyz, r16.xyzx, r4.wwww, r1.xyzx ld_indexable(buffer)(float,float,float,float) r9.xyzw, r7.xxxx, t19.xyzw mul r16.xyz, r1.yyyy, r9.xyzx mad r16.xyz, r1.xxxx, r8.xyzx, r16.xyzx ld_indexable(buffer)(float,float,float,float) r21.xyzw, r7.yyyy, t19.xyzw ld_indexable(buffer)(float,float,float,float) r7.xyzw, r7.zzzz, t19.xyzw mad r16.xyz, r1.zzzz, r21.xyzx, r16.xyzx add r16.xyz, r7.xyzx, r16.xyzx mad r16.xyz, r16.xyzx, cb3[2].xxxx, r1.wwww mad r16.xyz, r16.xyzx, l(0.975000, 0.775000, 0.375000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000) frc r16.xyz, r16.xyzx mad r16.xyz, r16.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) mul r22.xyz, |r16.xyzx|, |r16.xyzx| mad r16.xyz, -|r16.xyzx|, l(2.000000, 2.000000, 2.000000, 0.000000), l(3.000000, 3.000000, 3.000000, 0.000000) mad r16.xyz, r22.xyzx, r16.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000) add r16.xyz, r16.zzyz, r16.yxxy mul r16.xyz, r0.wwww, r16.xyzx mad r1.xyz, r16.xyzx, l(0.333330, 0.333330, 0.333330, 0.000000), r1.xyzx mad r1.xyz, cb3[3].xyzx, r0.yyyy, r1.xyzx add r16.xyz, r7.xyzx, -cb2[22].xyzx mov r16.w, r7.w dp3 o2.w, r7.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) dp4 r7.w, r16.xyzw, cb2[18].xyzw dp4 r7.x, r8.xyzw, cb2[18].xyzw dp4 r7.y, r9.xyzw, cb2[18].xyzw dp4 r7.z, r21.xyzw, cb2[18].xyzw mov r1.w, l(1.000000) dp4 o0.x, r1.xyzw, r7.xyzw dp4 r7.w, r16.xyzw, cb2[19].xyzw dp4 r7.y, r9.xyzw, cb2[19].xyzw dp4 r7.z, r21.xyzw, cb2[19].xyzw dp4 r7.x, r8.xyzw, cb2[19].xyzw dp4 o0.y, r1.xyzw, r7.xyzw dp4 r7.w, r16.xyzw, cb2[20].xyzw dp4 r16.w, r16.xyzw, cb2[21].xyzw dp4 r7.y, r9.xyzw, cb2[20].xyzw dp4 r7.z, r21.xyzw, cb2[20].xyzw dp4 r7.x, r8.xyzw, cb2[20].xyzw dp4 o0.z, r1.xyzw, r7.xyzw dp4 r16.y, r9.xyzw, cb2[21].xyzw dp4 r16.z, r21.xyzw, cb2[21].xyzw dp4 r16.x, r8.xyzw, cb2[21].xyzw dp4 o0.w, r1.xyzw, r16.xyzw ishl r3.x, r3.y, l(16) ishr r0.xy, r3.xyxx, l(16, 16, 0, 0) itof r0.xy, r0.xyxx mul r0.xy, r0.zzzz, r0.xyxx mul o1.xy, r0.xyxx, l(0.0000305180438, 0.0000305180438, 0.000000, 0.000000) mov o1.zw, l(0,0,0,0) ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.x, r2.z, l(0), t53.xxxx ushr r0.yz, r0.xxxx, l(0, 8, 16, 0) and r0.xyz, r0.xyzx, l(255, 255, 255, 0) utof r0.xyz, r0.xyzx mad r0.xyz, r0.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) dp3 r1.y, r15.xyzx, r0.xyzx dp3 r1.z, r12.xyzx, r0.xyzx dp3 r1.x, r6.xyzx, r0.xyzx dp3 r3.y, r13.xyzx, r0.xyzx dp3 r3.z, r14.xyzx, r0.xyzx dp3 r3.x, r10.xyzx, r0.xyzx mul r3.xyz, r4.yyyy, r3.xyzx mad r1.xyz, r1.xyzx, r4.xxxx, r3.xyzx dp3 r3.y, r18.xyzx, r0.xyzx dp3 r3.z, r19.xyzx, r0.xyzx dp3 r3.x, r11.xyzx, r0.xyzx mad r1.xyz, r3.xyzx, r4.zzzz, r1.xyzx dp3 r3.y, r20.xyzx, r0.xyzx dp3 r3.z, r17.xyzx, r0.xyzx dp3 r3.x, r5.xyzx, r0.xyzx mad r0.xyz, r3.xyzx, r4.wwww, r1.xyzx dp3 r0.w, r0.xyzx, r0.xyzx rsq r0.w, r0.w mul r0.xyz, r0.wwww, r0.xyzx mul r1.xyz, r9.xyzx, r0.yyyy mad r0.xyw, r0.xxxx, r8.xyxz, r1.xyxz mad r0.xyz, r0.zzzz, r21.xyzx, r0.xywx mov o2.xyz, r0.xyzx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r2.y, l(0), t53.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r2.w, l(0), t53.xxxx ushr r1.yz, r1.xxxx, l(0, 8, 16, 0) and r1.xyz, r1.xyzx, l(255, 255, 255, 0) utof r1.xyz, r1.xyzx mad r1.xyz, r1.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) dp3 r3.y, r13.xyzx, r1.xyzx dp3 r3.z, r14.xyzx, r1.xyzx dp3 r3.x, r10.xyzx, r1.xyzx mul r3.xyz, r4.yyyy, r3.xyzx dp3 r7.y, r15.xyzx, r1.xyzx dp3 r7.z, r12.xyzx, r1.xyzx dp3 r7.x, r6.xyzx, r1.xyzx mad r3.xyz, r7.xyzx, r4.xxxx, r3.xyzx dp3 r7.y, r18.xyzx, r1.xyzx dp3 r7.z, r19.xyzx, r1.xyzx dp3 r7.x, r11.xyzx, r1.xyzx mad r3.xyz, r7.xyzx, r4.zzzz, r3.xyzx dp3 r7.y, r20.xyzx, r1.xyzx dp3 r7.z, r17.xyzx, r1.xyzx dp3 r7.x, r5.xyzx, r1.xyzx mad r1.xyz, r7.xyzx, r4.wwww, r3.xyzx dp3 r0.w, r1.xyzx, r1.xyzx rsq r0.w, r0.w mul r1.xyz, r0.wwww, r1.xyzx mul r3.xyz, r9.xyzx, r1.yyyy mad r1.xyw, r1.xxxx, r8.xyxz, r3.xyxz mad r1.xyz, r1.zzzz, r21.xyzx, r1.xywx mul r3.xyz, r0.yzxy, r1.zxyz mad r0.xyz, r1.yzxy, r0.zxyz, -r3.xyzx mov o3.xyz, r1.xyzx ushr r2.yz, r2.xxxx, l(0, 8, 16, 0) and r1.xyz, r2.xyzx, l(255, 255, 255, 0) utof r1.xyz, r1.xyzx mad r1.xyz, r1.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) dp3 r2.y, r13.xyzx, r1.xyzx dp3 r2.z, r14.xyzx, r1.xyzx dp3 r2.x, r10.xyzx, r1.xyzx mul r2.xyz, r4.yyyy, r2.xyzx dp3 r3.y, r15.xyzx, r1.xyzx dp3 r3.z, r12.xyzx, r1.xyzx dp3 r3.x, r6.xyzx, r1.xyzx mad r2.xyz, r3.xyzx, r4.xxxx, r2.xyzx dp3 r3.y, r18.xyzx, r1.xyzx dp3 r3.z, r19.xyzx, r1.xyzx dp3 r3.x, r11.xyzx, r1.xyzx mad r2.xyz, r3.xyzx, r4.zzzz, r2.xyzx dp3 r3.y, r20.xyzx, r1.xyzx dp3 r3.z, r17.xyzx, r1.xyzx dp3 r3.x, r5.xyzx, r1.xyzx mad r1.xyz, r3.xyzx, r4.wwww, r2.xyzx dp3 r0.w, r1.xyzx, r1.xyzx rsq r0.w, r0.w mul r1.xyz, r0.wwww, r1.xyzx mul r2.xyz, r9.xyzx, r1.yyyy mad r1.xyw, r1.xxxx, r8.xyxz, r2.xyxz mad r1.xyz, r1.zzzz, r21.xyzx, r1.xywx dp3 r0.x, r1.xyzx, r0.xyzx lt r0.y, l(0.000000), r0.x lt r0.x, r0.x, l(0.000000) iadd r0.x, -r0.y, r0.x itof o3.w, r0.x mov o4.x, v0.x ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] I tried to change the value for o0 to 0 (o0.x = 0; etc.) but when I try to reload this VS I get again an error sound and nothing changes. I guess this is because of [code]// Needs manual fix for instruction: // unknown dcl_: dcl_resource_structured t53, 4 // Needs manual fix for instruction: // unknown dcl_: dcl_input_sgv v1.x, vertex_id[/code] I don't want to "fix" this shader but only disable it. Is there a simple/"dirty" way to do that like the empty vs_3_0 shaders in Helixmod? I would even be happy to switch to hunting mode and disable the shader this way. But then I have the hunting overlay all the time. Is there a way to disable the 3Dmigoto overlay? I also tried the older versions of 3Dmigoto without the overlay but they could not catch and disable the wanted PS or VS. Any suggestions are welcome :)
I have a question which seems to be quite simple and therefore it is very frustrating that I can't solve the issue. I just bought "Steep" and it offers acceptable results in CM with the profile for "For Honor". But what is quite annoying are the halos caused by the strings when paragliding. So I just want to remove them with 3Dmigoto. I could identify both the PS and VS. But I can't modify them to disable the strings.
This is the PS:
// ---- Created with 3Dmigoto v1.2.67 on Fri Dec 15 14:51:34 2017
Texture2D<float4> t39 : register(t39);

Texture2D<float4> t38 : register(t38);

Texture2D<float4> t36 : register(t36);

Texture2D<float4> t34 : register(t34);

Texture2D<float4> t33 : register(t33);

Texture2D<float4> t32 : register(t32);

Buffer<float4> t19 : register(t19);

SamplerState s14_s : register(s14);

cbuffer cb9 : register(b9)
{
float4 cb9[1];
}

cbuffer cb3 : register(b3)
{
float4 cb3[33];
}

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

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




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


void main(
float4 v0 : SV_Position0,
linear sample float4 v1 : TEXCOORD0,
linear sample float4 v2 : TEXCOORD1,
linear sample float4 v3 : TEXCOORD2,
nointerpolation uint v4 : TEXCOORD3,
uint v5 : SV_SampleIndex0,
out float4 o0 : SV_Target0,
out float4 o1 : SV_Target1,
out float4 o2 : SV_Target2,
out float4 o3 : SV_Target3,
out float4 o4 : SV_Target4)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyzw = t32.SampleBias(s14_s, v1.xy, cb1[190].z).xyzw;
r1.x = -cb3[0].z + r0.w;
r1.x = cmp(r1.x < 0);
if (r1.x != 0) discard;
r1.x = (int)v4.x * 12;
r1.x = (uint)r1.x >> 2;
r1.x = (int)r1.x + asint(cb9[0].y);
r1.x = t19.Load(r1.x).y;
r1.x = (int)r1.x + 4;
r1.xy = t19.Load(r1.x).zw;
r1.z = (uint)r1.x >> 16;
r2.xyz = f16tof32(r1.xzy);
r1.xyz = -cb2[0].xyz + r2.xyz;
r1.x = dot(r1.xyz, r1.xyz);
r1.x = sqrt(r1.x);
r1.x = r1.x / cb3[7].x;
r1.x = log2(abs(r1.x));
r1.x = cb3[19].x * r1.x;
r1.x = exp2(r1.x);
r1.x = min(1, r1.x);
r1.y = floor(cb3[16].x);
r2.xy = v1.xy;
r2.z = 1;
r1.z = dot(r2.xyz, cb3[22].xyz);
r1.z = frac(r1.z);
r1.y = r1.z + r1.y;
r3.x = 0.125 * r1.y;
r1.y = floor(cb3[18].x);
r1.z = dot(r2.xyz, cb3[23].xyz);
r1.z = frac(r1.z);
r1.y = r1.z + r1.y;
r3.y = 0.25 * r1.y;
r1.yzw = t38.SampleBias(s14_s, r3.xy, cb1[190].z).xyz;
r3.xy = t39.SampleBias(s14_s, r3.xy, cb1[190].z).xy;
r1.yzw = float3(-1,-1,-1) + r1.yzw;
r4.xyz = cb3[20].xxx * r1.yzw + float3(1,1,1);
r1.y = cb3[9].x * r1.y + 1;
r1.z = floor(cb3[10].x);
r1.w = dot(r2.xyz, cb3[25].xyz);
r1.w = frac(r1.w);
r1.z = r1.w + r1.z;
r5.x = 0.125 * r1.z;
r1.z = floor(cb3[13].x);
r1.w = dot(r2.xyz, cb3[26].xyz);
r1.w = frac(r1.w);
r1.z = r1.w + r1.z;
r5.y = 0.25 * r1.z;
r6.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz;
r1.zw = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy;
r5.xyz = float3(-1,-1,-1) + r6.xyz;
r5.yzw = cb3[4].xxx * r5.xyz + float3(1,1,1);
r2.w = cb3[12].x * r5.x + 1;
r3.zw = t36.SampleBias(s14_s, v1.xy, cb1[190].z).xy;
r6.xyzw = float4(0.0500000007,0.349999994,0.649999976,0.550000012) + r3.zzzz;
r3.z = cb3[6].x * r3.w;
o4.xyz = r3.zzz * r0.xyz;
r6.xyzw = floor(r6.xyzw);
r3.zw = r6.yz + -r6.xy;
r5.xyz = r5.yzw * r3.zzz;
r4.xyz = r4.xyz * r6.xxx + r5.xyz;
r4.w = dot(r2.xyz, cb3[31].xyz);
r2.x = dot(r2.xyz, cb3[32].xyz);
r2.x = frac(r2.x);
r2.y = frac(r4.w);
r2.z = floor(cb3[15].x);
r2.y = r2.y + r2.z;
r5.x = 0.125 * r2.y;
r2.y = floor(cb3[14].x);
r2.x = r2.x + r2.y;
r5.y = 0.25 * r2.x;
r2.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz;
r5.xy = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy;
r2.xyz = float3(-1,-1,-1) + r2.xyz;
r7.xyz = cb3[21].xxx * r2.xyz + float3(1,1,1);
r2.x = cb3[11].x * r2.x + 1;
r2.x = -r2.x * r3.w + 1;
r4.xyz = r7.xyz * r3.www + r4.xyz;
r7.xyz = float3(1,1,1) + -r4.xyz;
r2.y = 1 + -r6.w;
r4.xyz = r2.yyy * r7.xyz + r4.xyz;
r6.yzw = float3(1,1,1) + -r4.xyz;
r4.xyz = r1.xxx * r6.yzw + r4.xyz;
o0.xyz = r4.xyz * r0.xyz;
o1.w = r0.w;
o0.w = 1;
r0.xy = r3.xy * float2(2,2) + float2(-1,-1);
r4.xy = r3.xy + r3.xy;
r0.x = dot(r0.xy, r0.xy);
r0.x = 1 + -r0.x;
r0.x = max(0, r0.x);
r4.z = sqrt(r0.x);
r0.xyz = float3(-1,-1,-1) + r4.xyz;
r0.w = cb3[5].x * r6.x;
r1.y = -r1.y * r6.x + 1;
r0.xyz = r0.www * r0.xyz + float3(0,0,1);
r4.xyz = t33.SampleBias(s14_s, v1.xy, cb1[190].z).wxy;
r3.xy = r4.yz * float2(2,2) + float2(-1,-1);
r0.w = dot(r3.xy, r3.xy);
r0.w = 1 + -r0.w;
r0.w = max(0, r0.w);
r6.z = sqrt(r0.w);
r6.xy = r4.yz + r4.yz;
r4.x = saturate(r4.x);
r0.w = log2(r4.x);
r0.xyzw = float4(-1,-1,1,2.20000005) * r0.xyzw;
r0.w = exp2(r0.w);
r4.xyz = float3(-1,-1,1) + r6.xyz;
r6.xyz = float3(-1,-1,0) + r6.xyz;
r2.z = dot(r4.xyz, r0.xyz);
r4.xyz = r4.xyz / r4.zzz;
r0.xyz = r4.xyz * r2.zzz + -r0.xyz;
r0.xyz = float3(0,0,1) + r0.xyz;
r3.xy = r1.zw * float2(2,2) + float2(-1,-1);
r4.xy = r1.zw + r1.zw;
r1.z = dot(r3.xy, r3.xy);
r1.z = 1 + -r1.z;
r1.z = max(0, r1.z);
r4.z = sqrt(r1.z);
r4.xyz = float3(-1,-1,-1) + r4.xyz;
r1.z = cb3[8].x * r3.z;
r4.xyz = r1.zzz * r4.xyz + float3(0,0,1);
r4.xyz = float3(-1,-1,1) * r4.xyz;
r1.z = dot(r0.xyz, r4.xyz);
r0.xyz = r0.xyz / r0.zzz;
r0.xyz = r0.xyz * r1.zzz + -r4.xyz;
r0.xyz = float3(0,0,1) + r0.xyz;
r1.zw = r5.xy * float2(2,2) + float2(-1,-1);
r4.xy = r5.xy + r5.xy;
r1.z = dot(r1.zw, r1.zw);
r1.z = 1 + -r1.z;
r1.z = max(0, r1.z);
r4.z = sqrt(r1.z);
r4.xyz = float3(-1,-1,-1) + r4.xyz;
r1.z = cb3[17].x * r3.w;
r1.w = -r2.w * r3.z + 1;
r1.y = r1.y * r1.w;
r1.y = -r1.y * r2.x + 1;
r2.xzw = r1.zzz * r4.xyz + float3(0,0,1);
r2.xzw = float3(-1,-1,1) * r2.xzw;
r1.z = dot(r0.xyz, r2.xzw);
r0.xyz = r0.xyz / r0.zzz;
r0.xyz = r0.xyz * r1.zzz + -r2.xzw;
r2.xzw = r6.xyz + -r0.xyz;
r0.xyz = r1.xxx * r2.xzw + r0.xyz;
r1.z = dot(v2.xyz, v2.xyz);
r1.z = rsqrt(r1.z);
r2.xzw = v2.xyz * r1.zzz;
r1.z = dot(v3.xyz, v3.xyz);
r1.z = rsqrt(r1.z);
r3.xyz = v3.xyz * r1.zzz;
r4.xyz = r3.zxy * r2.zwx;
r4.xyz = r3.yzx * r2.wxz + -r4.xyz;
r4.xyz = v3.www * r4.xyz;
r4.xyz = r4.xyz * r0.yyy;
r2.xzw = r0.xxx * r2.xzw + r4.xyz;
r0.xyz = r0.zzz * r3.xyz + r2.xzw;
r1.z = dot(r0.xyz, r0.xyz);
r1.z = rsqrt(r1.z);
r0.xyz = r1.zzz * r0.xyz;
o1.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5);
r0.xyz = t34.SampleBias(s14_s, v1.xy, cb1[190].z).xyz;
o2.xyz = r0.xyz;
o2.w = 0;
r0.x = r1.y * r0.w;
r0.y = -r1.y * r0.w + r0.w;
r0.x = r1.x * r0.y + r0.x;
r0.y = r0.w + -r0.x;
o3.z = r2.y * r0.y + r0.x;
o3.xyw = float3(0,0,0);
o4.w = 0;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.67 on Fri Dec 15 14:51:34 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xyzw 1 NONE float xy
// TEXCOORD 1 xyzw 2 NONE float xyz
// TEXCOORD 2 xyzw 3 NONE float xyzw
// TEXCOORD 3 x 4 NONE uint x
// SV_SampleIndex 0 x 5 SAMPLE uint
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
// SV_Target 1 xyzw 1 TARGET float xyzw
// SV_Target 2 xyzw 2 TARGET float xyzw
// SV_Target 3 xyzw 3 TARGET float xyzw
// SV_Target 4 xyzw 4 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[191], immediateIndexed
dcl_constantbuffer cb2[1], immediateIndexed
dcl_constantbuffer cb3[33], immediateIndexed
dcl_constantbuffer cb9[1], immediateIndexed
dcl_sampler s14, mode_default
dcl_resource_buffer (float,float,float,float) t19
dcl_resource_texture2d (float,float,float,float) t32
dcl_resource_texture2d (float,float,float,float) t33
dcl_resource_texture2d (float,float,float,float) t34
dcl_resource_texture2d (float,float,float,float) t36
dcl_resource_texture2d (float,float,float,float) t38
dcl_resource_texture2d (float,float,float,float) t39
dcl_input_ps linear sample v1.xy
dcl_input_ps linear sample v2.xyz
dcl_input_ps linear sample v3.xyzw
dcl_input_ps constant v4.x
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_temps 8
sample_b_indexable(texture2d)(float,float,float,float) r0.xyzw, v1.xyxx, t32.xyzw, s14, cb1[190].z
add r1.x, r0.w, -cb3[0].z
lt r1.x, r1.x, l(0.000000)
discard_nz r1.x
imul null, r1.x, v4.x, l(12)
ushr r1.x, r1.x, l(2)
iadd r1.x, r1.x, cb9[0].y
ld_indexable(buffer)(float,float,float,float) r1.x, r1.xxxx, t19.yxzw
iadd r1.x, r1.x, l(4)
ld_indexable(buffer)(float,float,float,float) r1.xy, r1.xxxx, t19.zwxy
ushr r1.z, r1.x, l(16)
f16tof32 r2.xyz, r1.xzyx
add r1.xyz, r2.xyzx, -cb2[0].xyzx
dp3 r1.x, r1.xyzx, r1.xyzx
sqrt r1.x, r1.x
div r1.x, r1.x, cb3[7].x
log r1.x, |r1.x|
mul r1.x, r1.x, cb3[19].x
exp r1.x, r1.x
min r1.x, r1.x, l(1.000000)
round_ni r1.y, cb3[16].x
mov r2.xy, v1.xyxx
mov r2.z, l(1.000000)
dp3 r1.z, r2.xyzx, cb3[22].xyzx
frc r1.z, r1.z
add r1.y, r1.y, r1.z
mul r3.x, r1.y, l(0.125000)
round_ni r1.y, cb3[18].x
dp3 r1.z, r2.xyzx, cb3[23].xyzx
frc r1.z, r1.z
add r1.y, r1.y, r1.z
mul r3.y, r1.y, l(0.250000)
sample_b_indexable(texture2d)(float,float,float,float) r1.yzw, r3.xyxx, t38.wxyz, s14, cb1[190].z
sample_b_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t39.xyzw, s14, cb1[190].z
add r1.yzw, r1.yyzw, l(0.000000, -1.000000, -1.000000, -1.000000)
mad r4.xyz, cb3[20].xxxx, r1.yzwy, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r1.y, cb3[9].x, r1.y, l(1.000000)
round_ni r1.z, cb3[10].x
dp3 r1.w, r2.xyzx, cb3[25].xyzx
frc r1.w, r1.w
add r1.z, r1.z, r1.w
mul r5.x, r1.z, l(0.125000)
round_ni r1.z, cb3[13].x
dp3 r1.w, r2.xyzx, cb3[26].xyzx
frc r1.w, r1.w
add r1.z, r1.z, r1.w
mul r5.y, r1.z, l(0.250000)
sample_b_indexable(texture2d)(float,float,float,float) r6.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z
sample_b_indexable(texture2d)(float,float,float,float) r1.zw, r5.xyxx, t39.zwxy, s14, cb1[190].z
add r5.xyz, r6.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r5.yzw, cb3[4].xxxx, r5.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mad r2.w, cb3[12].x, r5.x, l(1.000000)
sample_b_indexable(texture2d)(float,float,float,float) r3.zw, v1.xyxx, t36.zwxy, s14, cb1[190].z
add r6.xyzw, r3.zzzz, l(0.050000, 0.350000, 0.650000, 0.550000)
mul r3.z, r3.w, cb3[6].x
mul o4.xyz, r0.xyzx, r3.zzzz
round_ni r6.xyzw, r6.xyzw
add r3.zw, -r6.xxxy, r6.yyyz
mul r5.xyz, r3.zzzz, r5.yzwy
mad r4.xyz, r4.xyzx, r6.xxxx, r5.xyzx
dp3 r4.w, r2.xyzx, cb3[31].xyzx
dp3 r2.x, r2.xyzx, cb3[32].xyzx
frc r2.x, r2.x
frc r2.y, r4.w
round_ni r2.z, cb3[15].x
add r2.y, r2.z, r2.y
mul r5.x, r2.y, l(0.125000)
round_ni r2.y, cb3[14].x
add r2.x, r2.y, r2.x
mul r5.y, r2.x, l(0.250000)
sample_b_indexable(texture2d)(float,float,float,float) r2.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z
sample_b_indexable(texture2d)(float,float,float,float) r5.xy, r5.xyxx, t39.xyzw, s14, cb1[190].z
add r2.xyz, r2.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r7.xyz, cb3[21].xxxx, r2.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r2.x, cb3[11].x, r2.x, l(1.000000)
mad r2.x, -r2.x, r3.w, l(1.000000)
mad r4.xyz, r7.xyzx, r3.wwww, r4.xyzx
add r7.xyz, -r4.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
add r2.y, -r6.w, l(1.000000)
mad r4.xyz, r2.yyyy, r7.xyzx, r4.xyzx
add r6.yzw, -r4.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mad r4.xyz, r1.xxxx, r6.yzwy, r4.xyzx
mul o0.xyz, r0.xyzx, r4.xyzx
mov o1.w, r0.w
mov o0.w, l(1.000000)
mad r0.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
add r4.xy, r3.xyxx, r3.xyxx
dp2 r0.x, r0.xyxx, r0.xyxx
add r0.x, -r0.x, l(1.000000)
max r0.x, r0.x, l(0.000000)
sqrt r4.z, r0.x
add r0.xyz, r4.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r0.w, r6.x, cb3[5].x
mad r1.y, -r1.y, r6.x, l(1.000000)
mad r0.xyz, r0.wwww, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r4.xyz, v1.xyxx, t33.wxyz, s14, cb1[190].z
mad r3.xy, r4.yzyy, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r0.w, r3.xyxx, r3.xyxx
add r0.w, -r0.w, l(1.000000)
max r0.w, r0.w, l(0.000000)
sqrt r6.z, r0.w
add r6.xy, r4.yzyy, r4.yzyy
mov_sat r4.x, r4.x
log r0.w, r4.x
mul r0.xyzw, r0.xyzw, l(-1.000000, -1.000000, 1.000000, 2.200000)
exp r0.w, r0.w
add r4.xyz, r6.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000)
add r6.xyz, r6.xyzx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp3 r2.z, r4.xyzx, r0.xyzx
div r4.xyz, r4.xyzx, r4.zzzz
mad r0.xyz, r4.xyzx, r2.zzzz, -r0.xyzx
add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mad r3.xy, r1.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
add r4.xy, r1.zwzz, r1.zwzz
dp2 r1.z, r3.xyxx, r3.xyxx
add r1.z, -r1.z, l(1.000000)
max r1.z, r1.z, l(0.000000)
sqrt r4.z, r1.z
add r4.xyz, r4.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r1.z, r3.z, cb3[8].x
mad r4.xyz, r1.zzzz, r4.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul r4.xyz, r4.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000)
dp3 r1.z, r0.xyzx, r4.xyzx
div r0.xyz, r0.xyzx, r0.zzzz
mad r0.xyz, r0.xyzx, r1.zzzz, -r4.xyzx
add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mad r1.zw, r5.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
add r4.xy, r5.xyxx, r5.xyxx
dp2 r1.z, r1.zwzz, r1.zwzz
add r1.z, -r1.z, l(1.000000)
max r1.z, r1.z, l(0.000000)
sqrt r4.z, r1.z
add r4.xyz, r4.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r1.z, r3.w, cb3[17].x
mad r1.w, -r2.w, r3.z, l(1.000000)
mul r1.y, r1.w, r1.y
mad r1.y, -r1.y, r2.x, l(1.000000)
mad r2.xzw, r1.zzzz, r4.xxyz, l(0.000000, 0.000000, 0.000000, 1.000000)
mul r2.xzw, r2.xxzw, l(-1.000000, 0.000000, -1.000000, 1.000000)
dp3 r1.z, r0.xyzx, r2.xzwx
div r0.xyz, r0.xyzx, r0.zzzz
mad r0.xyz, r0.xyzx, r1.zzzz, -r2.xzwx
add r2.xzw, -r0.xxyz, r6.xxyz
mad r0.xyz, r1.xxxx, r2.xzwx, r0.xyzx
dp3 r1.z, v2.xyzx, v2.xyzx
rsq r1.z, r1.z
mul r2.xzw, r1.zzzz, v2.xxyz
dp3 r1.z, v3.xyzx, v3.xyzx
rsq r1.z, r1.z
mul r3.xyz, r1.zzzz, v3.xyzx
mul r4.xyz, r2.zwxz, r3.zxyz
mad r4.xyz, r3.yzxy, r2.wxzw, -r4.xyzx
mul r4.xyz, r4.xyzx, v3.wwww
mul r4.xyz, r0.yyyy, r4.xyzx
mad r2.xzw, r0.xxxx, r2.xxzw, r4.xxyz
mad r0.xyz, r0.zzzz, r3.xyzx, r2.xzwx
dp3 r1.z, r0.xyzx, r0.xyzx
rsq r1.z, r1.z
mul r0.xyz, r0.xyzx, r1.zzzz
mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t34.xyzw, s14, cb1[190].z
mov o2.xyz, r0.xyzx
mov o2.w, l(0)
mul r0.x, r0.w, r1.y
mad r0.y, -r1.y, r0.w, r0.w
mad r0.x, r1.x, r0.y, r0.x
add r0.y, -r0.x, r0.w
mad o3.z, r2.y, r0.y, r0.x
mov o3.xyw, l(0,0,0,0)
mov o4.w, l(0)
ret
// Approximately 0 instruction slots used

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

I tried to change the values for o0, o1, o3 and/or o4 to 0 but this only changed the color of the strings and didn't remove them. So the halos are still visible.

When I want to save the VS I get an error sound and this:
// ---- Created with 3Dmigoto v1.2.67 on Fri Dec 15 15:25:29 2017
Buffer<float4> t19 : register(t19);

cbuffer cb9 : register(b9)
{
float4 cb9[1];
}

cbuffer cb3 : register(b3)
{
float4 cb3[4];
}

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

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




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


void main(
uint v0 : POSITION0,
uint v1 : SV_VertexID0,
out float4 o0 : SV_Position0,
out float4 o1 : TEXCOORD0,
out float4 o2 : TEXCOORD1,
out float4 o3 : TEXCOORD2,
out uint o4 : TEXCOORD3)
{
// Needs manual fix for instruction:
// unknown dcl_: dcl_resource_structured t53, 4
// Needs manual fix for instruction:
// unknown dcl_: dcl_input_sgv v1.x, vertex_id
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18,r19,r20,r21,r22;
uint4 bitmask, uiDest;
float4 fDest;

r0.x = (int)v0.x * 12;
r0.x = (uint)r0.x >> 2;
r0.x = (int)r0.x + asint(cb9[0].y);
r0.y = (int)r0.x + 1;
r0.xz = t19.Load(r0.x).yw;
r0.y = t19.Load(r0.y).x;
r0.w = (uint)v1.x << 3;
r0.y = (int)r0.w + (int)r0.y;
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.y, r0.y, l(0), t53.xxxx
r1.y = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
r2.xyzw = (int4)r0.yyyy + int4(1,2,3,4);
r3.xyz = (int3)r0.yyy + int3(5,6,7);
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.w, r2.x, l(0), t53.xxxx
r1.w = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
r1.xz = (uint2)r1.yw << int2(16,16);
r1.xyzw = (uint4)r1.xyzw >> int4(16,16,16,16);
r1.xyzw = (int4)r1.xyzw;
r0.y = -r1.w * 3.05180438e-005 + 1;
r0.w = cb3[3].w * r0.y;
r0.w = 0.0250000004 * r0.w;
r1.w = cb3[1].x * cb1[0].x;
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.x, r3.z, l(0), t53.xxxx
r4.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
r4.yzw = (uint3)r4.xxx >> int3(8,16,24);
r4.xyzw = (int4)r4.xyzw & int4(255,255,255,255);
r4.xyzw = (uint4)r4.xyzw;
r4.xyzw = float4(0.00392156886,0.00392156886,0.00392156886,0.00392156886) * r4.xyzw;
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.x, r3.y, l(0), t53.xxxx
r5.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r3.x, l(0), t53.xxxx
r3.y = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
r5.yzw = (uint3)r5.xxx >> int3(8,16,24);
r5.xyzw = (int4)r5.xyzw & int4(255,255,255,255);
r5.xyzw = mad((int4)r5.xyzw, int4(3,3,3,3), (int4)r0.zzzz);
r6.xyzw = t19.Load(r5.x).xyzw;
r7.xyzw = (int4)r0.xxxx + int4(1,2,3,4);
r8.xyzw = t19.Load(r0.x).xyzw;
r0.xz = t19.Load(r7.w).xy;
r1.xyz = r1.xyz * r0.xxx;
r9.xyz = float3(3.05180438e-005,3.05180438e-005,3.05180438e-005) * r1.xyz;
r9.w = 1;
r1.x = dot(r6.xyzw, r9.xyzw);
r10.xyzw = t19.Load(r5.y).xyzw;
r11.x = dot(r10.xyzw, r9.xyzw);
r12.xyzw = (int4)r5.xxyy + int4(1,2,1,2);
r13.xyzw = t19.Load(r12.z).xyzw;
r11.y = dot(r13.xyzw, r9.xyzw);
r14.xyzw = t19.Load(r12.w).xyzw;
r11.z = dot(r14.xyzw, r9.xyzw);
r11.xyz = r11.xyz * r4.yyy;
r15.xyzw = t19.Load(r12.x).xyzw;
r12.xyzw = t19.Load(r12.y).xyzw;
r1.y = dot(r15.xyzw, r9.xyzw);
r1.z = dot(r12.xyzw, r9.xyzw);
r1.xyz = r1.xyz * r4.xxx + r11.xyz;
r11.xyzw = t19.Load(r5.z).xyzw;
r16.x = dot(r11.xyzw, r9.xyzw);
r17.xyzw = (int4)r5.zzww + int4(1,2,1,2);
r5.xyzw = t19.Load(r5.w).xyzw;
r18.xyzw = t19.Load(r17.x).xyzw;
r16.y = dot(r18.xyzw, r9.xyzw);
r19.xyzw = t19.Load(r17.y).xyzw;
r16.z = dot(r19.xyzw, r9.xyzw);
r1.xyz = r16.xyz * r4.zzz + r1.xyz;
r16.x = dot(r5.xyzw, r9.xyzw);
r20.xyzw = t19.Load(r17.z).xyzw;
r17.xyzw = t19.Load(r17.w).xyzw;
r16.y = dot(r20.xyzw, r9.xyzw);
r16.z = dot(r17.xyzw, r9.xyzw);
r1.xyz = r16.xyz * r4.www + r1.xyz;
r9.xyzw = t19.Load(r7.x).xyzw;
r16.xyz = r9.xyz * r1.yyy;
r16.xyz = r1.xxx * r8.xyz + r16.xyz;
r21.xyzw = t19.Load(r7.y).xyzw;
r7.xyzw = t19.Load(r7.z).xyzw;
r16.xyz = r1.zzz * r21.xyz + r16.xyz;
r16.xyz = r16.xyz + r7.xyz;
r16.xyz = r16.xyz * cb3[2].xxx + r1.www;
r16.xyz = r16.xyz * float3(0.975000024,0.774999976,0.375) + float3(0.5,0.5,0.5);
r16.xyz = frac(r16.xyz);
r16.xyz = r16.xyz * float3(2,2,2) + float3(-1,-1,-1);
r22.xyz = abs(r16.xyz) * abs(r16.xyz);
r16.xyz = -abs(r16.xyz) * float3(2,2,2) + float3(3,3,3);
r16.xyz = r22.xyz * r16.xyz + float3(-0.5,-0.5,-0.5);
r16.xyz = r16.yxx + r16.zzy;
r16.xyz = r16.xyz * r0.www;
r1.xyz = r16.xyz * float3(0.333330005,0.333330005,0.333330005) + r1.xyz;
r1.xyz = cb3[3].xyz * r0.yyy + r1.xyz;
r16.xyz = -cb2[22].xyz + r7.xyz;
r16.w = r7.w;
o2.w = dot(r7.xyz, float3(1,1,1));
r7.w = dot(r16.xyzw, cb2[18].xyzw);
r7.x = dot(r8.xyzw, cb2[18].xyzw);
r7.y = dot(r9.xyzw, cb2[18].xyzw);
r7.z = dot(r21.xyzw, cb2[18].xyzw);
r1.w = 1;
o0.x = dot(r1.xyzw, r7.xyzw);
r7.w = dot(r16.xyzw, cb2[19].xyzw);
r7.y = dot(r9.xyzw, cb2[19].xyzw);
r7.z = dot(r21.xyzw, cb2[19].xyzw);
r7.x = dot(r8.xyzw, cb2[19].xyzw);
o0.y = dot(r1.xyzw, r7.xyzw);
r7.w = dot(r16.xyzw, cb2[20].xyzw);
r16.w = dot(r16.xyzw, cb2[21].xyzw);
r7.y = dot(r9.xyzw, cb2[20].xyzw);
r7.z = dot(r21.xyzw, cb2[20].xyzw);
r7.x = dot(r8.xyzw, cb2[20].xyzw);
o0.z = dot(r1.xyzw, r7.xyzw);
r16.y = dot(r9.xyzw, cb2[21].xyzw);
r16.z = dot(r21.xyzw, cb2[21].xyzw);
r16.x = dot(r8.xyzw, cb2[21].xyzw);
o0.w = dot(r1.xyzw, r16.xyzw);
r3.x = (uint)r3.y << 16;
r0.xy = (uint2)r3.xy >> int2(16,16);
r0.xy = (int2)r0.xy;
r0.xy = r0.xy * r0.zz;
o1.xy = float2(3.05180438e-005,3.05180438e-005) * r0.xy;
o1.zw = float2(0,0);
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.x, r2.z, l(0), t53.xxxx
r0.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
r0.yz = (uint2)r0.xx >> int2(8,16);
r0.xyz = (int3)r0.xyz & int3(255,255,255);
r0.xyz = (uint3)r0.xyz;
r0.xyz = r0.xyz * float3(0.00787401572,0.00787401572,0.00787401572) + float3(-1,-1,-1);
r1.y = dot(r15.xyz, r0.xyz);
r1.z = dot(r12.xyz, r0.xyz);
r1.x = dot(r6.xyz, r0.xyz);
r3.y = dot(r13.xyz, r0.xyz);
r3.z = dot(r14.xyz, r0.xyz);
r3.x = dot(r10.xyz, r0.xyz);
r3.xyz = r3.xyz * r4.yyy;
r1.xyz = r1.xyz * r4.xxx + r3.xyz;
r3.y = dot(r18.xyz, r0.xyz);
r3.z = dot(r19.xyz, r0.xyz);
r3.x = dot(r11.xyz, r0.xyz);
r1.xyz = r3.xyz * r4.zzz + r1.xyz;
r3.y = dot(r20.xyz, r0.xyz);
r3.z = dot(r17.xyz, r0.xyz);
r3.x = dot(r5.xyz, r0.xyz);
r0.xyz = r3.xyz * r4.www + r1.xyz;
r0.w = dot(r0.xyz, r0.xyz);
r0.w = rsqrt(r0.w);
r0.xyz = r0.xyz * r0.www;
r1.xyz = r0.yyy * r9.xyz;
r0.xyw = r0.xxx * r8.xyz + r1.xyz;
r0.xyz = r0.zzz * r21.xyz + r0.xyw;
o2.xyz = r0.xyz;
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r2.y, l(0), t53.xxxx
r1.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
// Missing reflection info for shader. No names possible.
// Known bad code for instruction (needs manual fix):
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r2.w, l(0), t53.xxxx
r2.x = no_StructuredBufferName[no_srcAddressRegister].no_srcByteOffsetName.swiz;
r1.yz = (uint2)r1.xx >> int2(8,16);
r1.xyz = (int3)r1.xyz & int3(255,255,255);
r1.xyz = (uint3)r1.xyz;
r1.xyz = r1.xyz * float3(0.00787401572,0.00787401572,0.00787401572) + float3(-1,-1,-1);
r3.y = dot(r13.xyz, r1.xyz);
r3.z = dot(r14.xyz, r1.xyz);
r3.x = dot(r10.xyz, r1.xyz);
r3.xyz = r3.xyz * r4.yyy;
r7.y = dot(r15.xyz, r1.xyz);
r7.z = dot(r12.xyz, r1.xyz);
r7.x = dot(r6.xyz, r1.xyz);
r3.xyz = r7.xyz * r4.xxx + r3.xyz;
r7.y = dot(r18.xyz, r1.xyz);
r7.z = dot(r19.xyz, r1.xyz);
r7.x = dot(r11.xyz, r1.xyz);
r3.xyz = r7.xyz * r4.zzz + r3.xyz;
r7.y = dot(r20.xyz, r1.xyz);
r7.z = dot(r17.xyz, r1.xyz);
r7.x = dot(r5.xyz, r1.xyz);
r1.xyz = r7.xyz * r4.www + r3.xyz;
r0.w = dot(r1.xyz, r1.xyz);
r0.w = rsqrt(r0.w);
r1.xyz = r1.xyz * r0.www;
r3.xyz = r1.yyy * r9.xyz;
r1.xyw = r1.xxx * r8.xyz + r3.xyz;
r1.xyz = r1.zzz * r21.xyz + r1.xyw;
r3.xyz = r1.zxy * r0.yzx;
r0.xyz = r1.yzx * r0.zxy + -r3.xyz;
o3.xyz = r1.xyz;
r2.yz = (uint2)r2.xx >> int2(8,16);
r1.xyz = (int3)r2.xyz & int3(255,255,255);
r1.xyz = (uint3)r1.xyz;
r1.xyz = r1.xyz * float3(0.00787401572,0.00787401572,0.00787401572) + float3(-1,-1,-1);
r2.y = dot(r13.xyz, r1.xyz);
r2.z = dot(r14.xyz, r1.xyz);
r2.x = dot(r10.xyz, r1.xyz);
r2.xyz = r2.xyz * r4.yyy;
r3.y = dot(r15.xyz, r1.xyz);
r3.z = dot(r12.xyz, r1.xyz);
r3.x = dot(r6.xyz, r1.xyz);
r2.xyz = r3.xyz * r4.xxx + r2.xyz;
r3.y = dot(r18.xyz, r1.xyz);
r3.z = dot(r19.xyz, r1.xyz);
r3.x = dot(r11.xyz, r1.xyz);
r2.xyz = r3.xyz * r4.zzz + r2.xyz;
r3.y = dot(r20.xyz, r1.xyz);
r3.z = dot(r17.xyz, r1.xyz);
r3.x = dot(r5.xyz, r1.xyz);
r1.xyz = r3.xyz * r4.www + r2.xyz;
r0.w = dot(r1.xyz, r1.xyz);
r0.w = rsqrt(r0.w);
r1.xyz = r1.xyz * r0.www;
r2.xyz = r1.yyy * r9.xyz;
r1.xyw = r1.xxx * r8.xyz + r2.xyz;
r1.xyz = r1.zzz * r21.xyz + r1.xyw;
r0.x = dot(r1.xyz, r0.xyz);
r0.y = cmp(0 < r0.x);
r0.x = cmp(r0.x < 0);
r0.x = (int)-r0.y + (int)r0.x;
o3.w = (int)r0.x;
o4.x = v0.x;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.67 on Fri Dec 15 15:25:29 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 x 0 NONE uint x
// SV_VertexID 0 x 1 VERTID uint x
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xyzw
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 1 xyzw 2 NONE float xyzw
// TEXCOORD 2 xyzw 3 NONE float xyzw
// TEXCOORD 3 x 4 NONE uint x
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[1], immediateIndexed
dcl_constantbuffer cb2[23], immediateIndexed
dcl_constantbuffer cb3[4], immediateIndexed
dcl_constantbuffer cb9[1], immediateIndexed
dcl_resource_buffer (float,float,float,float) t19
dcl_resource_structured t53, 4
dcl_input v0.x
dcl_input_sgv v1.x, vertex_id
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.x
dcl_temps 23
imul null, r0.x, v0.x, l(12)
ushr r0.x, r0.x, l(2)
iadd r0.x, r0.x, cb9[0].y
iadd r0.y, r0.x, l(1)
ld_indexable(buffer)(float,float,float,float) r0.xz, r0.xxxx, t19.yxwz
ld_indexable(buffer)(float,float,float,float) r0.y, r0.yyyy, t19.yxzw
ishl r0.w, v1.x, l(3)
iadd r0.y, r0.w, r0.y
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.y, r0.y, l(0), t53.xxxx
iadd r2.xyzw, r0.yyyy, l(1, 2, 3, 4)
iadd r3.xyz, r0.yyyy, l(5, 6, 7, 0)
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.w, r2.x, l(0), t53.xxxx
ishl r1.xz, r1.yywy, l(16, 0, 16, 0)
ishr r1.xyzw, r1.xyzw, l(16, 16, 16, 16)
itof r1.xyzw, r1.xyzw
mad r0.y, -r1.w, l(0.0000305180438), l(1.000000)
mul r0.w, r0.y, cb3[3].w
mul r0.w, r0.w, l(0.025000)
mul r1.w, cb1[0].x, cb3[1].x
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.x, r3.z, l(0), t53.xxxx
ushr r4.yzw, r4.xxxx, l(0, 8, 16, 24)
and r4.xyzw, r4.xyzw, l(255, 255, 255, 255)
utof r4.xyzw, r4.xyzw
mul r4.xyzw, r4.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886)
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.x, r3.y, l(0), t53.xxxx
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r3.x, l(0), t53.xxxx
ushr r5.yzw, r5.xxxx, l(0, 8, 16, 24)
and r5.xyzw, r5.xyzw, l(255, 255, 255, 255)
imad r5.xyzw, r5.xyzw, l(3, 3, 3, 3), r0.zzzz
ld_indexable(buffer)(float,float,float,float) r6.xyzw, r5.xxxx, t19.xyzw
iadd r7.xyzw, r0.xxxx, l(1, 2, 3, 4)
ld_indexable(buffer)(float,float,float,float) r8.xyzw, r0.xxxx, t19.xyzw
ld_indexable(buffer)(float,float,float,float) r0.xz, r7.wwww, t19.xzyw
mul r1.xyz, r0.xxxx, r1.xyzx
mul r9.xyz, r1.xyzx, l(0.0000305180438, 0.0000305180438, 0.0000305180438, 0.000000)
mov r9.w, l(1.000000)
dp4 r1.x, r6.xyzw, r9.xyzw
ld_indexable(buffer)(float,float,float,float) r10.xyzw, r5.yyyy, t19.xyzw
dp4 r11.x, r10.xyzw, r9.xyzw
iadd r12.xyzw, r5.xxyy, l(1, 2, 1, 2)
ld_indexable(buffer)(float,float,float,float) r13.xyzw, r12.zzzz, t19.xyzw
dp4 r11.y, r13.xyzw, r9.xyzw
ld_indexable(buffer)(float,float,float,float) r14.xyzw, r12.wwww, t19.xyzw
dp4 r11.z, r14.xyzw, r9.xyzw
mul r11.xyz, r4.yyyy, r11.xyzx
ld_indexable(buffer)(float,float,float,float) r15.xyzw, r12.xxxx, t19.xyzw
ld_indexable(buffer)(float,float,float,float) r12.xyzw, r12.yyyy, t19.xyzw
dp4 r1.y, r15.xyzw, r9.xyzw
dp4 r1.z, r12.xyzw, r9.xyzw
mad r1.xyz, r1.xyzx, r4.xxxx, r11.xyzx
ld_indexable(buffer)(float,float,float,float) r11.xyzw, r5.zzzz, t19.xyzw
dp4 r16.x, r11.xyzw, r9.xyzw
iadd r17.xyzw, r5.zzww, l(1, 2, 1, 2)
ld_indexable(buffer)(float,float,float,float) r5.xyzw, r5.wwww, t19.xyzw
ld_indexable(buffer)(float,float,float,float) r18.xyzw, r17.xxxx, t19.xyzw
dp4 r16.y, r18.xyzw, r9.xyzw
ld_indexable(buffer)(float,float,float,float) r19.xyzw, r17.yyyy, t19.xyzw
dp4 r16.z, r19.xyzw, r9.xyzw
mad r1.xyz, r16.xyzx, r4.zzzz, r1.xyzx
dp4 r16.x, r5.xyzw, r9.xyzw
ld_indexable(buffer)(float,float,float,float) r20.xyzw, r17.zzzz, t19.xyzw
ld_indexable(buffer)(float,float,float,float) r17.xyzw, r17.wwww, t19.xyzw
dp4 r16.y, r20.xyzw, r9.xyzw
dp4 r16.z, r17.xyzw, r9.xyzw
mad r1.xyz, r16.xyzx, r4.wwww, r1.xyzx
ld_indexable(buffer)(float,float,float,float) r9.xyzw, r7.xxxx, t19.xyzw
mul r16.xyz, r1.yyyy, r9.xyzx
mad r16.xyz, r1.xxxx, r8.xyzx, r16.xyzx
ld_indexable(buffer)(float,float,float,float) r21.xyzw, r7.yyyy, t19.xyzw
ld_indexable(buffer)(float,float,float,float) r7.xyzw, r7.zzzz, t19.xyzw
mad r16.xyz, r1.zzzz, r21.xyzx, r16.xyzx
add r16.xyz, r7.xyzx, r16.xyzx
mad r16.xyz, r16.xyzx, cb3[2].xxxx, r1.wwww
mad r16.xyz, r16.xyzx, l(0.975000, 0.775000, 0.375000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
frc r16.xyz, r16.xyzx
mad r16.xyz, r16.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r22.xyz, |r16.xyzx|, |r16.xyzx|
mad r16.xyz, -|r16.xyzx|, l(2.000000, 2.000000, 2.000000, 0.000000), l(3.000000, 3.000000, 3.000000, 0.000000)
mad r16.xyz, r22.xyzx, r16.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
add r16.xyz, r16.zzyz, r16.yxxy
mul r16.xyz, r0.wwww, r16.xyzx
mad r1.xyz, r16.xyzx, l(0.333330, 0.333330, 0.333330, 0.000000), r1.xyzx
mad r1.xyz, cb3[3].xyzx, r0.yyyy, r1.xyzx
add r16.xyz, r7.xyzx, -cb2[22].xyzx
mov r16.w, r7.w
dp3 o2.w, r7.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
dp4 r7.w, r16.xyzw, cb2[18].xyzw
dp4 r7.x, r8.xyzw, cb2[18].xyzw
dp4 r7.y, r9.xyzw, cb2[18].xyzw
dp4 r7.z, r21.xyzw, cb2[18].xyzw
mov r1.w, l(1.000000)
dp4 o0.x, r1.xyzw, r7.xyzw
dp4 r7.w, r16.xyzw, cb2[19].xyzw
dp4 r7.y, r9.xyzw, cb2[19].xyzw
dp4 r7.z, r21.xyzw, cb2[19].xyzw
dp4 r7.x, r8.xyzw, cb2[19].xyzw
dp4 o0.y, r1.xyzw, r7.xyzw
dp4 r7.w, r16.xyzw, cb2[20].xyzw
dp4 r16.w, r16.xyzw, cb2[21].xyzw
dp4 r7.y, r9.xyzw, cb2[20].xyzw
dp4 r7.z, r21.xyzw, cb2[20].xyzw
dp4 r7.x, r8.xyzw, cb2[20].xyzw
dp4 o0.z, r1.xyzw, r7.xyzw
dp4 r16.y, r9.xyzw, cb2[21].xyzw
dp4 r16.z, r21.xyzw, cb2[21].xyzw
dp4 r16.x, r8.xyzw, cb2[21].xyzw
dp4 o0.w, r1.xyzw, r16.xyzw
ishl r3.x, r3.y, l(16)
ishr r0.xy, r3.xyxx, l(16, 16, 0, 0)
itof r0.xy, r0.xyxx
mul r0.xy, r0.zzzz, r0.xyxx
mul o1.xy, r0.xyxx, l(0.0000305180438, 0.0000305180438, 0.000000, 0.000000)
mov o1.zw, l(0,0,0,0)
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.x, r2.z, l(0), t53.xxxx
ushr r0.yz, r0.xxxx, l(0, 8, 16, 0)
and r0.xyz, r0.xyzx, l(255, 255, 255, 0)
utof r0.xyz, r0.xyzx
mad r0.xyz, r0.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r1.y, r15.xyzx, r0.xyzx
dp3 r1.z, r12.xyzx, r0.xyzx
dp3 r1.x, r6.xyzx, r0.xyzx
dp3 r3.y, r13.xyzx, r0.xyzx
dp3 r3.z, r14.xyzx, r0.xyzx
dp3 r3.x, r10.xyzx, r0.xyzx
mul r3.xyz, r4.yyyy, r3.xyzx
mad r1.xyz, r1.xyzx, r4.xxxx, r3.xyzx
dp3 r3.y, r18.xyzx, r0.xyzx
dp3 r3.z, r19.xyzx, r0.xyzx
dp3 r3.x, r11.xyzx, r0.xyzx
mad r1.xyz, r3.xyzx, r4.zzzz, r1.xyzx
dp3 r3.y, r20.xyzx, r0.xyzx
dp3 r3.z, r17.xyzx, r0.xyzx
dp3 r3.x, r5.xyzx, r0.xyzx
mad r0.xyz, r3.xyzx, r4.wwww, r1.xyzx
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r0.xyz, r0.wwww, r0.xyzx
mul r1.xyz, r9.xyzx, r0.yyyy
mad r0.xyw, r0.xxxx, r8.xyxz, r1.xyxz
mad r0.xyz, r0.zzzz, r21.xyzx, r0.xywx
mov o2.xyz, r0.xyzx
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r2.y, l(0), t53.xxxx
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r2.w, l(0), t53.xxxx
ushr r1.yz, r1.xxxx, l(0, 8, 16, 0)
and r1.xyz, r1.xyzx, l(255, 255, 255, 0)
utof r1.xyz, r1.xyzx
mad r1.xyz, r1.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r3.y, r13.xyzx, r1.xyzx
dp3 r3.z, r14.xyzx, r1.xyzx
dp3 r3.x, r10.xyzx, r1.xyzx
mul r3.xyz, r4.yyyy, r3.xyzx
dp3 r7.y, r15.xyzx, r1.xyzx
dp3 r7.z, r12.xyzx, r1.xyzx
dp3 r7.x, r6.xyzx, r1.xyzx
mad r3.xyz, r7.xyzx, r4.xxxx, r3.xyzx
dp3 r7.y, r18.xyzx, r1.xyzx
dp3 r7.z, r19.xyzx, r1.xyzx
dp3 r7.x, r11.xyzx, r1.xyzx
mad r3.xyz, r7.xyzx, r4.zzzz, r3.xyzx
dp3 r7.y, r20.xyzx, r1.xyzx
dp3 r7.z, r17.xyzx, r1.xyzx
dp3 r7.x, r5.xyzx, r1.xyzx
mad r1.xyz, r7.xyzx, r4.wwww, r3.xyzx
dp3 r0.w, r1.xyzx, r1.xyzx
rsq r0.w, r0.w
mul r1.xyz, r0.wwww, r1.xyzx
mul r3.xyz, r9.xyzx, r1.yyyy
mad r1.xyw, r1.xxxx, r8.xyxz, r3.xyxz
mad r1.xyz, r1.zzzz, r21.xyzx, r1.xywx
mul r3.xyz, r0.yzxy, r1.zxyz
mad r0.xyz, r1.yzxy, r0.zxyz, -r3.xyzx
mov o3.xyz, r1.xyzx
ushr r2.yz, r2.xxxx, l(0, 8, 16, 0)
and r1.xyz, r2.xyzx, l(255, 255, 255, 0)
utof r1.xyz, r1.xyzx
mad r1.xyz, r1.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r2.y, r13.xyzx, r1.xyzx
dp3 r2.z, r14.xyzx, r1.xyzx
dp3 r2.x, r10.xyzx, r1.xyzx
mul r2.xyz, r4.yyyy, r2.xyzx
dp3 r3.y, r15.xyzx, r1.xyzx
dp3 r3.z, r12.xyzx, r1.xyzx
dp3 r3.x, r6.xyzx, r1.xyzx
mad r2.xyz, r3.xyzx, r4.xxxx, r2.xyzx
dp3 r3.y, r18.xyzx, r1.xyzx
dp3 r3.z, r19.xyzx, r1.xyzx
dp3 r3.x, r11.xyzx, r1.xyzx
mad r2.xyz, r3.xyzx, r4.zzzz, r2.xyzx
dp3 r3.y, r20.xyzx, r1.xyzx
dp3 r3.z, r17.xyzx, r1.xyzx
dp3 r3.x, r5.xyzx, r1.xyzx
mad r1.xyz, r3.xyzx, r4.wwww, r2.xyzx
dp3 r0.w, r1.xyzx, r1.xyzx
rsq r0.w, r0.w
mul r1.xyz, r0.wwww, r1.xyzx
mul r2.xyz, r9.xyzx, r1.yyyy
mad r1.xyw, r1.xxxx, r8.xyxz, r2.xyxz
mad r1.xyz, r1.zzzz, r21.xyzx, r1.xywx
dp3 r0.x, r1.xyzx, r0.xyzx
lt r0.y, l(0.000000), r0.x
lt r0.x, r0.x, l(0.000000)
iadd r0.x, -r0.y, r0.x
itof o3.w, r0.x
mov o4.x, v0.x
ret
// Approximately 0 instruction slots used

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


I tried to change the value for o0 to 0 (o0.x = 0; etc.) but when I try to reload this VS I get again an error sound and nothing changes. I guess this is because of
// Needs manual fix for instruction:
// unknown dcl_: dcl_resource_structured t53, 4
// Needs manual fix for instruction:
// unknown dcl_: dcl_input_sgv v1.x, vertex_id


I don't want to "fix" this shader but only disable it. Is there a simple/"dirty" way to do that like the empty vs_3_0 shaders in Helixmod?

I would even be happy to switch to hunting mode and disable the shader this way. But then I have the hunting overlay all the time. Is there a way to disable the 3Dmigoto overlay? I also tried the older versions of 3Dmigoto without the overlay but they could not catch and disable the wanted PS or VS.

Any suggestions are welcome :)

My original display name is 3d4dd - for some reason Nvidia changed it..?!

Posted 12/15/2017 02:35 PM   
Delete that vertex shader file (or save it elsewhere) and write [code] discard; [/code] below the "float4 fDest;" line. I hope that will disable the effect. The vertex shader is too messy for me to tell how it needs to be fixed, without seeing the effect in person. To disable the hunting overlay, find the "hunting=1" line in "d3dx.ini" and change it to "hunting=0". There are logging settings in the file that you can disable too.
Delete that vertex shader file (or save it elsewhere) and write

discard;


below the "float4 fDest;" line.

I hope that will disable the effect. The vertex shader is too messy for me to tell how it needs to be fixed, without seeing the effect in person.

To disable the hunting overlay, find the "hunting=1" line in "d3dx.ini" and change it to "hunting=0". There are logging settings in the file that you can disable too.

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 12/15/2017 10:42 PM   
Thank You very much for Your help! "discard" in the PS disabled the annoying strings :) I found strings for another sport (speedgliding) and hunted the PS. Unfortunately I get an error sound when doing this but there are no "Needs manual fix" comments in the code. And "discard" doesn't work for this PS as I get the error sound when reloading the fix and nothing changes. But these strings are not as annoying as the strings from paragliding. So there is no such need to disable them. Nevertheless the code - maybe You happen to see why 3Dmigoto doesn't accept it: [code]// ---- Created with 3Dmigoto v1.2.67 on Sat Dec 16 10:14:55 2017 Texture2D<float4> t39 : register(t39); Texture2D<float4> t38 : register(t38); Texture2D<float4> t37 : register(t37); Texture2D<float4> t36 : register(t36); Texture2D<float4> t35 : register(t35); Texture2D<float4> t34 : register(t34); Texture2D<float4> t33 : register(t33); Texture2D<float4> t32 : register(t32); Buffer<float4> t19 : register(t19); SamplerState s14_s : register(s14); cbuffer cb9 : register(b9) { float4 cb9[1]; } cbuffer cb3 : register(b3) { float4 cb3[33]; } cbuffer cb2 : register(b2) { float4 cb2[1]; } cbuffer cb1 : register(b1) { float4 cb1[191]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_Position0, linear sample float4 v1 : TEXCOORD0, linear sample float4 v2 : TEXCOORD1, linear sample float4 v3 : TEXCOORD2, linear sample float4 v4 : COLOR0, float4 v5 : TEXCOORD3, linear sample float4 v6 : TEXCOORD4, nointerpolation uint v7 : TEXCOORD5, uint v8 : SV_SampleIndex0, uint w8 : SV_IsFrontFace0, out float4 o0 : SV_Target0, out float4 o1 : SV_Target1, out float4 o2 : SV_Target2, out float4 o3 : SV_Target3, out float4 o4 : SV_Target4) { float4 r0,r1,r2,r3,r4,r5,r6,r7; uint4 bitmask, uiDest; float4 fDest; discard; r0.xyzw = t32.SampleBias(s14_s, v1.xy, cb1[190].z).xyzw; r1.x = -cb3[0].z + r0.w; r1.x = cmp(r1.x < 0); if (r1.x != 0) discard; r1.x = (int)v7.x * 12; r1.x = (uint)r1.x >> 2; r1.x = (int)r1.x + asint(cb9[0].y); r1.x = t19.Load(r1.x).y; r1.x = (int)r1.x + 4; r1.xy = t19.Load(r1.x).zw; r1.z = (uint)r1.x >> 16; r2.xyz = f16tof32(r1.xzy); r1.xyz = -cb2[0].xyz + r2.xyz; r1.x = dot(r1.xyz, r1.xyz); r1.x = sqrt(r1.x); r1.x = r1.x / cb3[7].x; r1.x = log2(abs(r1.x)); r1.x = cb3[19].x * r1.x; r1.x = exp2(r1.x); r1.x = min(1, r1.x); r1.y = floor(cb3[16].x); r2.xy = v1.xy; r2.z = 1; r1.z = dot(r2.xyz, cb3[22].xyz); r1.z = frac(r1.z); r1.y = r1.z + r1.y; r3.x = 0.125 * r1.y; r1.y = floor(cb3[18].x); r1.z = dot(r2.xyz, cb3[23].xyz); r1.z = frac(r1.z); r1.y = r1.z + r1.y; r3.y = 0.25 * r1.y; r1.yzw = t38.SampleBias(s14_s, r3.xy, cb1[190].z).xyz; r3.xy = t39.SampleBias(s14_s, r3.xy, cb1[190].z).xy; r1.yzw = float3(-1,-1,-1) + r1.yzw; r4.xyz = cb3[20].xxx * r1.yzw + float3(1,1,1); r1.y = cb3[9].x * r1.y + 1; r1.z = floor(cb3[10].x); r1.w = dot(r2.xyz, cb3[25].xyz); r1.w = frac(r1.w); r1.z = r1.w + r1.z; r5.x = 0.125 * r1.z; r1.z = floor(cb3[13].x); r1.w = dot(r2.xyz, cb3[26].xyz); r1.w = frac(r1.w); r1.z = r1.w + r1.z; r5.y = 0.25 * r1.z; r6.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz; r1.zw = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy; r5.xyz = float3(-1,-1,-1) + r6.xyz; r5.yzw = cb3[4].xxx * r5.xyz + float3(1,1,1); r2.w = cb3[12].x * r5.x + 1; r3.zw = t36.SampleBias(s14_s, v1.xy, cb1[190].z).xy; r6.xyzw = float4(0.0500000007,0.349999994,0.649999976,0.550000012) + r3.zzzz; r3.z = cb3[6].x * r3.w; o4.xyz = r3.zzz * r0.xyz; r6.xyzw = floor(r6.xyzw); r3.zw = r6.yz + -r6.xy; r5.xyz = r5.yzw * r3.zzz; r4.xyz = r4.xyz * r6.xxx + r5.xyz; r4.w = floor(cb3[15].x); r5.x = dot(r2.xyz, cb3[31].xyz); r5.x = frac(r5.x); r4.w = r5.x + r4.w; r5.x = 0.125 * r4.w; r4.w = floor(cb3[14].x); r5.z = dot(r2.xyz, cb3[32].xyz); r5.z = frac(r5.z); r4.w = r5.z + r4.w; r5.y = 0.25 * r4.w; r7.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz; r5.xy = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy; r7.xyz = float3(-1,-1,-1) + r7.xyz; r7.yzw = cb3[21].xxx * r7.xyz + float3(1,1,1); r4.w = cb3[11].x * r7.x + 1; r4.w = -r4.w * r3.w + 1; r4.xyz = r7.yzw * r3.www + r4.xyz; r7.xyz = float3(1,1,1) + -r4.xyz; r5.z = 1 + -r6.w; r4.xyz = r5.zzz * r7.xyz + r4.xyz; r6.yzw = float3(1,1,1) + -r4.xyz; r4.xyz = r1.xxx * r6.yzw + r4.xyz; r6.yzw = r4.xyz * r0.xyz; r0.xyz = -r4.xyz * r0.xyz + v4.xyz; o1.w = r0.w; r4.x = dot(r2.xyz, cb3[28].xyz); r4.y = dot(r2.xyz, cb3[29].xyz); r2.xy = t35.SampleBias(s14_s, r4.xy, cb1[190].z).yz; r4.xyz = t37.SampleBias(s14_s, r4.xy, cb1[190].z).xyw; r0.w = log2(abs(v6.y)); r0.w = 0.75 * r0.w; r0.w = exp2(r0.w); r0.w = r2.x * r0.w; r0.w = 10 * r0.w; r0.w = log2(abs(r0.w)); r0.w = 1.79999995 * r0.w; r0.w = exp2(r0.w); r0.w = min(1, r0.w); o0.xyz = r0.www * r0.xyz + r6.yzw; o0.w = 1; r0.xy = r3.xy * float2(2,2) + float2(-1,-1); r7.xy = r3.xy + r3.xy; r0.x = dot(r0.xy, r0.xy); r0.x = 1 + -r0.x; r0.x = max(0, r0.x); r7.z = sqrt(r0.x); r0.xyz = float3(-1,-1,-1) + r7.xyz; r2.x = cb3[5].x * r6.x; r1.y = -r1.y * r6.x + 1; r0.xyz = r2.xxx * r0.xyz + float3(0,0,1); r0.xyz = float3(-1,-1,1) * r0.xyz; r6.xyz = t33.SampleBias(s14_s, v1.xy, cb1[190].z).wxy; r2.xz = r6.yz * float2(2,2) + float2(-1,-1); r2.x = dot(r2.xz, r2.xz); r2.x = 1 + -r2.x; r2.x = max(0, r2.x); r7.z = sqrt(r2.x); r7.xy = r6.yz + r6.yz; r6.x = saturate(r6.x); r2.x = log2(r6.x); r2.x = 2.20000005 * r2.x; r2.x = exp2(r2.x); r6.xyz = float3(-1,-1,1) + r7.xyz; r7.xyz = float3(-1,-1,0) + r7.xyz; r2.z = dot(r6.xyz, r0.xyz); r6.xyz = r6.xyz / r6.zzz; r0.xyz = r6.xyz * r2.zzz + -r0.xyz; r0.xyz = float3(0,0,1) + r0.xyz; r3.xy = r1.zw * float2(2,2) + float2(-1,-1); r6.xy = r1.zw + r1.zw; r1.z = dot(r3.xy, r3.xy); r1.z = 1 + -r1.z; r1.z = max(0, r1.z); r6.z = sqrt(r1.z); r6.xyz = float3(-1,-1,-1) + r6.xyz; r1.z = cb3[8].x * r3.z; r6.xyz = r1.zzz * r6.xyz + float3(0,0,1); r6.xyz = float3(-1,-1,1) * r6.xyz; r1.z = dot(r0.xyz, r6.xyz); r0.xyz = r0.xyz / r0.zzz; r0.xyz = r0.xyz * r1.zzz + -r6.xyz; r0.xyz = float3(0,0,1) + r0.xyz; r1.zw = r5.xy * float2(2,2) + float2(-1,-1); r6.xy = r5.xy + r5.xy; r1.z = dot(r1.zw, r1.zw); r1.z = 1 + -r1.z; r1.z = max(0, r1.z); r6.z = sqrt(r1.z); r5.xyw = float3(-1,-1,-1) + r6.xyz; r1.z = cb3[17].x * r3.w; r1.w = -r2.w * r3.z + 1; r1.y = r1.y * r1.w; r1.y = -r1.y * r4.w + 1; r3.xyz = r1.zzz * r5.xyw + float3(0,0,1); r3.xyz = float3(-1,-1,1) * r3.xyz; r1.z = dot(r0.xyz, r3.xyz); r0.xyz = r0.xyz / r0.zzz; r0.xyz = r0.xyz * r1.zzz + -r3.xyz; r3.xyz = r7.xyz + -r0.xyz; r0.xyz = r1.xxx * r3.xyz + r0.xyz; r3.xy = r4.xy * float2(2,2) + float2(-1,-1); r1.z = dot(r3.xy, r3.xy); r1.z = 1 + -r1.z; r1.z = max(0, r1.z); r3.z = sqrt(r1.z); r3.xyz = r3.xyz + -r0.xyz; r0.xyz = r0.www * r3.xyz + r0.xyz; r3.xyz = w8.xyy ? v3.xyz : -v3.xyz; r1.z = dot(r3.xyz, r3.xyz); r1.z = rsqrt(r1.z); r3.xyz = r3.xyz * r1.zzz; r1.z = dot(v2.xyz, v2.xyz); r1.z = rsqrt(r1.z); r4.xyw = v2.xyz * r1.zzz; r5.xyw = r4.ywx * r3.zxy; r5.xyw = r3.yzx * r4.wxy + -r5.xyw; r5.xyw = v3.www * r5.xyw; r5.xyw = r5.xyw * r0.yyy; r4.xyw = r0.xxx * r4.xyw + r5.xyw; r0.xyz = r0.zzz * r3.xyz + r4.xyw; r1.z = dot(r0.xyz, r0.xyz); r1.z = rsqrt(r1.z); r0.xyz = r1.zzz * r0.xyz; o1.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5); r0.xyz = t34.SampleBias(s14_s, v1.xy, cb1[190].z).xyz; r2.yzw = r2.yyy + -r0.xyz; o2.xyz = r0.www * r2.yzw + r0.xyz; o2.w = 0; r0.x = r1.y * r2.x; r0.y = -r1.y * r2.x + r2.x; r0.x = r1.x * r0.y + r0.x; r0.y = r2.x + -r0.x; r0.x = r5.z * r0.y + r0.x; r0.y = r4.z + -r0.x; o3.z = r0.w * r0.y + r0.x; o3.xyw = float3(0,0,0); o4.w = 0; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.67 on Sat Dec 16 10:14:55 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float // TEXCOORD 0 xyzw 1 NONE float xy // TEXCOORD 1 xyzw 2 NONE float xyz // TEXCOORD 2 xyzw 3 NONE float xyzw // COLOR 0 xyzw 4 NONE float xyz // TEXCOORD 3 xyzw 5 NONE float // TEXCOORD 4 xyzw 6 NONE float y // TEXCOORD 5 x 7 NONE uint x // SV_SampleIndex 0 x 8 SAMPLE uint // SV_IsFrontFace 0 y 8 FFACE uint y // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // SV_Target 1 xyzw 1 TARGET float xyzw // SV_Target 2 xyzw 2 TARGET float xyzw // SV_Target 3 xyzw 3 TARGET float xyzw // SV_Target 4 xyzw 4 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb1[191], immediateIndexed dcl_constantbuffer cb2[1], immediateIndexed dcl_constantbuffer cb3[33], immediateIndexed dcl_constantbuffer cb9[1], immediateIndexed dcl_sampler s14, mode_default dcl_resource_buffer (float,float,float,float) t19 dcl_resource_texture2d (float,float,float,float) t32 dcl_resource_texture2d (float,float,float,float) t33 dcl_resource_texture2d (float,float,float,float) t34 dcl_resource_texture2d (float,float,float,float) t35 dcl_resource_texture2d (float,float,float,float) t36 dcl_resource_texture2d (float,float,float,float) t37 dcl_resource_texture2d (float,float,float,float) t38 dcl_resource_texture2d (float,float,float,float) t39 dcl_input_ps linear sample v1.xy dcl_input_ps linear sample v2.xyz dcl_input_ps linear sample v3.xyzw dcl_input_ps linear sample v4.xyz dcl_input_ps linear sample v6.y dcl_input_ps constant v7.x dcl_input_ps_sgv v8.y, is_front_face dcl_output o0.xyzw dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_temps 8 sample_b_indexable(texture2d)(float,float,float,float) r0.xyzw, v1.xyxx, t32.xyzw, s14, cb1[190].z add r1.x, r0.w, -cb3[0].z lt r1.x, r1.x, l(0.000000) discard_nz r1.x imul null, r1.x, v7.x, l(12) ushr r1.x, r1.x, l(2) iadd r1.x, r1.x, cb9[0].y ld_indexable(buffer)(float,float,float,float) r1.x, r1.xxxx, t19.yxzw iadd r1.x, r1.x, l(4) ld_indexable(buffer)(float,float,float,float) r1.xy, r1.xxxx, t19.zwxy ushr r1.z, r1.x, l(16) f16tof32 r2.xyz, r1.xzyx add r1.xyz, r2.xyzx, -cb2[0].xyzx dp3 r1.x, r1.xyzx, r1.xyzx sqrt r1.x, r1.x div r1.x, r1.x, cb3[7].x log r1.x, |r1.x| mul r1.x, r1.x, cb3[19].x exp r1.x, r1.x min r1.x, r1.x, l(1.000000) round_ni r1.y, cb3[16].x mov r2.xy, v1.xyxx mov r2.z, l(1.000000) dp3 r1.z, r2.xyzx, cb3[22].xyzx frc r1.z, r1.z add r1.y, r1.y, r1.z mul r3.x, r1.y, l(0.125000) round_ni r1.y, cb3[18].x dp3 r1.z, r2.xyzx, cb3[23].xyzx frc r1.z, r1.z add r1.y, r1.y, r1.z mul r3.y, r1.y, l(0.250000) sample_b_indexable(texture2d)(float,float,float,float) r1.yzw, r3.xyxx, t38.wxyz, s14, cb1[190].z sample_b_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t39.xyzw, s14, cb1[190].z add r1.yzw, r1.yyzw, l(0.000000, -1.000000, -1.000000, -1.000000) mad r4.xyz, cb3[20].xxxx, r1.yzwy, l(1.000000, 1.000000, 1.000000, 0.000000) mad r1.y, cb3[9].x, r1.y, l(1.000000) round_ni r1.z, cb3[10].x dp3 r1.w, r2.xyzx, cb3[25].xyzx frc r1.w, r1.w add r1.z, r1.z, r1.w mul r5.x, r1.z, l(0.125000) round_ni r1.z, cb3[13].x dp3 r1.w, r2.xyzx, cb3[26].xyzx frc r1.w, r1.w add r1.z, r1.z, r1.w mul r5.y, r1.z, l(0.250000) sample_b_indexable(texture2d)(float,float,float,float) r6.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z sample_b_indexable(texture2d)(float,float,float,float) r1.zw, r5.xyxx, t39.zwxy, s14, cb1[190].z add r5.xyz, r6.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mad r5.yzw, cb3[4].xxxx, r5.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000) mad r2.w, cb3[12].x, r5.x, l(1.000000) sample_b_indexable(texture2d)(float,float,float,float) r3.zw, v1.xyxx, t36.zwxy, s14, cb1[190].z add r6.xyzw, r3.zzzz, l(0.050000, 0.350000, 0.650000, 0.550000) mul r3.z, r3.w, cb3[6].x mul o4.xyz, r0.xyzx, r3.zzzz round_ni r6.xyzw, r6.xyzw add r3.zw, -r6.xxxy, r6.yyyz mul r5.xyz, r3.zzzz, r5.yzwy mad r4.xyz, r4.xyzx, r6.xxxx, r5.xyzx round_ni r4.w, cb3[15].x dp3 r5.x, r2.xyzx, cb3[31].xyzx frc r5.x, r5.x add r4.w, r4.w, r5.x mul r5.x, r4.w, l(0.125000) round_ni r4.w, cb3[14].x dp3 r5.z, r2.xyzx, cb3[32].xyzx frc r5.z, r5.z add r4.w, r4.w, r5.z mul r5.y, r4.w, l(0.250000) sample_b_indexable(texture2d)(float,float,float,float) r7.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z sample_b_indexable(texture2d)(float,float,float,float) r5.xy, r5.xyxx, t39.xyzw, s14, cb1[190].z add r7.xyz, r7.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mad r7.yzw, cb3[21].xxxx, r7.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000) mad r4.w, cb3[11].x, r7.x, l(1.000000) mad r4.w, -r4.w, r3.w, l(1.000000) mad r4.xyz, r7.yzwy, r3.wwww, r4.xyzx add r7.xyz, -r4.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) add r5.z, -r6.w, l(1.000000) mad r4.xyz, r5.zzzz, r7.xyzx, r4.xyzx add r6.yzw, -r4.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000) mad r4.xyz, r1.xxxx, r6.yzwy, r4.xyzx mul r6.yzw, r0.xxyz, r4.xxyz mad r0.xyz, -r4.xyzx, r0.xyzx, v4.xyzx mov o1.w, r0.w dp3 r4.x, r2.xyzx, cb3[28].xyzx dp3 r4.y, r2.xyzx, cb3[29].xyzx sample_b_indexable(texture2d)(float,float,float,float) r2.xy, r4.xyxx, t35.yzxw, s14, cb1[190].z sample_b_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyxx, t37.xywz, s14, cb1[190].z log r0.w, |v6.y| mul r0.w, r0.w, l(0.750000) exp r0.w, r0.w mul r0.w, r0.w, r2.x mul r0.w, r0.w, l(10.000000) log r0.w, |r0.w| mul r0.w, r0.w, l(1.800000) exp r0.w, r0.w min r0.w, r0.w, l(1.000000) mad o0.xyz, r0.wwww, r0.xyzx, r6.yzwy mov o0.w, l(1.000000) mad r0.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) add r7.xy, r3.xyxx, r3.xyxx dp2 r0.x, r0.xyxx, r0.xyxx add r0.x, -r0.x, l(1.000000) max r0.x, r0.x, l(0.000000) sqrt r7.z, r0.x add r0.xyz, r7.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mul r2.x, r6.x, cb3[5].x mad r1.y, -r1.y, r6.x, l(1.000000) mad r0.xyz, r2.xxxx, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) mul r0.xyz, r0.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000) sample_b_indexable(texture2d)(float,float,float,float) r6.xyz, v1.xyxx, t33.wxyz, s14, cb1[190].z mad r2.xz, r6.yyzy, l(2.000000, 0.000000, 2.000000, 0.000000), l(-1.000000, 0.000000, -1.000000, 0.000000) dp2 r2.x, r2.xzxx, r2.xzxx add r2.x, -r2.x, l(1.000000) max r2.x, r2.x, l(0.000000) sqrt r7.z, r2.x add r7.xy, r6.yzyy, r6.yzyy mov_sat r6.x, r6.x log r2.x, r6.x mul r2.x, r2.x, l(2.200000) exp r2.x, r2.x add r6.xyz, r7.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000) add r7.xyz, r7.xyzx, l(-1.000000, -1.000000, 0.000000, 0.000000) dp3 r2.z, r6.xyzx, r0.xyzx div r6.xyz, r6.xyzx, r6.zzzz mad r0.xyz, r6.xyzx, r2.zzzz, -r0.xyzx add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) mad r3.xy, r1.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) add r6.xy, r1.zwzz, r1.zwzz dp2 r1.z, r3.xyxx, r3.xyxx add r1.z, -r1.z, l(1.000000) max r1.z, r1.z, l(0.000000) sqrt r6.z, r1.z add r6.xyz, r6.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) mul r1.z, r3.z, cb3[8].x mad r6.xyz, r1.zzzz, r6.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) mul r6.xyz, r6.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000) dp3 r1.z, r0.xyzx, r6.xyzx div r0.xyz, r0.xyzx, r0.zzzz mad r0.xyz, r0.xyzx, r1.zzzz, -r6.xyzx add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) mad r1.zw, r5.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000) add r6.xy, r5.xyxx, r5.xyxx dp2 r1.z, r1.zwzz, r1.zwzz add r1.z, -r1.z, l(1.000000) max r1.z, r1.z, l(0.000000) sqrt r6.z, r1.z add r5.xyw, r6.xyxz, l(-1.000000, -1.000000, 0.000000, -1.000000) mul r1.z, r3.w, cb3[17].x mad r1.w, -r2.w, r3.z, l(1.000000) mul r1.y, r1.w, r1.y mad r1.y, -r1.y, r4.w, l(1.000000) mad r3.xyz, r1.zzzz, r5.xywx, l(0.000000, 0.000000, 1.000000, 0.000000) mul r3.xyz, r3.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000) dp3 r1.z, r0.xyzx, r3.xyzx div r0.xyz, r0.xyzx, r0.zzzz mad r0.xyz, r0.xyzx, r1.zzzz, -r3.xyzx add r3.xyz, -r0.xyzx, r7.xyzx mad r0.xyz, r1.xxxx, r3.xyzx, r0.xyzx mad r3.xy, r4.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) dp2 r1.z, r3.xyxx, r3.xyxx add r1.z, -r1.z, l(1.000000) max r1.z, r1.z, l(0.000000) sqrt r3.z, r1.z add r3.xyz, -r0.xyzx, r3.xyzx mad r0.xyz, r0.wwww, r3.xyzx, r0.xyzx movc r3.xyz, v8.yyyy, v3.xyzx, -v3.xyzx dp3 r1.z, r3.xyzx, r3.xyzx rsq r1.z, r1.z mul r3.xyz, r1.zzzz, r3.xyzx dp3 r1.z, v2.xyzx, v2.xyzx rsq r1.z, r1.z mul r4.xyw, r1.zzzz, v2.xyxz mul r5.xyw, r3.zxzy, r4.ywyx mad r5.xyw, r3.yzyx, r4.wxwy, -r5.xyxw mul r5.xyw, r5.xyxw, v3.wwww mul r5.xyw, r0.yyyy, r5.xyxw mad r4.xyw, r0.xxxx, r4.xyxw, r5.xyxw mad r0.xyz, r0.zzzz, r3.xyzx, r4.xywx dp3 r1.z, r0.xyzx, r0.xyzx rsq r1.z, r1.z mul r0.xyz, r0.xyzx, r1.zzzz mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000) sample_b_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t34.xyzw, s14, cb1[190].z add r2.yzw, -r0.xxyz, r2.yyyy mad o2.xyz, r0.wwww, r2.yzwy, r0.xyzx mov o2.w, l(0) mul r0.x, r2.x, r1.y mad r0.y, -r1.y, r2.x, r2.x mad r0.x, r1.x, r0.y, r0.x add r0.y, -r0.x, r2.x mad r0.x, r5.z, r0.y, r0.x add r0.y, -r0.x, r4.z mad o3.z, r0.w, r0.y, r0.x mov o3.xyw, l(0,0,0,0) mov o4.w, l(0) ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] BTW I also get the error sound for the corresponding VS. Disabling the overlay by setting "hunting=0" (or =2 to switch it on/off) also makes the shader visible again which I just disabled by marking it (marking_mode=skip). So there seems to be no way to disable a shader by skipping in huntig mode and remove the overlay at the same time :( In Helixmod I could do this with F11.
Thank You very much for Your help! "discard" in the PS disabled the annoying strings :)
I found strings for another sport (speedgliding) and hunted the PS. Unfortunately I get an error sound when doing this but there are no "Needs manual fix" comments in the code. And "discard" doesn't work for this PS as I get the error sound when reloading the fix and nothing changes. But these strings are not as annoying as the strings from paragliding. So there is no such need to disable them. Nevertheless the code - maybe You happen to see why 3Dmigoto doesn't accept it:
// ---- Created with 3Dmigoto v1.2.67 on Sat Dec 16 10:14:55 2017
Texture2D<float4> t39 : register(t39);

Texture2D<float4> t38 : register(t38);

Texture2D<float4> t37 : register(t37);

Texture2D<float4> t36 : register(t36);

Texture2D<float4> t35 : register(t35);

Texture2D<float4> t34 : register(t34);

Texture2D<float4> t33 : register(t33);

Texture2D<float4> t32 : register(t32);

Buffer<float4> t19 : register(t19);

SamplerState s14_s : register(s14);

cbuffer cb9 : register(b9)
{
float4 cb9[1];
}

cbuffer cb3 : register(b3)
{
float4 cb3[33];
}

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

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




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


void main(
float4 v0 : SV_Position0,
linear sample float4 v1 : TEXCOORD0,
linear sample float4 v2 : TEXCOORD1,
linear sample float4 v3 : TEXCOORD2,
linear sample float4 v4 : COLOR0,
float4 v5 : TEXCOORD3,
linear sample float4 v6 : TEXCOORD4,
nointerpolation uint v7 : TEXCOORD5,
uint v8 : SV_SampleIndex0,
uint w8 : SV_IsFrontFace0,
out float4 o0 : SV_Target0,
out float4 o1 : SV_Target1,
out float4 o2 : SV_Target2,
out float4 o3 : SV_Target3,
out float4 o4 : SV_Target4)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7;
uint4 bitmask, uiDest;
float4 fDest;
discard;
r0.xyzw = t32.SampleBias(s14_s, v1.xy, cb1[190].z).xyzw;
r1.x = -cb3[0].z + r0.w;
r1.x = cmp(r1.x < 0);
if (r1.x != 0) discard;
r1.x = (int)v7.x * 12;
r1.x = (uint)r1.x >> 2;
r1.x = (int)r1.x + asint(cb9[0].y);
r1.x = t19.Load(r1.x).y;
r1.x = (int)r1.x + 4;
r1.xy = t19.Load(r1.x).zw;
r1.z = (uint)r1.x >> 16;
r2.xyz = f16tof32(r1.xzy);
r1.xyz = -cb2[0].xyz + r2.xyz;
r1.x = dot(r1.xyz, r1.xyz);
r1.x = sqrt(r1.x);
r1.x = r1.x / cb3[7].x;
r1.x = log2(abs(r1.x));
r1.x = cb3[19].x * r1.x;
r1.x = exp2(r1.x);
r1.x = min(1, r1.x);
r1.y = floor(cb3[16].x);
r2.xy = v1.xy;
r2.z = 1;
r1.z = dot(r2.xyz, cb3[22].xyz);
r1.z = frac(r1.z);
r1.y = r1.z + r1.y;
r3.x = 0.125 * r1.y;
r1.y = floor(cb3[18].x);
r1.z = dot(r2.xyz, cb3[23].xyz);
r1.z = frac(r1.z);
r1.y = r1.z + r1.y;
r3.y = 0.25 * r1.y;
r1.yzw = t38.SampleBias(s14_s, r3.xy, cb1[190].z).xyz;
r3.xy = t39.SampleBias(s14_s, r3.xy, cb1[190].z).xy;
r1.yzw = float3(-1,-1,-1) + r1.yzw;
r4.xyz = cb3[20].xxx * r1.yzw + float3(1,1,1);
r1.y = cb3[9].x * r1.y + 1;
r1.z = floor(cb3[10].x);
r1.w = dot(r2.xyz, cb3[25].xyz);
r1.w = frac(r1.w);
r1.z = r1.w + r1.z;
r5.x = 0.125 * r1.z;
r1.z = floor(cb3[13].x);
r1.w = dot(r2.xyz, cb3[26].xyz);
r1.w = frac(r1.w);
r1.z = r1.w + r1.z;
r5.y = 0.25 * r1.z;
r6.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz;
r1.zw = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy;
r5.xyz = float3(-1,-1,-1) + r6.xyz;
r5.yzw = cb3[4].xxx * r5.xyz + float3(1,1,1);
r2.w = cb3[12].x * r5.x + 1;
r3.zw = t36.SampleBias(s14_s, v1.xy, cb1[190].z).xy;
r6.xyzw = float4(0.0500000007,0.349999994,0.649999976,0.550000012) + r3.zzzz;
r3.z = cb3[6].x * r3.w;
o4.xyz = r3.zzz * r0.xyz;
r6.xyzw = floor(r6.xyzw);
r3.zw = r6.yz + -r6.xy;
r5.xyz = r5.yzw * r3.zzz;
r4.xyz = r4.xyz * r6.xxx + r5.xyz;
r4.w = floor(cb3[15].x);
r5.x = dot(r2.xyz, cb3[31].xyz);
r5.x = frac(r5.x);
r4.w = r5.x + r4.w;
r5.x = 0.125 * r4.w;
r4.w = floor(cb3[14].x);
r5.z = dot(r2.xyz, cb3[32].xyz);
r5.z = frac(r5.z);
r4.w = r5.z + r4.w;
r5.y = 0.25 * r4.w;
r7.xyz = t38.SampleBias(s14_s, r5.xy, cb1[190].z).xyz;
r5.xy = t39.SampleBias(s14_s, r5.xy, cb1[190].z).xy;
r7.xyz = float3(-1,-1,-1) + r7.xyz;
r7.yzw = cb3[21].xxx * r7.xyz + float3(1,1,1);
r4.w = cb3[11].x * r7.x + 1;
r4.w = -r4.w * r3.w + 1;
r4.xyz = r7.yzw * r3.www + r4.xyz;
r7.xyz = float3(1,1,1) + -r4.xyz;
r5.z = 1 + -r6.w;
r4.xyz = r5.zzz * r7.xyz + r4.xyz;
r6.yzw = float3(1,1,1) + -r4.xyz;
r4.xyz = r1.xxx * r6.yzw + r4.xyz;
r6.yzw = r4.xyz * r0.xyz;
r0.xyz = -r4.xyz * r0.xyz + v4.xyz;
o1.w = r0.w;
r4.x = dot(r2.xyz, cb3[28].xyz);
r4.y = dot(r2.xyz, cb3[29].xyz);
r2.xy = t35.SampleBias(s14_s, r4.xy, cb1[190].z).yz;
r4.xyz = t37.SampleBias(s14_s, r4.xy, cb1[190].z).xyw;
r0.w = log2(abs(v6.y));
r0.w = 0.75 * r0.w;
r0.w = exp2(r0.w);
r0.w = r2.x * r0.w;
r0.w = 10 * r0.w;
r0.w = log2(abs(r0.w));
r0.w = 1.79999995 * r0.w;
r0.w = exp2(r0.w);
r0.w = min(1, r0.w);
o0.xyz = r0.www * r0.xyz + r6.yzw;
o0.w = 1;
r0.xy = r3.xy * float2(2,2) + float2(-1,-1);
r7.xy = r3.xy + r3.xy;
r0.x = dot(r0.xy, r0.xy);
r0.x = 1 + -r0.x;
r0.x = max(0, r0.x);
r7.z = sqrt(r0.x);
r0.xyz = float3(-1,-1,-1) + r7.xyz;
r2.x = cb3[5].x * r6.x;
r1.y = -r1.y * r6.x + 1;
r0.xyz = r2.xxx * r0.xyz + float3(0,0,1);
r0.xyz = float3(-1,-1,1) * r0.xyz;
r6.xyz = t33.SampleBias(s14_s, v1.xy, cb1[190].z).wxy;
r2.xz = r6.yz * float2(2,2) + float2(-1,-1);
r2.x = dot(r2.xz, r2.xz);
r2.x = 1 + -r2.x;
r2.x = max(0, r2.x);
r7.z = sqrt(r2.x);
r7.xy = r6.yz + r6.yz;
r6.x = saturate(r6.x);
r2.x = log2(r6.x);
r2.x = 2.20000005 * r2.x;
r2.x = exp2(r2.x);
r6.xyz = float3(-1,-1,1) + r7.xyz;
r7.xyz = float3(-1,-1,0) + r7.xyz;
r2.z = dot(r6.xyz, r0.xyz);
r6.xyz = r6.xyz / r6.zzz;
r0.xyz = r6.xyz * r2.zzz + -r0.xyz;
r0.xyz = float3(0,0,1) + r0.xyz;
r3.xy = r1.zw * float2(2,2) + float2(-1,-1);
r6.xy = r1.zw + r1.zw;
r1.z = dot(r3.xy, r3.xy);
r1.z = 1 + -r1.z;
r1.z = max(0, r1.z);
r6.z = sqrt(r1.z);
r6.xyz = float3(-1,-1,-1) + r6.xyz;
r1.z = cb3[8].x * r3.z;
r6.xyz = r1.zzz * r6.xyz + float3(0,0,1);
r6.xyz = float3(-1,-1,1) * r6.xyz;
r1.z = dot(r0.xyz, r6.xyz);
r0.xyz = r0.xyz / r0.zzz;
r0.xyz = r0.xyz * r1.zzz + -r6.xyz;
r0.xyz = float3(0,0,1) + r0.xyz;
r1.zw = r5.xy * float2(2,2) + float2(-1,-1);
r6.xy = r5.xy + r5.xy;
r1.z = dot(r1.zw, r1.zw);
r1.z = 1 + -r1.z;
r1.z = max(0, r1.z);
r6.z = sqrt(r1.z);
r5.xyw = float3(-1,-1,-1) + r6.xyz;
r1.z = cb3[17].x * r3.w;
r1.w = -r2.w * r3.z + 1;
r1.y = r1.y * r1.w;
r1.y = -r1.y * r4.w + 1;
r3.xyz = r1.zzz * r5.xyw + float3(0,0,1);
r3.xyz = float3(-1,-1,1) * r3.xyz;
r1.z = dot(r0.xyz, r3.xyz);
r0.xyz = r0.xyz / r0.zzz;
r0.xyz = r0.xyz * r1.zzz + -r3.xyz;
r3.xyz = r7.xyz + -r0.xyz;
r0.xyz = r1.xxx * r3.xyz + r0.xyz;
r3.xy = r4.xy * float2(2,2) + float2(-1,-1);
r1.z = dot(r3.xy, r3.xy);
r1.z = 1 + -r1.z;
r1.z = max(0, r1.z);
r3.z = sqrt(r1.z);
r3.xyz = r3.xyz + -r0.xyz;
r0.xyz = r0.www * r3.xyz + r0.xyz;
r3.xyz = w8.xyy ? v3.xyz : -v3.xyz;
r1.z = dot(r3.xyz, r3.xyz);
r1.z = rsqrt(r1.z);
r3.xyz = r3.xyz * r1.zzz;
r1.z = dot(v2.xyz, v2.xyz);
r1.z = rsqrt(r1.z);
r4.xyw = v2.xyz * r1.zzz;
r5.xyw = r4.ywx * r3.zxy;
r5.xyw = r3.yzx * r4.wxy + -r5.xyw;
r5.xyw = v3.www * r5.xyw;
r5.xyw = r5.xyw * r0.yyy;
r4.xyw = r0.xxx * r4.xyw + r5.xyw;
r0.xyz = r0.zzz * r3.xyz + r4.xyw;
r1.z = dot(r0.xyz, r0.xyz);
r1.z = rsqrt(r1.z);
r0.xyz = r1.zzz * r0.xyz;
o1.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5);
r0.xyz = t34.SampleBias(s14_s, v1.xy, cb1[190].z).xyz;
r2.yzw = r2.yyy + -r0.xyz;
o2.xyz = r0.www * r2.yzw + r0.xyz;
o2.w = 0;
r0.x = r1.y * r2.x;
r0.y = -r1.y * r2.x + r2.x;
r0.x = r1.x * r0.y + r0.x;
r0.y = r2.x + -r0.x;
r0.x = r5.z * r0.y + r0.x;
r0.y = r4.z + -r0.x;
o3.z = r0.w * r0.y + r0.x;
o3.xyw = float3(0,0,0);
o4.w = 0;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.67 on Sat Dec 16 10:14:55 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xyzw 1 NONE float xy
// TEXCOORD 1 xyzw 2 NONE float xyz
// TEXCOORD 2 xyzw 3 NONE float xyzw
// COLOR 0 xyzw 4 NONE float xyz
// TEXCOORD 3 xyzw 5 NONE float
// TEXCOORD 4 xyzw 6 NONE float y
// TEXCOORD 5 x 7 NONE uint x
// SV_SampleIndex 0 x 8 SAMPLE uint
// SV_IsFrontFace 0 y 8 FFACE uint y
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
// SV_Target 1 xyzw 1 TARGET float xyzw
// SV_Target 2 xyzw 2 TARGET float xyzw
// SV_Target 3 xyzw 3 TARGET float xyzw
// SV_Target 4 xyzw 4 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[191], immediateIndexed
dcl_constantbuffer cb2[1], immediateIndexed
dcl_constantbuffer cb3[33], immediateIndexed
dcl_constantbuffer cb9[1], immediateIndexed
dcl_sampler s14, mode_default
dcl_resource_buffer (float,float,float,float) t19
dcl_resource_texture2d (float,float,float,float) t32
dcl_resource_texture2d (float,float,float,float) t33
dcl_resource_texture2d (float,float,float,float) t34
dcl_resource_texture2d (float,float,float,float) t35
dcl_resource_texture2d (float,float,float,float) t36
dcl_resource_texture2d (float,float,float,float) t37
dcl_resource_texture2d (float,float,float,float) t38
dcl_resource_texture2d (float,float,float,float) t39
dcl_input_ps linear sample v1.xy
dcl_input_ps linear sample v2.xyz
dcl_input_ps linear sample v3.xyzw
dcl_input_ps linear sample v4.xyz
dcl_input_ps linear sample v6.y
dcl_input_ps constant v7.x
dcl_input_ps_sgv v8.y, is_front_face
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_temps 8
sample_b_indexable(texture2d)(float,float,float,float) r0.xyzw, v1.xyxx, t32.xyzw, s14, cb1[190].z
add r1.x, r0.w, -cb3[0].z
lt r1.x, r1.x, l(0.000000)
discard_nz r1.x
imul null, r1.x, v7.x, l(12)
ushr r1.x, r1.x, l(2)
iadd r1.x, r1.x, cb9[0].y
ld_indexable(buffer)(float,float,float,float) r1.x, r1.xxxx, t19.yxzw
iadd r1.x, r1.x, l(4)
ld_indexable(buffer)(float,float,float,float) r1.xy, r1.xxxx, t19.zwxy
ushr r1.z, r1.x, l(16)
f16tof32 r2.xyz, r1.xzyx
add r1.xyz, r2.xyzx, -cb2[0].xyzx
dp3 r1.x, r1.xyzx, r1.xyzx
sqrt r1.x, r1.x
div r1.x, r1.x, cb3[7].x
log r1.x, |r1.x|
mul r1.x, r1.x, cb3[19].x
exp r1.x, r1.x
min r1.x, r1.x, l(1.000000)
round_ni r1.y, cb3[16].x
mov r2.xy, v1.xyxx
mov r2.z, l(1.000000)
dp3 r1.z, r2.xyzx, cb3[22].xyzx
frc r1.z, r1.z
add r1.y, r1.y, r1.z
mul r3.x, r1.y, l(0.125000)
round_ni r1.y, cb3[18].x
dp3 r1.z, r2.xyzx, cb3[23].xyzx
frc r1.z, r1.z
add r1.y, r1.y, r1.z
mul r3.y, r1.y, l(0.250000)
sample_b_indexable(texture2d)(float,float,float,float) r1.yzw, r3.xyxx, t38.wxyz, s14, cb1[190].z
sample_b_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t39.xyzw, s14, cb1[190].z
add r1.yzw, r1.yyzw, l(0.000000, -1.000000, -1.000000, -1.000000)
mad r4.xyz, cb3[20].xxxx, r1.yzwy, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r1.y, cb3[9].x, r1.y, l(1.000000)
round_ni r1.z, cb3[10].x
dp3 r1.w, r2.xyzx, cb3[25].xyzx
frc r1.w, r1.w
add r1.z, r1.z, r1.w
mul r5.x, r1.z, l(0.125000)
round_ni r1.z, cb3[13].x
dp3 r1.w, r2.xyzx, cb3[26].xyzx
frc r1.w, r1.w
add r1.z, r1.z, r1.w
mul r5.y, r1.z, l(0.250000)
sample_b_indexable(texture2d)(float,float,float,float) r6.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z
sample_b_indexable(texture2d)(float,float,float,float) r1.zw, r5.xyxx, t39.zwxy, s14, cb1[190].z
add r5.xyz, r6.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r5.yzw, cb3[4].xxxx, r5.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mad r2.w, cb3[12].x, r5.x, l(1.000000)
sample_b_indexable(texture2d)(float,float,float,float) r3.zw, v1.xyxx, t36.zwxy, s14, cb1[190].z
add r6.xyzw, r3.zzzz, l(0.050000, 0.350000, 0.650000, 0.550000)
mul r3.z, r3.w, cb3[6].x
mul o4.xyz, r0.xyzx, r3.zzzz
round_ni r6.xyzw, r6.xyzw
add r3.zw, -r6.xxxy, r6.yyyz
mul r5.xyz, r3.zzzz, r5.yzwy
mad r4.xyz, r4.xyzx, r6.xxxx, r5.xyzx
round_ni r4.w, cb3[15].x
dp3 r5.x, r2.xyzx, cb3[31].xyzx
frc r5.x, r5.x
add r4.w, r4.w, r5.x
mul r5.x, r4.w, l(0.125000)
round_ni r4.w, cb3[14].x
dp3 r5.z, r2.xyzx, cb3[32].xyzx
frc r5.z, r5.z
add r4.w, r4.w, r5.z
mul r5.y, r4.w, l(0.250000)
sample_b_indexable(texture2d)(float,float,float,float) r7.xyz, r5.xyxx, t38.xyzw, s14, cb1[190].z
sample_b_indexable(texture2d)(float,float,float,float) r5.xy, r5.xyxx, t39.xyzw, s14, cb1[190].z
add r7.xyz, r7.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r7.yzw, cb3[21].xxxx, r7.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mad r4.w, cb3[11].x, r7.x, l(1.000000)
mad r4.w, -r4.w, r3.w, l(1.000000)
mad r4.xyz, r7.yzwy, r3.wwww, r4.xyzx
add r7.xyz, -r4.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
add r5.z, -r6.w, l(1.000000)
mad r4.xyz, r5.zzzz, r7.xyzx, r4.xyzx
add r6.yzw, -r4.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mad r4.xyz, r1.xxxx, r6.yzwy, r4.xyzx
mul r6.yzw, r0.xxyz, r4.xxyz
mad r0.xyz, -r4.xyzx, r0.xyzx, v4.xyzx
mov o1.w, r0.w
dp3 r4.x, r2.xyzx, cb3[28].xyzx
dp3 r4.y, r2.xyzx, cb3[29].xyzx
sample_b_indexable(texture2d)(float,float,float,float) r2.xy, r4.xyxx, t35.yzxw, s14, cb1[190].z
sample_b_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyxx, t37.xywz, s14, cb1[190].z
log r0.w, |v6.y|
mul r0.w, r0.w, l(0.750000)
exp r0.w, r0.w
mul r0.w, r0.w, r2.x
mul r0.w, r0.w, l(10.000000)
log r0.w, |r0.w|
mul r0.w, r0.w, l(1.800000)
exp r0.w, r0.w
min r0.w, r0.w, l(1.000000)
mad o0.xyz, r0.wwww, r0.xyzx, r6.yzwy
mov o0.w, l(1.000000)
mad r0.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
add r7.xy, r3.xyxx, r3.xyxx
dp2 r0.x, r0.xyxx, r0.xyxx
add r0.x, -r0.x, l(1.000000)
max r0.x, r0.x, l(0.000000)
sqrt r7.z, r0.x
add r0.xyz, r7.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r2.x, r6.x, cb3[5].x
mad r1.y, -r1.y, r6.x, l(1.000000)
mad r0.xyz, r2.xxxx, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul r0.xyz, r0.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r6.xyz, v1.xyxx, t33.wxyz, s14, cb1[190].z
mad r2.xz, r6.yyzy, l(2.000000, 0.000000, 2.000000, 0.000000), l(-1.000000, 0.000000, -1.000000, 0.000000)
dp2 r2.x, r2.xzxx, r2.xzxx
add r2.x, -r2.x, l(1.000000)
max r2.x, r2.x, l(0.000000)
sqrt r7.z, r2.x
add r7.xy, r6.yzyy, r6.yzyy
mov_sat r6.x, r6.x
log r2.x, r6.x
mul r2.x, r2.x, l(2.200000)
exp r2.x, r2.x
add r6.xyz, r7.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000)
add r7.xyz, r7.xyzx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp3 r2.z, r6.xyzx, r0.xyzx
div r6.xyz, r6.xyzx, r6.zzzz
mad r0.xyz, r6.xyzx, r2.zzzz, -r0.xyzx
add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mad r3.xy, r1.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
add r6.xy, r1.zwzz, r1.zwzz
dp2 r1.z, r3.xyxx, r3.xyxx
add r1.z, -r1.z, l(1.000000)
max r1.z, r1.z, l(0.000000)
sqrt r6.z, r1.z
add r6.xyz, r6.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r1.z, r3.z, cb3[8].x
mad r6.xyz, r1.zzzz, r6.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul r6.xyz, r6.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000)
dp3 r1.z, r0.xyzx, r6.xyzx
div r0.xyz, r0.xyzx, r0.zzzz
mad r0.xyz, r0.xyzx, r1.zzzz, -r6.xyzx
add r0.xyz, r0.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mad r1.zw, r5.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
add r6.xy, r5.xyxx, r5.xyxx
dp2 r1.z, r1.zwzz, r1.zwzz
add r1.z, -r1.z, l(1.000000)
max r1.z, r1.z, l(0.000000)
sqrt r6.z, r1.z
add r5.xyw, r6.xyxz, l(-1.000000, -1.000000, 0.000000, -1.000000)
mul r1.z, r3.w, cb3[17].x
mad r1.w, -r2.w, r3.z, l(1.000000)
mul r1.y, r1.w, r1.y
mad r1.y, -r1.y, r4.w, l(1.000000)
mad r3.xyz, r1.zzzz, r5.xywx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul r3.xyz, r3.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000)
dp3 r1.z, r0.xyzx, r3.xyzx
div r0.xyz, r0.xyzx, r0.zzzz
mad r0.xyz, r0.xyzx, r1.zzzz, -r3.xyzx
add r3.xyz, -r0.xyzx, r7.xyzx
mad r0.xyz, r1.xxxx, r3.xyzx, r0.xyzx
mad r3.xy, r4.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r1.z, r3.xyxx, r3.xyxx
add r1.z, -r1.z, l(1.000000)
max r1.z, r1.z, l(0.000000)
sqrt r3.z, r1.z
add r3.xyz, -r0.xyzx, r3.xyzx
mad r0.xyz, r0.wwww, r3.xyzx, r0.xyzx
movc r3.xyz, v8.yyyy, v3.xyzx, -v3.xyzx
dp3 r1.z, r3.xyzx, r3.xyzx
rsq r1.z, r1.z
mul r3.xyz, r1.zzzz, r3.xyzx
dp3 r1.z, v2.xyzx, v2.xyzx
rsq r1.z, r1.z
mul r4.xyw, r1.zzzz, v2.xyxz
mul r5.xyw, r3.zxzy, r4.ywyx
mad r5.xyw, r3.yzyx, r4.wxwy, -r5.xyxw
mul r5.xyw, r5.xyxw, v3.wwww
mul r5.xyw, r0.yyyy, r5.xyxw
mad r4.xyw, r0.xxxx, r4.xyxw, r5.xyxw
mad r0.xyz, r0.zzzz, r3.xyzx, r4.xywx
dp3 r1.z, r0.xyzx, r0.xyzx
rsq r1.z, r1.z
mul r0.xyz, r0.xyzx, r1.zzzz
mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t34.xyzw, s14, cb1[190].z
add r2.yzw, -r0.xxyz, r2.yyyy
mad o2.xyz, r0.wwww, r2.yzwy, r0.xyzx
mov o2.w, l(0)
mul r0.x, r2.x, r1.y
mad r0.y, -r1.y, r2.x, r2.x
mad r0.x, r1.x, r0.y, r0.x
add r0.y, -r0.x, r2.x
mad r0.x, r5.z, r0.y, r0.x
add r0.y, -r0.x, r4.z
mad o3.z, r0.w, r0.y, r0.x
mov o3.xyw, l(0,0,0,0)
mov o4.w, l(0)
ret
// Approximately 0 instruction slots used

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

BTW I also get the error sound for the corresponding VS.

Disabling the overlay by setting "hunting=0" (or =2 to switch it on/off) also makes the shader visible again which I just disabled by marking it (marking_mode=skip). So there seems to be no way to disable a shader by skipping in huntig mode and remove the overlay at the same time :( In Helixmod I could do this with F11.

My original display name is 3d4dd - for some reason Nvidia changed it..?!

Posted 12/16/2017 09:41 AM   
There is a way to skip shaders in "d3dx.ini" too :). Make a section like this: [code] [ShaderOverrideRandomstring] Hash=9999999999999999 Handling=skip [/code] Using your own shader hash, of course (don't paste the "-ps_replace.txt" there, just the number). You don't need the shader file anymore after that, especially because it gives you an error.
There is a way to skip shaders in "d3dx.ini" too :).

Make a section like this:

[ShaderOverrideRandomstring]
Hash=9999999999999999
Handling=skip


Using your own shader hash, of course (don't paste the "-ps_replace.txt" there, just the number). You don't need the shader file anymore after that, especially because it gives you an error.

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 12/16/2017 11:23 AM   
That's great and just what I was loking for! To disable several shaders the code should be like this (as I discovered by try and error): [code][ShaderOverrideRandomstring1] Hash=38a88971788ac98d Handling=skip [ShaderOverrideRandomstring2] Hash=b06d11bb9d1c4ec3 Handling=skip[/code] Just in case someone else needs this ;) Thank You for Your help! The game is much more playable now without the halos covering large areas of the screen.
That's great and just what I was loking for!
To disable several shaders the code should be like this (as I discovered by try and error):
[ShaderOverrideRandomstring1]
Hash=38a88971788ac98d
Handling=skip

[ShaderOverrideRandomstring2]
Hash=b06d11bb9d1c4ec3
Handling=skip

Just in case someone else needs this ;)

Thank You for Your help! The game is much more playable now without the halos covering large areas of the screen.

My original display name is 3d4dd - for some reason Nvidia changed it..?!

Posted 12/16/2017 12:10 PM   
Kinda off-tangent here but i've been using 3D Migoto to modify shaders in Nioh and i'm kinda lacking the expertise here. Basically i was disabling player tint when for coop players which looks like so: [img]https://i.imgur.com/AfqgVhZ.jpg[/img] It's a separate pixel shader for each body part and it worked out well for the most part [img]https://i.imgur.com/Sinjz9h.jpg[/img] Except for the love of god i can't fix the hair - the pixel shader that handles it can't be dumped, it makes different kind of beep when dumping and resulting shader ignores all changes i make. Any tips or ideas?
Kinda off-tangent here but i've been using 3D Migoto to modify shaders in Nioh and i'm kinda lacking the expertise here.

Basically i was disabling player tint when for coop players which looks like so:
Image

It's a separate pixel shader for each body part and it worked out well for the most part

Image

Except for the love of god i can't fix the hair - the pixel shader that handles it can't be dumped, it makes different kind of beep when dumping and resulting shader ignores all changes i make.

Any tips or ideas?

Image

Posted 12/16/2017 06:34 PM   
  116 / 143    
Scroll To Top