[Mesa-dev] [PATCH] radv: allow buffers to be shareable as well.

Dave Airlie airlied at gmail.com
Mon Jul 24 07:13:00 UTC 2017


On 24 July 2017 at 16:49, Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl> wrote:
> On Mon, Jul 24, 2017 at 5:03 AM, Dave Airlie <airlied at gmail.com> wrote:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> Buffers should report dedicated flags as well, so report the
>> same information for them as for images.
>>
>> (alternately we can turn dedicated off for buffers maybe?)
>>
>> Fixes CTS dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.info
>>
>> Fixes: b70829708a (radv: Implement VK_KHR_external_memory)
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>>  src/amd/vulkan/radv_device.c  | 5 ++++-
>>  src/amd/vulkan/radv_private.h | 1 +
>>  2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
>> index 40b2f34..4b11a4f 100644
>> --- a/src/amd/vulkan/radv_device.c
>> +++ b/src/amd/vulkan/radv_device.c
>> @@ -2389,12 +2389,13 @@ void radv_GetBufferMemoryRequirements2KHR(
>>         radv_GetBufferMemoryRequirements(device, pInfo->buffer,
>>                                          &pMemoryRequirements->memoryRequirements);
>>
>> +       RADV_FROM_HANDLE(radv_buffer, buffer, pInfo->buffer);
>>         vk_foreach_struct(ext, pMemoryRequirements->pNext) {
>>                 switch (ext->sType) {
>>                 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: {
>>                         VkMemoryDedicatedRequirementsKHR *req =
>>                                        (VkMemoryDedicatedRequirementsKHR *) ext;
>> -                       req->requiresDedicatedAllocation = false;
>> +                       req->requiresDedicatedAllocation = buffer->shareable;
>>                         req->prefersDedicatedAllocation = req->requiresDedicatedAllocation;
>
> Just always do false here and ignore the entire shareable thing?

Well that's pretty much what the code does now. Do we want buffers to
be shareable?
do they need a dedicated allocation (i.e. can have allocation have
images and buffers in
it that the buffers get shared from, I assume this would fail due to
metadata but probably not).

The other option is to disable the dedicateed flag on buffers.

Dave.


More information about the mesa-dev mailing list