On Tue, Feb 14, 2017 at 12:33 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote: > On Tue, Feb 14, 2017 at 9:23 AM, Connor Abbott <cwabbo...@gmail.com> wrote: >> >> Even though we supported both coherent and non-coherent memory types, we >> effectively forced apps to use the coherent types by accident. Found by >> inspection, only compile tested. >> >> Signed-off-by: Connor Abbott <cwabbo...@gmail.com> >> --- >> I sent this out a while ago, but it seems like it was lost. >> --- >> src/intel/vulkan/anv_device.c | 14 ++++++++------ >> 1 file changed, 8 insertions(+), 6 deletions(-) >> >> diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c >> index 46b83a3..57d70b6 100644 >> --- a/src/intel/vulkan/anv_device.c >> +++ b/src/intel/vulkan/anv_device.c >> @@ -1554,11 +1554,12 @@ VkResult anv_InvalidateMappedMemoryRanges( >> } >> >> void anv_GetBufferMemoryRequirements( >> - VkDevice device, >> + VkDevice _device, >> VkBuffer _buffer, >> VkMemoryRequirements* pMemoryRequirements) >> { >> ANV_FROM_HANDLE(anv_buffer, buffer, _buffer); >> + ANV_FROM_HANDLE(anv_device, device, _device); >> >> /* The Vulkan spec (git aaed022) says: >> * >> @@ -1567,20 +1568,21 @@ void anv_GetBufferMemoryRequirements( >> * only if the memory type `i` in the >> VkPhysicalDeviceMemoryProperties >> * structure for the physical device is supported. >> * >> - * We support exactly one memory type. >> + * We support exactly one memory type on LLC, two on non-LLC. >> */ >> - pMemoryRequirements->memoryTypeBits = 1; >> + pMemoryRequirements->memoryTypeBits = device->info.has_llc ? 1 : 3; > > > Is it two or three? The comment and code don't match.
It's a bitfield. See the comment above. > >> >> >> pMemoryRequirements->size = buffer->size; >> pMemoryRequirements->alignment = 16; >> } >> >> void anv_GetImageMemoryRequirements( >> - VkDevice device, >> + VkDevice _device, >> VkImage _image, >> VkMemoryRequirements* pMemoryRequirements) >> { >> ANV_FROM_HANDLE(anv_image, image, _image); >> + ANV_FROM_HANDLE(anv_device, device, _device); >> >> /* The Vulkan spec (git aaed022) says: >> * >> @@ -1589,9 +1591,9 @@ void anv_GetImageMemoryRequirements( >> * only if the memory type `i` in the >> VkPhysicalDeviceMemoryProperties >> * structure for the physical device is supported. >> * >> - * We support exactly one memory type. >> + * We support exactly one memory type on LLC, two on non-LLC. >> */ >> - pMemoryRequirements->memoryTypeBits = 1; >> + pMemoryRequirements->memoryTypeBits = device->info.has_llc ? 1 : 3; >> >> pMemoryRequirements->size = image->size; >> pMemoryRequirements->alignment = image->alignment; >> -- >> 2.9.3 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev