1+ Texture2D <float3 > __3__36__0__0__g_glareSource : register (t28, space36);
2+
3+ Texture2D <float3 > __3__36__0__0__g_colorAdatationSource : register (t76, space36);
4+
5+ RWTexture2D <float3 > __3__38__0__1__g_bloom1UAV : register (u17, space38);
6+
7+ RWTexture2D <float3 > __3__38__0__1__g_bloom2UAV : register (u18, space38);
8+
9+ RWTexture2D <float3 > __3__38__0__1__g_bloom3UAV : register (u19, space38);
10+
11+ RWTexture2D <float3 > __3__38__0__1__g_bloom4UAV : register (u20, space38);
12+
13+ RWTexture2D <float3 > __3__38__0__1__g_bloom5UAV : register (u21, space38);
14+
15+ RWTexture2D <float3 > __3__38__0__1__g_bloom6UAV : register (u22, space38);
16+
17+ RWTexture2D <float3 > __3__38__0__1__g_colorAdatationSourceUAV : register (u24, space38);
18+
19+ cbuffer __3__1__0__0__GlobalPushConstants : register (b0, space1) {
20+ float4 _textureSizeAndInvSize : packoffset (c000.x);
21+ float4 _blurParam : packoffset (c001.x);
22+ float4 _glareParam : packoffset (c002.x);
23+ float4 _renderParam : packoffset (c003.x);
24+ float4 _exposureParam : packoffset (c004.x);
25+ float4 _histogramParam : packoffset (c005.x);
26+ float4 _whiteBalance : packoffset (c006.x);
27+ float4 _glareBlurParam : packoffset (c007.x);
28+ float4 _preFrameViewPosition : packoffset (c008.x);
29+ };
30+
31+ SamplerState __0__4__0__0__g_staticBilinearClamp : register (s3, space4);
32+
33+ groupshared float g_Tile[3072 ];
34+ groupshared float g_Tile2[3072 ];
35+
36+ [numthreads (32 , 32 , 1 )]
37+ void main (
38+ uint3 SV_DispatchThreadID : SV_DispatchThreadID ,
39+ uint3 SV_GroupID : SV_GroupID ,
40+ uint3 SV_GroupThreadID : SV_GroupThreadID ,
41+ uint SV_GroupIndex : SV_GroupIndex
42+ ) {
43+ float _26 = ((float ((uint )SV_DispatchThreadID.x) * 2.0f ) + 1.0f ) * _textureSizeAndInvSize.z;
44+ float _27 = ((float ((uint )SV_DispatchThreadID.y) * 2.0f ) + 1.0f ) * _textureSizeAndInvSize.w;
45+ float3 _30 = __3__36__0__0__g_glareSource.SampleLevel (__0__4__0__0__g_staticBilinearClamp, float2 (_26, _27), 0.0f );
46+ float3 _35 = __3__36__0__0__g_colorAdatationSource.SampleLevel (__0__4__0__0__g_staticBilinearClamp, float2 (_26, _27), 0.0f );
47+ g_Tile[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _30.x;
48+ g_Tile[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _30.y;
49+ g_Tile[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _30.z;
50+ __3__38__0__1__g_bloom1UAV[int2 ((int )(SV_DispatchThreadID.x), (int )(SV_DispatchThreadID.y))] = float3 (_30.x, _30.y, _30.z);
51+ g_Tile2[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _35.x;
52+ g_Tile2[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _35.y;
53+ g_Tile2[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _35.z;
54+ GroupMemoryBarrierWithGroupSync ();
55+ float _164;
56+ float _165;
57+ float _166;
58+ float _167;
59+ float _168;
60+ float _169;
61+ float _276;
62+ float _277;
63+ float _278;
64+ float _279;
65+ float _280;
66+ float _281;
67+ float _388;
68+ float _389;
69+ float _390;
70+ float _391;
71+ float _392;
72+ float _393;
73+ float _500;
74+ float _501;
75+ float _502;
76+ float _503;
77+ float _504;
78+ float _505;
79+ if ((((int )(SV_DispatchThreadID.y) | (int )(SV_DispatchThreadID.x)) & 1 ) == 0 ) {
80+ float _109 = ((((g_Tile[((int )(0u + (((int )(SV_GroupIndex + 1u)) * 3 )))]) + _30.x) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 32u)) * 3 )))])) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 33u)) * 3 )))])) * 0.25f ;
81+ float _110 = ((((g_Tile[((int )(1u + (((int )(SV_GroupIndex + 1u)) * 3 )))]) + _30.y) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 32u)) * 3 )))])) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 33u)) * 3 )))])) * 0.25f ;
82+ float _111 = ((((g_Tile[((int )(2u + (((int )(SV_GroupIndex + 1u)) * 3 )))]) + _30.z) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 32u)) * 3 )))])) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 33u)) * 3 )))])) * 0.25f ;
83+ g_Tile[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _109;
84+ g_Tile[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _110;
85+ g_Tile[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _111;
86+ __3__38__0__1__g_bloom2UAV[int2 (((uint )(SV_DispatchThreadID.x) >> 1 ), ((uint )(SV_DispatchThreadID.y) >> 1 ))] = float3 (_109, _110, _111);
87+ float _160 = ((((g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 1u)) * 3 )))]) + _35.x) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 32u)) * 3 )))])) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 33u)) * 3 )))])) * 0.25f ;
88+ float _161 = ((((g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 1u)) * 3 )))]) + _35.y) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 32u)) * 3 )))])) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 33u)) * 3 )))])) * 0.25f ;
89+ float _162 = ((((g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 1u)) * 3 )))]) + _35.z) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 32u)) * 3 )))])) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 33u)) * 3 )))])) * 0.25f ;
90+ g_Tile2[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _160;
91+ g_Tile2[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _161;
92+ g_Tile2[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _162;
93+ _164 = _109;
94+ _165 = _110;
95+ _166 = _111;
96+ _167 = _160;
97+ _168 = _161;
98+ _169 = _162;
99+ } else {
100+ _164 = _30.x;
101+ _165 = _30.y;
102+ _166 = _30.z;
103+ _167 = _35.x;
104+ _168 = _35.y;
105+ _169 = _35.z;
106+ }
107+ GroupMemoryBarrierWithGroupSync ();
108+ if ((((int )(SV_DispatchThreadID.y) | (int )(SV_DispatchThreadID.x)) & 3 ) == 0 ) {
109+ float _221 = ((((g_Tile[((int )(0u + (((int )(SV_GroupIndex + 2u)) * 3 )))]) + _164) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 64u)) * 3 )))])) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 66u)) * 3 )))])) * 0.25f ;
110+ float _222 = ((((g_Tile[((int )(1u + (((int )(SV_GroupIndex + 2u)) * 3 )))]) + _165) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 64u)) * 3 )))])) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 66u)) * 3 )))])) * 0.25f ;
111+ float _223 = ((((g_Tile[((int )(2u + (((int )(SV_GroupIndex + 2u)) * 3 )))]) + _166) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 64u)) * 3 )))])) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 66u)) * 3 )))])) * 0.25f ;
112+ g_Tile[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _221;
113+ g_Tile[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _222;
114+ g_Tile[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _223;
115+ __3__38__0__1__g_bloom3UAV[int2 (((uint )(SV_DispatchThreadID.x) >> 2 ), ((uint )(SV_DispatchThreadID.y) >> 2 ))] = float3 (_221, _222, _223);
116+ float _272 = ((((g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 2u)) * 3 )))]) + _167) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 64u)) * 3 )))])) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 66u)) * 3 )))])) * 0.25f ;
117+ float _273 = ((((g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 2u)) * 3 )))]) + _168) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 64u)) * 3 )))])) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 66u)) * 3 )))])) * 0.25f ;
118+ float _274 = ((((g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 2u)) * 3 )))]) + _169) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 64u)) * 3 )))])) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 66u)) * 3 )))])) * 0.25f ;
119+ g_Tile2[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _272;
120+ g_Tile2[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _273;
121+ g_Tile2[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _274;
122+ _276 = _221;
123+ _277 = _222;
124+ _278 = _223;
125+ _279 = _272;
126+ _280 = _273;
127+ _281 = _274;
128+ } else {
129+ _276 = _164;
130+ _277 = _165;
131+ _278 = _166;
132+ _279 = _167;
133+ _280 = _168;
134+ _281 = _169;
135+ }
136+ GroupMemoryBarrierWithGroupSync ();
137+ if ((((int )(SV_DispatchThreadID.y) | (int )(SV_DispatchThreadID.x)) & 7 ) == 0 ) {
138+ float _333 = ((((g_Tile[((int )(0u + (((int )(SV_GroupIndex + 4u)) * 3 )))]) + _276) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 128u)) * 3 )))])) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 132u)) * 3 )))])) * 0.25f ;
139+ float _334 = ((((g_Tile[((int )(1u + (((int )(SV_GroupIndex + 4u)) * 3 )))]) + _277) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 128u)) * 3 )))])) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 132u)) * 3 )))])) * 0.25f ;
140+ float _335 = ((((g_Tile[((int )(2u + (((int )(SV_GroupIndex + 4u)) * 3 )))]) + _278) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 128u)) * 3 )))])) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 132u)) * 3 )))])) * 0.25f ;
141+ g_Tile[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _333;
142+ g_Tile[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _334;
143+ g_Tile[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _335;
144+ __3__38__0__1__g_bloom4UAV[int2 (((uint )(SV_DispatchThreadID.x) >> 3 ), ((uint )(SV_DispatchThreadID.y) >> 3 ))] = float3 (_333, _334, _335);
145+ float _384 = ((((g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 4u)) * 3 )))]) + _279) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 128u)) * 3 )))])) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 132u)) * 3 )))])) * 0.25f ;
146+ float _385 = ((((g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 4u)) * 3 )))]) + _280) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 128u)) * 3 )))])) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 132u)) * 3 )))])) * 0.25f ;
147+ float _386 = ((((g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 4u)) * 3 )))]) + _281) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 128u)) * 3 )))])) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 132u)) * 3 )))])) * 0.25f ;
148+ g_Tile2[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _384;
149+ g_Tile2[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _385;
150+ g_Tile2[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _386;
151+ _388 = _333;
152+ _389 = _334;
153+ _390 = _335;
154+ _391 = _384;
155+ _392 = _385;
156+ _393 = _386;
157+ } else {
158+ _388 = _276;
159+ _389 = _277;
160+ _390 = _278;
161+ _391 = _279;
162+ _392 = _280;
163+ _393 = _281;
164+ }
165+ GroupMemoryBarrierWithGroupSync ();
166+ if ((((int )(SV_DispatchThreadID.y) | (int )(SV_DispatchThreadID.x)) & 15 ) == 0 ) {
167+ float _445 = ((((g_Tile[((int )(0u + (((int )(SV_GroupIndex + 8u)) * 3 )))]) + _388) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 256u)) * 3 )))])) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 264u)) * 3 )))])) * 0.25f ;
168+ float _446 = ((((g_Tile[((int )(1u + (((int )(SV_GroupIndex + 8u)) * 3 )))]) + _389) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 256u)) * 3 )))])) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 264u)) * 3 )))])) * 0.25f ;
169+ float _447 = ((((g_Tile[((int )(2u + (((int )(SV_GroupIndex + 8u)) * 3 )))]) + _390) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 256u)) * 3 )))])) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 264u)) * 3 )))])) * 0.25f ;
170+ g_Tile[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _445;
171+ g_Tile[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _446;
172+ g_Tile[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _447;
173+ __3__38__0__1__g_bloom5UAV[int2 (((uint )(SV_DispatchThreadID.x) >> 4 ), ((uint )(SV_DispatchThreadID.y) >> 4 ))] = float3 (_445, _446, _447);
174+ float _496 = ((((g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 8u)) * 3 )))]) + _391) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 256u)) * 3 )))])) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 264u)) * 3 )))])) * 0.25f ;
175+ float _497 = ((((g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 8u)) * 3 )))]) + _392) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 256u)) * 3 )))])) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 264u)) * 3 )))])) * 0.25f ;
176+ float _498 = ((((g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 8u)) * 3 )))]) + _393) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 256u)) * 3 )))])) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 264u)) * 3 )))])) * 0.25f ;
177+ g_Tile2[((int )(0u + ((int )(SV_GroupIndex) * 3 )))] = _496;
178+ g_Tile2[((int )(1u + ((int )(SV_GroupIndex) * 3 )))] = _497;
179+ g_Tile2[((int )(2u + ((int )(SV_GroupIndex) * 3 )))] = _498;
180+ _500 = _445;
181+ _501 = _446;
182+ _502 = _447;
183+ _503 = _496;
184+ _504 = _497;
185+ _505 = _498;
186+ } else {
187+ _500 = _388;
188+ _501 = _389;
189+ _502 = _390;
190+ _503 = _391;
191+ _504 = _392;
192+ _505 = _393;
193+ }
194+ GroupMemoryBarrierWithGroupSync ();
195+ if ((((int )(SV_DispatchThreadID.y) | (int )(SV_DispatchThreadID.x)) & 31 ) == 0 ) {
196+ int _560 = (uint )(SV_DispatchThreadID.x) >> 5 ;
197+ int _561 = (uint )(SV_DispatchThreadID.y) >> 5 ;
198+ __3__38__0__1__g_bloom6UAV[int2 (_560, _561)] = float3 ((((((g_Tile[((int )(0u + (((int )(SV_GroupIndex + 16u)) * 3 )))]) + _500) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 512u)) * 3 )))])) + (g_Tile[((int )(0u + (((int )(SV_GroupIndex + 528u)) * 3 )))])) * 0.25f ), (((((g_Tile[((int )(1u + (((int )(SV_GroupIndex + 16u)) * 3 )))]) + _501) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 512u)) * 3 )))])) + (g_Tile[((int )(1u + (((int )(SV_GroupIndex + 528u)) * 3 )))])) * 0.25f ), (((((g_Tile[((int )(2u + (((int )(SV_GroupIndex + 16u)) * 3 )))]) + _502) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 512u)) * 3 )))])) + (g_Tile[((int )(2u + (((int )(SV_GroupIndex + 528u)) * 3 )))])) * 0.25f ));
199+ __3__38__0__1__g_colorAdatationSourceUAV[int2 (_560, _561)] = float3 ((((((g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 16u)) * 3 )))]) + _503) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 512u)) * 3 )))])) + (g_Tile2[((int )(0u + (((int )(SV_GroupIndex + 528u)) * 3 )))])) * 0.25f ), (((((g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 16u)) * 3 )))]) + _504) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 512u)) * 3 )))])) + (g_Tile2[((int )(1u + (((int )(SV_GroupIndex + 528u)) * 3 )))])) * 0.25f ), (((((g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 16u)) * 3 )))]) + _505) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 512u)) * 3 )))])) + (g_Tile2[((int )(2u + (((int )(SV_GroupIndex + 528u)) * 3 )))])) * 0.25f ));
200+ }
201+ }
0 commit comments