File tree 2 files changed +10
-4
lines changed
2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -183,11 +183,11 @@ namespace rsx
183
183
u32 draw_clause::execute_pipeline_dependencies (context* ctx, instanced_draw_config_t * instance_config) const
184
184
{
185
185
u32 result = 0u ;
186
- for (;
187
- current_barrier_it != draw_command_barriers.end () && current_barrier_it ->draw_id == current_range_index;
188
- current_barrier_it ++)
186
+ for (auto it = current_barrier_it ;
187
+ it != draw_command_barriers.end () && it ->draw_id == current_range_index;
188
+ it ++)
189
189
{
190
- const auto & barrier = *current_barrier_it ;
190
+ const auto & barrier = *it ;
191
191
switch (barrier.type )
192
192
{
193
193
case primitive_restart_barrier:
Original file line number Diff line number Diff line change @@ -252,6 +252,12 @@ namespace rsx
252
252
return false ;
253
253
}
254
254
255
+ // Advance barrier iterator so it always points to the current draw
256
+ for (;
257
+ current_barrier_it != draw_command_barriers.end () &&
258
+ current_barrier_it->draw_id < current_range_index;
259
+ ++current_barrier_it);
260
+
255
261
if (draw_command_ranges[current_range_index].count == 0 )
256
262
{
257
263
// Dangling execution barrier
You can’t perform that action at this time.
0 commit comments