Possible validation error in https://docs.vulkan.org/tutorial/latest/07_Depth_buffering.html

Đang mở Phù hợp với người mới
#439 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
68/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
cpp
Lĩnh vực
computer-graphics

Hướng nghiên cứu

Bắt đầu từ trang hướng dẫn về depth-buffering và tái hiện vấn đề bằng cách chỉ chọn vk::Format::eD32SfloatS8Uint và vk::Format::eD24UnormS8Uint trong danh sách định dạng được hỗ trợ. Kiểm tra quá trình chuyển đổi layout của depth image và xác minh rằng aspect mask bao gồm các depth aspect và stencil aspect bắt buộc, sau đó chạy lại hướng dẫn với validation được bật để xác nhận lỗi được báo cáo đã biến mất.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

The aspect mask for the depth image layout transition is hardcoded to vk::ImageAspectFlagBits::eDepth

If, while choosing the depth image format, vk::Format::eD32Sfloat, is not selected, the program will cause this validation error:

Validation Error: [ VUID-VkImageMemoryBarrier2-image-03320 ] | MessageID = 0xb7ab59da
vkCmdPipelineBarrier2(): pDependencyInfo->pImageMemoryBarriers[0].image (VkImage 0xf000000000f) has depth/stencil format VK_FORMAT_D32_SFLOAT_S8_UINT, but its aspectMask is VK_IMAGE_ASPECT_DEPTH_BIT.
The Vulkan spec states: If image has a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is not enabled, then the aspectMask member of subresourceRange must include both VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT (https://docs.vulkan.org/spec/latest/chapters/synchronization.html#VUID-VkImageMemoryBarrier2-image-03320)
Objects: 2
    [0] VkCommandBuffer 0x25a64390990
    [1] VkImage 0xf000000000f
Steps to reproduce

Change

return findSupportedFormat({vk::Format::eD32Sfloat, vk::Format::eD32SfloatS8Uint, vk::Format::eD24UnormS8Uint},
		                           vk::ImageTiling::eOptimal,
		                           vk::FormatFeatureFlagBits::eDepthStencilAttachment);

To this

return findSupportedFormat({vk::Format::eD32SfloatS8Uint, vk::Format::eD24UnormS8Uint},
		                           vk::ImageTiling::eOptimal,
		                           vk::FormatFeatureFlagBits::eDepthStencilAttachment);
Ngôn ngữ chính
C++
Star
424
Fork
127
Merge trung bình
2 ngày 22 giờ
Pull request đã merge (30 ngày)
7

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của KhronosGroup/Vulkan-Tutorial

Tất cả issue của KhronosGroup/Vulkan-Tutorial

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.