71 int3 dispatch_setup_size_ =
int3(-1);
75 Texture reduced_coc_tx_ = {
"dof_reduced_coc"};
76 Texture reduced_color_tx_ = {
"dof_reduced_color"};
81 bool32_t stabilize_valid_history_ =
false;
82 int3 dispatch_stabilize_size_ =
int3(-1);
87 int3 dispatch_downsample_size_ =
int3(-1);
95 int3 dispatch_reduce_size_ =
int3(-1);
101 int3 dispatch_tiles_flatten_size_ =
int3(-1);
102 PassSimple tiles_flatten_ps_ = {
"TilesFlatten"};
105 int tiles_dilate_ring_count_ = -1;
106 int tiles_dilate_ring_width_mul_ = -1;
107 int3 dispatch_tiles_dilate_size_ =
int3(-1);
108 PassSimple tiles_dilate_minmax_ps_ = {
"TilesDilateMinmax"};
109 PassSimple tiles_dilate_minabs_ps_ = {
"TilesDilateMinabs"};
117 int3 dispatch_gather_size_ =
int3(-1);
127 int3 dispatch_filter_size_ =
int3(-1);
139 int3 dispatch_resolve_size_ =
int3(-1);
145 float user_overblur_ = 0.0f;
146 float fx_max_coc_ = 0.0f;
148 bool do_jitter_ =
false;
150 bool use_bokeh_lut_ =
false;
153 float fx_radius_ = 0.0f;
155 float jitter_radius_ = 0.0f;
157 float focus_distance_ = 0.0f;
161 bool enabled_ =
false;
187 return fx_radius_ > 0.0f;
196 void bokeh_lut_pass_sync();
197 void setup_pass_sync();
198 void stabilize_pass_sync();
199 void downsample_pass_sync();
200 void reduce_pass_sync();
201 void tiles_flatten_pass_sync();
202 void tiles_dilate_pass_sync();
203 void gather_pass_sync();
204 void filter_pass_sync();
205 void scatter_pass_sync();
206 void hole_fill_pass_sync();
207 void resolve_pass_sync();
213 void update_sample_table();
@ GPU_SAMPLER_FILTERING_LINEAR