Mesa (master): r600/sfn: add emit if start cayman support

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon May 18 22:07:57 UTC 2020


Module: Mesa
Branch: master
Commit: b11aa12253ad3f0ed68e98b320e873572e1fba32
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b11aa12253ad3f0ed68e98b320e873572e1fba32

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon May 18 16:40:55 2020 +1000

r600/sfn: add emit if start cayman support

Reviewed-by: Gert Wollny <gert.wollny at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084>

---

 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) {



More information about the mesa-commit mailing list