Bug 111302

Summary: radv assertion failed on SI cards `reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONFIG_REG_END'
Product: Mesa Reporter: Turo Lamminen <turo.lamminen>
Component: Drivers/Vulkan/radeonAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: major    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Backtrace

Description Turo Lamminen 2019-08-06 09:38:50 UTC
Created attachment 144953 [details]
Backtrace

Running any Vulkan program which creates pipelines (vulkaninfo works, crash info from vkcube) triggers an assertion:

../src/amd/vulkan/radv_cs.h:45: radeon_set_config_reg_seq: Assertion `reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONFIG_REG_END' failed.

Bisected to:
219d6939df8070bdc6e5054e71985a9d6d668da4 is the first bad commit
commit 219d6939df8070bdc6e5054e71985a9d6d668da4
Author: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Date:   Fri Jul 12 11:12:57 2019 +0200

    radv: add more assertions to make sure packets are correctly emitted
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>


GPU: 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
Kernel: 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux
LLVM: 9.0 SVN revision 366059 from apt.llvm.org
No errors in dmesg

Commenting out the assert allows it to proceed and seems to work but I doubt it's the right thing.

This should probably be a release blocker.
Comment 1 Bas Nieuwenhuizen 2019-08-06 09:54:54 UTC
Looks like one of the assert bounds was wrong,

https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1590

should fix this. Please confirm whether it fixes the issue for you.
Comment 2 Turo Lamminen 2019-08-06 09:57:57 UTC
Confirmed, that fixes it for me.
Comment 3 Turo Lamminen 2019-08-08 13:25:09 UTC
Patch has landed, closing.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.