Making a GDS Allocation for NGG

Jin, Jian-Rong Jian-Rong.Jin at
Wed Aug 15 13:23:43 UTC 2018

GFX9 will not be supported.

Jian-Rong Jin

在 2018年8月15日,下午8:33,Jakub Okoński <jakub at<mailto:jakub at>> 写道:

Hey Jian-Rong,

Will gfx9 get support from KMD and LLPC by the time gfx10 releases, or is it only going to be a gfx10-and-forward feature?

If not, is there something missing in gfx9 hardware? Are you allowed to say?


On Wed, 15 Aug 2018 at 08:36 Jin, Jian-Rong <Jian-Rong.Jin at<mailto:Jian-Rong.Jin at>> wrote:
Hi Jakub。
Both KMD and LLPC are not ready to support NGG for gfx9. We are going to support NGG in amdvlk for next generation GPU.

Jian-Rong JIN

-----Original Message-----
From: amd-gfx <amd-gfx-bounces at<mailto:amd-gfx-bounces at>> On Behalf Of Jakub Okoński
Sent: 2018年8月14日 21:31
To: amd-gfx at<mailto:amd-gfx at>
Subject: Making a GDS Allocation for NGG

Hi folks,

I was trying to play around with NGG on Vega using the open source AMDVLK stack.
After fetching all the code, I disabled an override in PAL, under gfx9SettingsLoader.cpp that disables the NGG setting. I've put a new option in my
amdPalSettings.cfg: `NggMode,7` and that was enough to enable it.

When I ran a small vulkan application, it crashed with a "Not implemented" error in Pal::Linux::Device::AllocateGds. The comment there says:

    // TODO: implement it once amdgpu is ready.

I couldn't find anything specific to GDS allocation in upstream kernel, so I looked at agd5f/amd-staging-drm-next and found some code related to AMDGPU_GEM_DOMAIN_GDS and allocating a bo object. This is in amdgpu_gem_create_ioctl, so I think it's accessible to userspace, with a small change in libdrm, probably.

Is this what is needed to make a GDS allocation that NGG would accept, or is it unrelated? Do you know if there are any other blockers for NGG besides this?

amd-gfx mailing list
amd-gfx at<mailto:amd-gfx at>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the amd-gfx mailing list