mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
rsx: Do not consume draw call barrier iterator when executing deps
This commit is contained in:
parent
6a3e08383d
commit
fdd6259945
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 draw_clause::execute_pipeline_dependencies(context* ctx, instanced_draw_config_t* instance_config) const
|
||||||
{
|
{
|
||||||
u32 result = 0u;
|
u32 result = 0u;
|
||||||
for (;
|
for (auto it = current_barrier_it;
|
||||||
current_barrier_it != draw_command_barriers.end() && current_barrier_it->draw_id == current_range_index;
|
it != draw_command_barriers.end() && it->draw_id == current_range_index;
|
||||||
current_barrier_it++)
|
it++)
|
||||||
{
|
{
|
||||||
const auto& barrier = *current_barrier_it;
|
const auto& barrier = *it;
|
||||||
switch (barrier.type)
|
switch (barrier.type)
|
||||||
{
|
{
|
||||||
case primitive_restart_barrier:
|
case primitive_restart_barrier:
|
||||||
|
|
|
@ -252,6 +252,12 @@ namespace rsx
|
||||||
return false;
|
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)
|
if (draw_command_ranges[current_range_index].count == 0)
|
||||||
{
|
{
|
||||||
// Dangling execution barrier
|
// Dangling execution barrier
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue