mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
radv/amdgpu: add support for AMDGPU_GEM_CREATE_GFX12_DCC
This flags will be used to set PTE.DCC to VRAM allocations (ie. compression). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33284>
This commit is contained in:
parent
5ac72c5f56
commit
d6f9c19755
2 changed files with 10 additions and 0 deletions
|
|
@ -49,6 +49,7 @@ enum radeon_bo_flag { /* bitfield */
|
|||
RADEON_FLAG_ZERO_VRAM = (1 << 10),
|
||||
RADEON_FLAG_REPLAYABLE = (1 << 11),
|
||||
RADEON_FLAG_DISCARDABLE = (1 << 12),
|
||||
RADEON_FLAG_GFX12_ALLOW_DCC = (1 << 13),
|
||||
};
|
||||
|
||||
enum radeon_ctx_priority {
|
||||
|
|
@ -173,6 +174,7 @@ struct radeon_winsys_bo {
|
|||
bool vram_no_cpu_access;
|
||||
/* buffer is added to the BO list of all submissions */
|
||||
bool use_global_list;
|
||||
bool gfx12_allow_dcc;
|
||||
enum radeon_bo_domain initial_domain;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -512,6 +512,12 @@ radv_amdgpu_winsys_bo_create(struct radeon_winsys *_ws, uint64_t size, unsigned
|
|||
if (flags & RADEON_FLAG_DISCARDABLE && ws->info.drm_minor >= 47)
|
||||
request.flags |= AMDGPU_GEM_CREATE_DISCARDABLE;
|
||||
|
||||
if (flags & RADEON_FLAG_GFX12_ALLOW_DCC && ws->info.drm_minor >= 58) {
|
||||
assert(ws->info.gfx_level >= GFX12 && (initial_domain & RADEON_DOMAIN_VRAM));
|
||||
bo->base.gfx12_allow_dcc = true;
|
||||
request.flags |= AMDGPU_GEM_CREATE_GFX12_DCC;
|
||||
}
|
||||
|
||||
r = ac_drm_bo_alloc(ws->dev, &request, &buf_handle);
|
||||
if (r) {
|
||||
fprintf(stderr, "radv/amdgpu: Failed to allocate a buffer:\n");
|
||||
|
|
@ -905,6 +911,8 @@ radv_amdgpu_bo_get_flags_from_fd(struct radeon_winsys *_ws, int fd, enum radeon_
|
|||
*flags |= RADEON_FLAG_NO_INTERPROCESS_SHARING | RADEON_FLAG_PREFER_LOCAL_BO;
|
||||
if (info.alloc_flags & AMDGPU_GEM_CREATE_VRAM_CLEARED)
|
||||
*flags |= RADEON_FLAG_ZERO_VRAM;
|
||||
if (info.alloc_flags & AMDGPU_GEM_CREATE_GFX12_DCC)
|
||||
*flags |= RADEON_FLAG_GFX12_ALLOW_DCC;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue