mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
radeonsi: add a debug flag to zero vram allocations
This allows to avoid having to see garbage in Dying Light loading screen at least, which probably expects Windows/NV behavior of all allocations being zeroed by default. Analogous to radv flag with the same name. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
4e0d93dc0e
commit
f966929805
5 changed files with 7 additions and 0 deletions
|
|
@ -82,6 +82,7 @@ static const struct debug_named_value debug_options[] = {
|
|||
{ "nowc", DBG(NO_WC), "Disable GTT write combining" },
|
||||
{ "check_vm", DBG(CHECK_VM), "Check VM faults and dump debug info." },
|
||||
{ "reserve_vmid", DBG(RESERVE_VMID), "Force VMID reservation per context." },
|
||||
{ "zerovram", DBG(ZERO_VRAM), "Clear VRAM allocations." },
|
||||
|
||||
/* 3D engine options: */
|
||||
{ "switch_on_eop", DBG(SWITCH_ON_EOP), "Program WD/IA to switch on end-of-packet." },
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@ enum {
|
|||
DBG_NO_WC,
|
||||
DBG_CHECK_VM,
|
||||
DBG_RESERVE_VMID,
|
||||
DBG_ZERO_VRAM,
|
||||
|
||||
/* 3D engine options: */
|
||||
DBG_SWITCH_ON_EOP,
|
||||
|
|
|
|||
|
|
@ -428,6 +428,9 @@ static struct amdgpu_winsys_bo *amdgpu_create_bo(struct amdgpu_winsys *ws,
|
|||
if (flags & RADEON_FLAG_NO_INTERPROCESS_SHARING &&
|
||||
ws->info.has_local_buffers)
|
||||
request.flags |= AMDGPU_GEM_CREATE_VM_ALWAYS_VALID;
|
||||
if (ws->zero_all_vram_allocs &&
|
||||
(request.preferred_heap & AMDGPU_GEM_DOMAIN_VRAM))
|
||||
request.flags |= AMDGPU_GEM_CREATE_VRAM_CLEARED;
|
||||
|
||||
r = amdgpu_bo_alloc(ws->dev, &request, &buf_handle);
|
||||
if (r) {
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd)
|
|||
ws->check_vm = strstr(debug_get_option("R600_DEBUG", ""), "check_vm") != NULL;
|
||||
ws->debug_all_bos = debug_get_option_all_bos();
|
||||
ws->reserve_vmid = strstr(debug_get_option("R600_DEBUG", ""), "reserve_vmid") != NULL;
|
||||
ws->zero_all_vram_allocs = strstr(debug_get_option("R600_DEBUG", ""), "zerovram") != NULL;
|
||||
|
||||
return true;
|
||||
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ struct amdgpu_winsys {
|
|||
bool check_vm;
|
||||
bool debug_all_bos;
|
||||
bool reserve_vmid;
|
||||
bool zero_all_vram_allocs;
|
||||
|
||||
/* List of all allocated buffers */
|
||||
simple_mtx_t global_bo_list_lock;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue