radv/winsys: add RADEON_FLAG_READ_ONLY

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset 2017-12-05 13:57:07 +01:00
parent 2dab5e96ec
commit a3aaa03624
2 changed files with 4 additions and 1 deletions

View File

@ -55,6 +55,7 @@ enum radeon_bo_flag { /* bitfield */
RADEON_FLAG_VA_UNCACHED = (1 << 4),
RADEON_FLAG_IMPLICIT_SYNC = (1 << 5),
RADEON_FLAG_NO_INTERPROCESS_SHARING = (1 << 6),
RADEON_FLAG_READ_ONLY = (1 << 7),
};
enum radeon_bo_usage { /* bitfield */

View File

@ -49,12 +49,14 @@ radv_amdgpu_bo_va_op(struct radv_amdgpu_winsys *ws,
uint32_t ops)
{
uint64_t flags = AMDGPU_VM_PAGE_READABLE |
AMDGPU_VM_PAGE_WRITEABLE |
AMDGPU_VM_PAGE_EXECUTABLE;
if ((bo_flags & RADEON_FLAG_VA_UNCACHED) && ws->info.chip_class >= GFX9)
flags |= AMDGPU_VM_MTYPE_UC;
if (!(bo_flags & RADEON_FLAG_READ_ONLY))
flags |= AMDGPU_VM_PAGE_WRITEABLE;
size = ALIGN(size, getpagesize());
return amdgpu_bo_va_op_raw(ws->dev, bo, offset, size, addr,