Skip to content

Instantly share code, notes, and snippets.

@Zorro666
Last active June 4, 2024 05:35
Show Gist options
  • Save Zorro666/5e616ca1b24369765a040c1bb8785bb6 to your computer and use it in GitHub Desktop.
Save Zorro666/5e616ca1b24369765a040c1bb8785bb6 to your computer and use it in GitHub Desktop.
; shader debug name: d6823b86668146338fec4f7b32de5d32.pdb
; shader hash: d6823b86668146338fec4f7b32de5d32
; Compute Shader, compiled under SM6.2
_dx.types.Handle = type { int8* }
_dx.types.CBufRet.f32 = type { float, float, float, float }
_dx.types.ResRet.f32 = type { float, float, float, float, int }
_"class.Texture2D<vector<float, 3> >" = type { float3, _"class.Texture2D<vector<float, 3> >::mips_type" }
_"class.Texture2D<vector<float, 3> >::mips_type" = type { int }
_"class.StructuredBuffer<float>" = type { float }
_"class.RWTexture2D<vector<float, 3> >" = type { float3 }
_"class.RWTexture2D<unsigned int>" = type { int }
_cb0 = type { float2, float }
_struct.SamplerState = type { int }
Texture2D<float3> SourceTex : register(t0, space0);
StructuredBuffer<float> Exposure : register(t1, space0);
RWTexture2D<float3> BloomResult : register(u0, space0);
RWTexture2D<int> LumaResult : register(u1, space0);
cbuffer cb0 : register(b0, space0)
{
float2 g_inverseOutputSize;
float g_bloomThreshold;
};
SamplerState BiLinearClamp : register(s0, space0);
void @main()
{
_dx.types.Handle _LumaResult_UAV_2d = LumaResult;
_dx.types.Handle _BloomResult_UAV_2d = BloomResult;
_dx.types.Handle _Exposure_texture_structbuf = Exposure;
_dx.types.Handle _SourceTex_texture_2d = SourceTex;
_dx.types.Handle _BiLinearClamp_sampler = BiLinearClamp;
_dx.types.Handle _cb0_cbuffer = cb0;
int _1 = ThreadId(/*component*/ 0);
int _2 = ThreadId(/*component*/ 1);
float _.i0 = (float)(_1); // unsigned
float _.i1 = (float)(_2); // unsigned
_dx.types.CBufRet.f32 _3 = {cb0.g_inverseOutputSize.x, cb0.g_inverseOutputSize.y, cb0.g_bloomThreshold, <padding>}; // cbuffer = cb0, byte_offset = 0
float _4 = extractvalue _3, 0;
float _5 = extractvalue _3, 1;
float _6 = _.i0 + 0.250000;
float _7 = _4 * _6;
float _8 = _.i1 + 0.250000;
float _9 = _5 * _8;
_dx.types.ResRet.f32 _10 = SourceTex.SampleLevel(BiLinearClamp, _7, _9, Offset = {0, 0}, /*LOD*/ 0.000000);
float _11 = extractvalue _10, 0;
float _12 = extractvalue _10, 1;
float _13 = extractvalue _10, 2;
float _14 = _.i0 + 0.750000;
float _15 = _4 * _14;
_dx.types.ResRet.f32 _16 = SourceTex.SampleLevel(BiLinearClamp, _15, _9, Offset = {0, 0}, /*LOD*/ 0.000000);
float _17 = extractvalue _16, 0;
float _18 = extractvalue _16, 1;
float _19 = extractvalue _16, 2;
float _20 = _.i1 + 0.750000;
float _21 = _5 * _20;
_dx.types.ResRet.f32 _22 = SourceTex.SampleLevel(BiLinearClamp, _7, _21, Offset = {0, 0}, /*LOD*/ 0.000000);
float _23 = extractvalue _22, 0;
float _24 = extractvalue _22, 1;
float _25 = extractvalue _22, 2;
_dx.types.ResRet.f32 _26 = SourceTex.SampleLevel(BiLinearClamp, _15, _21, Offset = {0, 0}, /*LOD*/ 0.000000);
float _27 = extractvalue _26, 0;
float _28 = extractvalue _26, 1;
float _29 = extractvalue _26, 2;
float _30 = dot({_11, _12, _13}, {0.212671, 0.715160, 0.0721690});
float _31 = dot({_17, _18, _19}, {0.212671, 0.715160, 0.0721690});
float _32 = dot({_23, _24, _25}, {0.212671, 0.715160, 0.0721690});
float _33 = dot({_27, _28, _29}, {0.212671, 0.715160, 0.0721690});
float _34 = extractvalue _3, 2;
_dx.types.ResRet.f32 _RawBufferLoad = Exposure[1];
float _35 = extractvalue _RawBufferLoad, 0;
float _36 = _35 * _34;
float _37 = _30 - _36;
float _FMax = max(0.000100000, _37);
float _38 = _30 + 0.000100000;
float _39 = _FMax / _38;
float _.i020 = _39 * _11;
float _.i121 = _39 * _12;
float _.i2 = _39 * _13;
float _40 = _31 - _36;
float _FMax3 = max(0.000100000, _40);
float _41 = _31 + 0.000100000;
float _42 = _FMax3 / _41;
float _.i022 = _42 * _17;
float _.i123 = _42 * _18;
float _.i224 = _42 * _19;
float _43 = _32 - _36;
float _FMax4 = max(0.000100000, _43);
float _44 = _32 + 0.000100000;
float _45 = _FMax4 / _44;
float _.i025 = _45 * _23;
float _.i126 = _45 * _24;
float _.i227 = _45 * _25;
float _46 = _33 - _36;
float _FMax5 = max(0.000100000, _46);
float _47 = _33 + 0.000100000;
float _48 = _FMax5 / _47;
float _.i028 = _48 * _27;
float _.i129 = _48 * _28;
float _.i230 = _48 * _29;
float _49 = _30 + 1.00000;
float _50 = 1.00000 / _49;
float _51 = _31 + 1.00000;
float _52 = 1.00000 / _51;
float _53 = _32 + 1.00000;
float _54 = 1.00000 / _53;
float _55 = _33 + 1.00000;
float _56 = 1.00000 / _55;
float _57 = _52 + _50;
float _58 = _57 + _54;
float _59 = _58 + _56;
float _.i031 = _.i020 * _50;
float _.i132 = _.i121 * _50;
float _.i233 = _.i2 * _50;
float _.i034 = _.i022 * _52;
float _.i135 = _.i123 * _52;
float _.i236 = _.i224 * _52;
float _.i037 = _.i034 + _.i031;
float _.i138 = _.i135 + _.i132;
float _.i239 = _.i236 + _.i233;
float _.i040 = _.i025 * _54;
float _.i141 = _.i126 * _54;
float _.i242 = _.i227 * _54;
float _.i043 = _.i037 + _.i040;
float _.i144 = _.i138 + _.i141;
float _.i245 = _.i239 + _.i242;
float _.i046 = _.i028 * _56;
float _.i147 = _.i129 * _56;
float _.i248 = _.i230 * _56;
float _.i049 = _.i043 + _.i046;
float _.i150 = _.i144 + _.i147;
float _.i251 = _.i245 + _.i248;
float _.i052 = _.i049 / _59;
float _.i153 = _.i150 / _59;
float _.i254 = _.i251 / _59;
BloomResult[_1, _2] = {_.i052, _.i153, _.i254, _.i052};
float _60 = _31 + _30;
float _61 = _60 + _32;
float _62 = _61 + _33;
float _63 = _62 * 0.250000;
bool _64 = (_63 == 0.000000);
if (_64) goto _label65; else goto _label66;
_label65:
LumaResult[_1, _2] = {0, 0, 0, 0};
goto _label74;
_label66:
_dx.types.ResRet.f32 _RawBufferLoad1 = Exposure[4];
float _67 = extractvalue _RawBufferLoad1, 0;
_dx.types.ResRet.f32 _RawBufferLoad2 = Exposure[7];
float _68 = extractvalue _RawBufferLoad2, 0;
float _Log = log(_63);
float _69 = _Log - _67;
float _70 = _69 * _68;
float _Saturate = sat(_70);
float _71 = _Saturate * 254.000;
float _72 = _71 + 1.00000;
int _73 = (int)(_72); // unsigned
LumaResult[_1, _2] = {_73, _73, _73, _73};
goto _label74;
_label74: // preceeded by _label66, _label65
return;
}
@Swyter
Copy link

Swyter commented Jun 1, 2024

@Zorro666 Not sure if fixed already, but preceeded -> preceded. I think.

@Zorro666
Copy link
Author

Zorro666 commented Jun 4, 2024

Thanks fixed now "preceded"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment