Support For Mysterious AMD VanGogh and Dimgrey Cavefish GPUs Merged To The Mesa RadeonSI OpenGL Driver

From LinuxReviews
Jump to navigationJump to search
Amdlogo.png

AMD merged support for two new graphics chips into the RadeonSI Mesa OpenGL driver for AMD graphics cards today: CHIP_DIMGREY_CAVEFISH and CHIP_VANGOGH. The patches were written back in July 2020. Dimgrey Cavefish is placed in the Navi (FAMILY_NV) family while VanGogh is something different. Both chips are in the GFX10 family with the features AMD markets as "RDNA2".

written by 윤채경 (Yoon Chae-kyung). published 2020-09-22last edited 2020-09-22

AMD HD7850 GPU.20200108.jpg
A AMD HD 7850 GPU from 2013.

Two separate patches written by AMD Open Source Lab developer Marek Olšák, who happens to be one of the biggest Mesa graphics stack contributors in history, were merged into the Mesa master branch today. They provide initial OpenGL support for two never-before seen graphics chips: "VanGogh" and "Dimgrey Cavefish".

The patch adding support for "Dimgrey Cavefish" is the less interesting one of the two. It places "Dimgrey Cavefish" in the same FAMILY_NV Navi GPU family two other yet-to-come-to-market chips are in: SIENNA_CICHLID and NAVY_FLOUNDER. Linux 5.9 will support those when it is released (it's currently at rc6).

The Mesa patch adding support for "VanGogh" is a bit more interesting due to the way VanGogh is listed in gfx10addrlib.cpp:

ChipFamily Gfx10Lib::HwlConvertChipFamily(
    UINT_32 chipFamily,        ///< [in] chip family defined in atiih.h
    UINT_32 chipRevision)      ///< [in] chip revision defined in "asic_family"_id.h
{
    ChipFamily family = ADDR_CHIP_FAMILY_NAVI;

    m_settings.dccUnsup3DSwDis = 1;

    switch (chipFamily)
    {
        case FAMILY_NV:
            m_settings.isDcn2 = 1;

            if (ASICREV_IS_SIENNA_CICHLID(chipRevision))
            {
                m_settings.supportRbPlus   = 1;
                m_settings.dccUnsup3DSwDis = 0;
            }

            if (ASICREV_IS_NAVY_FLOUNDER(chipRevision))
            {
                m_settings.supportRbPlus   = 1;
                m_settings.dccUnsup3DSwDis = 0;
            }

            if (ASICREV_IS_DIMGREY_CAVEFISH(chipRevision))
            {
                m_settings.supportRbPlus   = 1;
                m_settings.dccUnsup3DSwDis = 0;
            }
            break;

        case FAMILY_VGH:
            m_settings.isDcn2 = 1;

            if (ASICREV_IS_VANGOGH(chipRevision))
            {
                m_settings.supportRbPlus   = 1;
                m_settings.dccUnsup3DSwDis = 0;
            }
            break;

        default:
            ADDR_ASSERT(!"Unknown chip family");
            break;
    }

It seems that VanGogh belongs to the same GFX10 family RDNA based RX 5000 series graphics cards belong to but it is not a FAMILY_NV chip, it belongs to it's own special FAMILY_VGH family.

It is interesting to note that there is currently absolutely no mention of any FAMILY_VGH chip in the agd5f drm-next next tree. Where oh where is the kernel support for this chip? The current amdgpu/amdgpu_device.c in Linux mainline git lists these chips in the Navi family:

        case  CHIP_NAVI10:
        case  CHIP_NAVI14:
        case  CHIP_NAVI12:
        case  CHIP_SIENNA_CICHLID:
        case  CHIP_NAVY_FLOUNDER:
                adev->family = AMDGPU_FAMILY_NV;

                r = nv_set_ip_blocks(adev);
                if (r)
                        return r;
                break;

amdgpu/amdgpu_device.c has APUs and AI chips listed separately. It could be that VanGoth is some kind of RDNA2-based APU given that it is not listed side-by-side with what is clearly chips for dedicated GPUs.

What kind of actual features these new chips will have is hard to say before until there is more code to look at. Vulkan support in the form of Mesa RADV code and Linux kernel support will likely reveal further details.

0.00
(0 votes)

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.