On Tue, Feb 14, 2017 at 09:37:20AM -0800, Jason Ekstrand wrote: > On Tue, Feb 14, 2017 at 9:35 AM, Connor Abbott <cwabbo...@gmail.com> wrote: > > > 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. > > > Drp... Yeah, this looks fine. > > Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> > > I'll run it through CI and push it. > >
Looks like this patch should fix this bug: https://bugs.freedesktop.org/show_bug.cgi?id=97579 > > > > > >> > > >> > > >> 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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev