From b11aa12253ad3f0ed68e98b320e873572e1fba32 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 18 May 2020 16:40:55 +1000 Subject: [PATCH] r600/sfn: add emit if start cayman support Reviewed-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp | 4 ++-- 1 file 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) { -- 2.30.2