You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Knack has many graphical issues on shadPS4 right now. I ran the game with Vulkan Validation enabled, and there seems to be some potential causes for them.
Broken text
Seems to be caused by these errors spammed:
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-VkImageCreateInfo-imageCreateMaxMipLevels-02251: vkCreateImage(): pCreateInfo The following VkImageCreateInfo
format (VK_FORMAT_BC7_UNORM_BLOCK)
type (VK_IMAGE_TYPE_2D)
tiling (VK_IMAGE_TILING_OPTIMAL)
usage (VK_IMAGE_USAGE_TRANSFER_SRC_BIT|VK_IMAGE_USAGE_TRANSFER_DST_BIT|VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_STORAGE_BIT)
flags (VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT|VK_IMAGE_CREATE_EXTENDED_USAGE_BIT)
returned (VK_ERROR_FORMAT_NOT_SUPPORTED) when calling vkGetPhysicalDeviceImageFormatProperties2.
The Vulkan spec states: Each of the following values (as described in Image Creation Limits) must not be undefined : imageCreateMaxMipLevels, imageCreateMaxArrayLayers, imageCreateMaxExtent, and imageCreateSampleCounts (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/resources.html#VUID-VkImageCreateInfo-imageCreateMaxMipLevels-02251)
Incorrect colors
This seems to be caused by incorrectly converting R8G8B8A8UNORM to B8G8R8A8SRGB.
No shadow casting
Might be related to Pos1 exports. Poly made a PR that supports them, but it has since been deleted.
I also found this spammed a lot before the device lost, this could be the culprit of the device lost crash:
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-VkGraphicsPipelineCreateInfo-layout-07988: vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 0, Binding 16, variable "ubo_5"] (type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK) but the VkDescriptorSetLayoutBinding::stageFlags was VK_SHADER_STAGE_FRAGMENT_BIT.
The Vulkan spec states: If a resource variable is declared in a shader, the corresponding descriptor set in layout must match the shader stage (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/pipelines.html#VUID-VkGraphicsPipelineCreateInfo-layout-07988)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-VkGraphicsPipelineCreateInfo-layout-07990: vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[1] SPIR-V (VK_SHADER_STAGE_FRAGMENT_BIT) uses descriptor [Set 0, Binding 10, variable "fs_samp24"] of type VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE but expected VK_DESCRIPTOR_TYPE_SAMPLER or VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER.
The Vulkan spec states: If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/pipelines.html#VUID-VkGraphicsPipelineCreateInfo-layout-07990)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-VkGraphicsPipelineCreateInfo-layout-07990: vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[1] SPIR-V (VK_SHADER_STAGE_FRAGMENT_BIT) uses descriptor [Set 0, Binding 4, variable "fs_img76"] of type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER but expected VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER or VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE.
The Vulkan spec states: If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/pipelines.html#VUID-VkGraphicsPipelineCreateInfo-layout-07990)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 6, Index 0, variable "fs_img84"] ImageView type is VK_IMAGE_VIEW_TYPE_2D but the OpTypeImage has (Dim = 1D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 5, Index 0, variable "fs_img44"] ImageView type is VK_IMAGE_VIEW_TYPE_1D but the OpTypeImage has (Dim = 2D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 7, Index 0, variable "fs_img52"] ImageView type is VK_IMAGE_VIEW_TYPE_1D but the OpTypeImage has (Dim = 2D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-VkGraphicsPipelineCreateInfo-layout-07990: vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[1] SPIR-V (VK_SHADER_STAGE_FRAGMENT_BIT) uses descriptor [Set 0, Binding 10, variable "fs_samp24"] of type VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE but expected VK_DESCRIPTOR_TYPE_SAMPLER or VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER.
The Vulkan spec states: If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/pipelines.html#VUID-VkGraphicsPipelineCreateInfo-layout-07990)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-VkGraphicsPipelineCreateInfo-layout-07990: vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[1] SPIR-V (VK_SHADER_STAGE_FRAGMENT_BIT) uses descriptor [Set 0, Binding 4, variable "fs_img76"] of type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER but expected VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER or VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE.
The Vulkan spec states: If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/pipelines.html#VUID-VkGraphicsPipelineCreateInfo-layout-07990)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 6, Index 0, variable "fs_img84"] ImageView type is VK_IMAGE_VIEW_TYPE_2D but the OpTypeImage has (Dim = 1D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 5, Index 0, variable "fs_img44"] ImageView type is VK_IMAGE_VIEW_TYPE_1D but the OpTypeImage has (Dim = 2D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 7, Index 0, variable "fs_img52"] ImageView type is VK_IMAGE_VIEW_TYPE_1D but the OpTypeImage has (Dim = 2D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 6, Index 0, variable "fs_img84"] ImageView type is VK_IMAGE_VIEW_TYPE_2D but the OpTypeImage has (Dim = 1D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 5, Index 0, variable "fs_img44"] ImageView type is VK_IMAGE_VIEW_TYPE_1D but the OpTypeImage has (Dim = 2D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 7, Index 0, variable "fs_img52"] ImageView type is VK_IMAGE_VIEW_TYPE_1D but the OpTypeImage has (Dim = 2D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
[Render.Vulkan] <Error> vk_platform.cpp:56 DebugUtilsCallback: VUID-vkCmdDrawIndexed-viewType-07752: vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x0, Set 0, Binding 6, Index 0, variable "fs_img84"] ImageView type is VK_IMAGE_VIEW_TYPE_2D but the OpTypeImage has (Dim = 1D) and (Arrayed = 0).
The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Compatibility Between SPIR-V Image Dimensions and Vulkan ImageView Types (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-viewType-07752)
Broken effects
Not sure what's causing these yet.
Reproduction Steps
Open Knack with Vulkan validation enabled and Vulkan SDK installed
Specify OS Version
Windows 11 24H2
CPU
AMD Ryzen Z1 Extreme
GPU
AMD Radeon Graphics
Amount of RAM in GB
16 GB
Amount of VRAM in GB
4 GB
Log File
In case I missed something, here's my log: shad_log.zip
The text was updated successfully, but these errors were encountered:
Uh oh!
There was an error while loading. Please reload this page.
Checklist (we expect you to perform these steps before opening the issue)
Describe the Bug
Knack has many graphical issues on shadPS4 right now. I ran the game with Vulkan Validation enabled, and there seems to be some potential causes for them.
Seems to be caused by these errors spammed:
Incorrect colors

This seems to be caused by incorrectly converting R8G8B8A8UNORM to B8G8R8A8SRGB.
No shadow casting

Might be related to Pos1 exports. Poly made a PR that supports them, but it has since been deleted.
I also found this spammed a lot before the device lost, this could be the culprit of the device lost crash:
Not sure what's causing these yet.
Reproduction Steps
Open Knack with Vulkan validation enabled and Vulkan SDK installed
Specify OS Version
Windows 11 24H2
CPU
AMD Ryzen Z1 Extreme
GPU
AMD Radeon Graphics
Amount of RAM in GB
16 GB
Amount of VRAM in GB
4 GB
Log File
In case I missed something, here's my log:
shad_log.zip
The text was updated successfully, but these errors were encountered: