Open dati91 opened 6 years ago
The following errors are from this revision.
I ran the basic
and blob
examples and picked the common errors for starter.
0x180
and 0x600
) is not supported by dstStageMask (0x2000). The spec valid usage text states 'Each element of pMemoryBarriers, pBufferMemoryBarriers and pImageMemoryBarriers must not have any access flag included in its dstAccessMask member if that bit is not supported by any of the pipeline stages in dstStageMask, as specified in the table of supported access types.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-pMemoryBarriers-01185)
There are other errors, but we can start with these first.
vkCreateSampler()
already addressed in https://github.com/gfx-rs/gfx/commit/e30271227df027b7b8e2d239bd7ec39d5e4146e6More errors:
From basic:
From blob:
From both:
vkCreateSampler() already addressed in gfx-rs/gfx@e302712
The issue
ERROR:: [ParameterValidation] vkCreateSampler(): The samplerAnisotropy feature was not enabled at device-creation time, so the maxAnisotropy member of the VkSamplerCreateInfo structure must be 1.0 but is 0.000000.
is still exist because the default value here is set to 0.0
instead of 1.0
as the error states.
cc @kvark
argh, sorry
Another error:
The remaining issues:
We need to fix the barriers #99
The cache clip shaders don't use the aData input attributes.
We are not releasing the resources correctly
It seems like I missed something in the latest rebase.
It most probably related to the new DashAndDot
Vertex array kind.
nonCoherentAtomSize
(64).After updating the VulkanSDK we have new validation layer error(s), which we should take care:
Descriptor set related:
[x] VALIDATION [UNASSIGNED-CoreValidation-DrawState-InvalidCommandBuffer (0)] : You are adding vkQueueSubmit() to command buffer 0x55932df42c80 that is invalid because bound DescriptorSet 0x47 was destroyed or updated. object info: (type: COMMAND_BUFFER, hndl: 94090619530368)
[x] VALIDATION [VUID-VkWriteDescriptorSet-descriptorType-01403 (0)] : vkUpdateDescriptorSets() failed write update validation for Descriptor Set 0x2d with error: Write update to VkDescriptorSet 0x2d allocated with VkDescriptorSetLayout 0x2c binding #2 failed with error message: Attempted write update to image descriptor failed due to: Descriptor update with descriptorType VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE is being updated with invalid imageLayout VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL. Allowed layouts are: VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL. The Vulkan spec states: If descriptorType is VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE or VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, the imageLayout member of each element of pImageInfo must be a member of the list given in Sampled Image or Combined Image Sampler, corresponding to its type (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkWriteDescriptorSet-descriptorType-01403) object info: (type: DESCRIPTOR_SET, hndl: 45)
These are happening after window resize:
[x] ERROR 2019-05-02T11:30:08Z: gfx_backend_vulkan: VALIDATION [UNASSIGNED-CoreValidation-DrawState-InvalidRenderArea (0)] : Cannot execute a render pass with renderArea not within the bound of the framebuffer. RenderArea: x 0, y 0, width 1920, height 1107. Framebuffer: width 1440, height 1080. object info: (type: UNKNOWN, hndl: 0)
[ ] ERROR 2019-05-02T11:30:08Z: gfx_backend_vulkan: VALIDATION [VUID-VkImageBlit-dstOffset-00248 (0)] : vkCmdBlitImage: region [0] dstOffset[].x values (1392, 1904) exceed dstSubresource width extent (1440). The Vulkan spec states: dstOffset[0].x and dstOffset[1].x must both be greater than or equal to 0 and less than or equal to the destination image subresource width (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkImageBlit-dstOffset-00248) object info: (type: COMMAND_BUFFER, hndl: 94821767681360)
These are related for examples:
image_resize example:
document example:
[x] ERROR 2019-05-03T13:16:58Z: gfx_backend_vulkan: VALIDATION [UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (0)] : Submitted command buffer expects image 0x80 (subresource: aspectMask 0x1 array layer 0, mip level 0) to be in layout VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL--instead, current layout is VK_IMAGE_LAYOUT_UNDEFINED. object info: (type: COMMAND_BUFFER, hndl: 94595987603872)
[x] ERROR 2019-05-03T13:16:58Z: gfx_backend_vulkan: VALIDATION [UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (0)] : Submitted command buffer expects image 0x7f (subresource: aspectMask 0x1 array layer 0, mip level 0) to be in layout VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL--instead, current layout is VK_IMAGE_LAYOUT_PRESENT_SRC_KHR. object info: (type: COMMAND_BUFFER, hndl: 94595988562848)
[x] ERROR 2019-05-03T13:16:58Z: gfx_backend_vulkan: VALIDATION [UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (0)] : Submitted command buffer expects image 0x7f (subresource: aspectMask 0x1 array layer 0, mip level 0) to be in layout VK_IMAGE_LAYOUT_PRESENT_SRC_KHR--instead, current layout is VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL. object info: (type: COMMAND_BUFFER, hndl: 94595989385136)
And there is a D3D12 error:
We encountered the following issue with an Nvidia card:
These are Gecko related:
Now that most of the major components are in place, we should pay more attention to the validation layer.
We can collect the issues here and identify the corresponding code, then fix it.