소스 검색

radv/wsi: drop allocate memory special case

Just check if image has scanout flag set

v2 (Jason Ekstrand):
 - Rebase
 - Also drop the now unused radv_mem_flag_bits enum

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
tags/18.0-branchpoint
Dave Airlie 7 년 전
부모
커밋
69365d72de
2개의 변경된 파일6개의 추가작업 그리고 20개의 파일을 삭제
  1. 6
    10
      src/amd/vulkan/radv_device.c
  2. 0
    10
      src/amd/vulkan/radv_private.h

+ 6
- 10
src/amd/vulkan/radv_device.c 파일 보기

@@ -2126,13 +2126,11 @@ bool radv_get_memory_fd(struct radv_device *device,
pFD);
}

VkResult radv_alloc_memory(VkDevice _device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
enum radv_mem_flags_bits mem_flags,
VkDeviceMemory* pMem)
static VkResult radv_alloc_memory(struct radv_device *device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
VkDeviceMemory* pMem)
{
RADV_FROM_HANDLE(radv_device, device, _device);
struct radv_device_memory *mem;
VkResult result;
enum radeon_bo_domain domain;
@@ -2202,9 +2200,6 @@ VkResult radv_alloc_memory(VkDevice _device,
if (mem_type_index == RADV_MEM_TYPE_GTT_WRITE_COMBINE)
flags |= RADEON_FLAG_GTT_WC;

if (mem_flags & RADV_MEM_IMPLICIT_SYNC)
flags |= RADEON_FLAG_IMPLICIT_SYNC;

if (!dedicate_info && !import_info)
flags |= RADEON_FLAG_NO_INTERPROCESS_SHARING;

@@ -2233,7 +2228,8 @@ VkResult radv_AllocateMemory(
const VkAllocationCallbacks* pAllocator,
VkDeviceMemory* pMem)
{
return radv_alloc_memory(_device, pAllocateInfo, pAllocator, 0, pMem);
RADV_FROM_HANDLE(radv_device, device, _device);
return radv_alloc_memory(device, pAllocateInfo, pAllocator, pMem);
}

void radv_FreeMemory(

+ 0
- 10
src/amd/vulkan/radv_private.h 파일 보기

@@ -106,11 +106,6 @@ enum radv_mem_type {
RADV_MEM_TYPE_COUNT
};

enum radv_mem_flags_bits {
/* enable implicit synchronization when accessing the underlying bo */
RADV_MEM_IMPLICIT_SYNC = 1 << 0,
};

#define radv_printflike(a, b) __attribute__((__format__(__printf__, a, b)))

static inline uint32_t
@@ -988,11 +983,6 @@ void radv_cmd_buffer_trace_emit(struct radv_cmd_buffer *cmd_buffer);
bool radv_get_memory_fd(struct radv_device *device,
struct radv_device_memory *memory,
int *pFD);
VkResult radv_alloc_memory(VkDevice _device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
enum radv_mem_flags_bits flags,
VkDeviceMemory* pMem);

/*
* Takes x,y,z as exact numbers of invocations, instead of blocks.

Loading…
취소
저장