validation errors

This commit is contained in:
Denis Pauk 2024-08-11 01:16:52 +03:00
parent e0ced95190
commit eba63618b9
3 changed files with 14 additions and 1 deletions

View file

@ -2173,6 +2173,9 @@ VkResult QVk_BeginFrame(const VkViewport* viewport, const VkRect2D* scissor)
ReleaseSwapBuffers();
/*
* VK_ERROR: Validation Error: [ VUID-vkAcquireNextImageKHR-semaphore-01779 ] Object 0: handle = 0x90000000009, name = Semaphore: image available #0, type = VK_OBJECT_TYPE_SEMAPHORE; | MessageID = 0x5717e75b | vkAcquireNextImageKHR(): Semaphore must not have any pending operations. The Vulkan spec states: If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkAcquireNextImageKHR-semaphore-01779) (validation)
*/
VkResult result = vkAcquireNextImageKHR(vk_device.logical, vk_swapchain.sc, 500000000, vk_imageAvailableSemaphores[vk_activeBufferIdx], VK_NULL_HANDLE, &vk_imageIndex);
if (result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_SUBOPTIMAL_KHR || result == VK_ERROR_SURFACE_LOST_KHR || result == VK_TIMEOUT)
{
@ -2691,6 +2694,9 @@ void QVk_DrawTexRect(const float *ubo, VkDeviceSize uboSize, qvktexture_t *textu
&vk_texRectVbo.resource.buffer, &offsets);
vkCmdBindIndexBuffer(vk_activeCmdbuffer,
vk_rectIbo.resource.buffer, 0, VK_INDEX_TYPE_UINT32);
/*
* VK_WARNING: Validation Warning: [ BestPractices-PushConstants ] Object 0: handle = 0xaaaaadf16a40, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x1248c6a4 | vkCmdDrawIndexed(): Pipeline uses push constants with 112 bytes, but byte 0 was never set with vkCmdPushConstants. (validation)
*/
vkCmdDrawIndexed(vk_activeCmdbuffer, 6, 1, 0, 0, 0);
printf("%d: %s\n", drawCalls++, __func__);
}

View file

@ -390,8 +390,12 @@ static void ChangeColorBufferLayout(VkImage image, VkImageLayout fromLayout, VkI
.image = image,
.subresourceRange = subresourceRange,
};
/*
* VK_WARNING: Validation Warning: [ BestPractices-TransitionUndefinedToReadOnly ] Object 0: handle = 0x1a000000001a, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0xe10fe22f | vkCmdPipelineBarrier(): pImageMemoryBarriers[0] VkImageMemoryBarrier is being submitted with oldLayout VK_IMAGE_LAYOUT_UNDEFINED and the contents may be discarded, but the newLayout is VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, which is read only. (validation)
*/
vkCmdPipelineBarrier(commandBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, 0u, 0u, NULL, 0u, NULL, 1u, &imageBarrier);
vkCmdPipelineBarrier(commandBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, 0u, 0u, NULL, 0u, NULL, 1u, &imageBarrier);
QVk_SubmitCommand(&commandBuffer, &vk_device.transferQueue);
vkFreeCommandBuffers(vk_device.logical, vk_transferCommandPool, 1, &commandBuffer);

View file

@ -1041,6 +1041,9 @@ qboolean RE_EndWorldRenderpass(void)
// Restore full viewport for future steps.
vkCmdSetViewport(vk_activeCmdbuffer, 0u, 1u, &vk_viewport);
vkCmdSetScissor(vk_activeCmdbuffer, 0u, 1u, &vk_scissor);
/*
* VK_WARNING: Validation Warning: [ BestPractices-PushConstants ] Object 0: handle = 0xaaaaadf16a40, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x1248c6a4 | vkCmdDraw(): Pipeline uses push constants with 112 bytes, but byte 0 was never set with vkCmdPushConstants. (validation)
*/
vkCmdDraw(vk_activeCmdbuffer, 3, 1, 0, 0);
printf("%d: %s\n", drawCalls++, __func__);
vkCmdEndRenderPass(vk_activeCmdbuffer);