Bug 102710 - vkCmdBlitImage with arrayLayers > 1 fails
Summary: vkCmdBlitImage with arrayLayers > 1 fails
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: 17.2
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-13 18:50 UTC by maister
Modified: 2017-12-18 00:52 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Hack patch (3.01 KB, patch)
2017-09-15 21:21 UTC, maister
Details | Splinter Review

Description maister 2017-09-13 18:50:00 UTC
vkCmdBlitImage with number of layers > 1 seems to fail. The workaround is to do N individual vkCmdBlitImages.
Comment 1 Bas Nieuwenhuizen 2017-09-13 19:27:20 UTC
Do you have a testcase?

Could you also tell a bit more about what you do and what happens? Do you use VK_REMAINING_ARRAY_LAYERS? Is the result only the first layer being written to, all layers containing layer 0 of the src, or some other recognizable pattern?
Comment 2 maister 2017-09-15 20:38:27 UTC
Here's the workaround I apply. N is not REMAINING_ARRAY_LAYERS.

https://github.com/Themaister/Granite/blob/master/vulkan/command_buffer.cpp#L289

Only the first layer seems to be blitted.
Comment 3 maister 2017-09-15 21:21:36 UTC
Created attachment 134269 [details] [review]
Hack patch
Comment 4 maister 2017-09-15 21:23:31 UTC
The implementation is clearly wrong. Image views are setup incorrectly for 2D arrays. The hack patch fixes the issue, but it's probably broken for other cases.
Comment 5 maister 2017-09-15 21:27:49 UTC
This is clearly missing conformance coverage: https://github.com/KhronosGroup/VK-GL-CTS/issues/50


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.