aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2020-05-18 16:40:55 +1000
committerMarge Bot <[email protected]>2020-05-18 21:56:29 +0000
commitb11aa12253ad3f0ed68e98b320e873572e1fba32 (patch)
treeed7c37878de2e06cc1708819df8dbf5fd10c34f0 /src/gallium/drivers/r600
parent4746796b825d9eb607e6d0a5132339c313010146 (diff)
r600/sfn: add emit if start cayman support
Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084>
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r--src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp b/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp
index 6bb6486eb92..6b5da430622 100644
--- a/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp
@@ -485,11 +485,11 @@ bool AssemblyFromShaderLegacyImpl::emit_export(const ExportInstruction & exi)
bool AssemblyFromShaderLegacyImpl::emit_if_start(const IfInstruction & if_instr)
{
- assert(m_bc->chip_class == EVERGREEN);
-
bool needs_workaround = false;
int elems = m_callstack.push(FC_PUSH_VPM);
+ if (m_bc->chip_class == CAYMAN && m_bc->stack.loop > 1)
+ needs_workaround = true;
if (m_bc->family != CHIP_HEMLOCK &&
m_bc->family != CHIP_CYPRESS &&
m_bc->family != CHIP_JUNIPER) {