mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 05:18:00 +03:00
rsx: Do not consume draw call barrier iterator when executing deps
This commit is contained in:
parent
f3f1a2bb5d
commit
7c27b7b727
2 changed files with 10 additions and 4 deletions
|
@ -183,11 +183,11 @@ namespace rsx
|
|||
u32 draw_clause::execute_pipeline_dependencies(context* ctx, instanced_draw_config_t* instance_config) const
|
||||
{
|
||||
u32 result = 0u;
|
||||
for (;
|
||||
current_barrier_it != draw_command_barriers.end() && current_barrier_it->draw_id == current_range_index;
|
||||
current_barrier_it++)
|
||||
for (auto it = current_barrier_it;
|
||||
it != draw_command_barriers.end() && it->draw_id == current_range_index;
|
||||
it++)
|
||||
{
|
||||
const auto& barrier = *current_barrier_it;
|
||||
const auto& barrier = *it;
|
||||
switch (barrier.type)
|
||||
{
|
||||
case primitive_restart_barrier:
|
||||
|
|
|
@ -252,6 +252,12 @@ namespace rsx
|
|||
return false;
|
||||
}
|
||||
|
||||
// Advance barrier iterator so it always points to the current draw
|
||||
for (;
|
||||
current_barrier_it != draw_command_barriers.end() &&
|
||||
current_barrier_it->draw_id < current_range_index;
|
||||
++current_barrier_it);
|
||||
|
||||
if (draw_command_ranges[current_range_index].count == 0)
|
||||
{
|
||||
// Dangling execution barrier
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue