diff options
Diffstat (limited to '')
6 files changed, 18 insertions, 3 deletions
diff --git a/src/video_core/renderer_vulkan/vk_blit_screen.cpp b/src/video_core/renderer_vulkan/vk_blit_screen.cpp index ce53e5a6b..a551e3de8 100644 --- a/src/video_core/renderer_vulkan/vk_blit_screen.cpp +++ b/src/video_core/renderer_vulkan/vk_blit_screen.cpp | |||
| @@ -696,6 +696,7 @@ void VKBlitScreen::CreateFramebuffers() { | |||
| 696 | .flags = 0, | 696 | .flags = 0, |
| 697 | .renderPass = *renderpass, | 697 | .renderPass = *renderpass, |
| 698 | .attachmentCount = 1, | 698 | .attachmentCount = 1, |
| 699 | .pAttachments = nullptr, | ||
| 699 | .width = size.width, | 700 | .width = size.width, |
| 700 | .height = size.height, | 701 | .height = size.height, |
| 701 | .layers = 1, | 702 | .layers = 1, |
diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp index 6245e0d78..0c03e4d83 100644 --- a/src/video_core/renderer_vulkan/vk_device.cpp +++ b/src/video_core/renderer_vulkan/vk_device.cpp | |||
| @@ -771,8 +771,9 @@ std::vector<VkDeviceQueueCreateInfo> VKDevice::GetDeviceQueueCreateInfos() const | |||
| 771 | .pNext = nullptr, | 771 | .pNext = nullptr, |
| 772 | .flags = 0, | 772 | .flags = 0, |
| 773 | .queueFamilyIndex = queue_family, | 773 | .queueFamilyIndex = queue_family, |
| 774 | .queueCount = 1, | ||
| 775 | .pQueuePriorities = nullptr, | ||
| 774 | }); | 776 | }); |
| 775 | ci.queueCount = 1; | ||
| 776 | ci.pQueuePriorities = &QUEUE_PRIORITY; | 777 | ci.pQueuePriorities = &QUEUE_PRIORITY; |
| 777 | } | 778 | } |
| 778 | 779 | ||
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 42b3a744c..418c62bc4 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | |||
| @@ -261,8 +261,13 @@ VKComputePipeline& VKPipelineCache::GetComputePipeline(const ComputePipelineCach | |||
| 261 | } | 261 | } |
| 262 | 262 | ||
| 263 | const Specialization specialization{ | 263 | const Specialization specialization{ |
| 264 | .base_binding = 0, | ||
| 264 | .workgroup_size = key.workgroup_size, | 265 | .workgroup_size = key.workgroup_size, |
| 265 | .shared_memory_size = key.shared_memory_size, | 266 | .shared_memory_size = key.shared_memory_size, |
| 267 | .point_size = std::nullopt, | ||
| 268 | .enabled_attributes = {}, | ||
| 269 | .attribute_types = {}, | ||
| 270 | .ndc_minus_one_to_one = false, | ||
| 266 | }; | 271 | }; |
| 267 | const SPIRVShader spirv_shader{Decompile(device, shader->GetIR(), ShaderType::Compute, | 272 | const SPIRVShader spirv_shader{Decompile(device, shader->GetIR(), ShaderType::Compute, |
| 268 | shader->GetRegistry(), specialization), | 273 | shader->GetRegistry(), specialization), |
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 2ed2004f0..7500e8244 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -815,8 +815,13 @@ bool RasterizerVulkan::WalkAttachmentOverlaps(const CachedSurfaceView& attachmen | |||
| 815 | 815 | ||
| 816 | std::tuple<VkFramebuffer, VkExtent2D> RasterizerVulkan::ConfigureFramebuffers( | 816 | std::tuple<VkFramebuffer, VkExtent2D> RasterizerVulkan::ConfigureFramebuffers( |
| 817 | VkRenderPass renderpass) { | 817 | VkRenderPass renderpass) { |
| 818 | FramebufferCacheKey key{renderpass, std::numeric_limits<u32>::max(), | 818 | FramebufferCacheKey key{ |
| 819 | std::numeric_limits<u32>::max(), std::numeric_limits<u32>::max()}; | 819 | .renderpass = renderpass, |
| 820 | .width = std::numeric_limits<u32>::max(), | ||
| 821 | .height = std::numeric_limits<u32>::max(), | ||
| 822 | .layers = std::numeric_limits<u32>::max(), | ||
| 823 | .views = {}, | ||
| 824 | }; | ||
| 820 | 825 | ||
| 821 | const auto try_push = [&key](const View& view) { | 826 | const auto try_push = [&key](const View& view) { |
| 822 | if (!view) { | 827 | if (!view) { |
diff --git a/src/video_core/renderer_vulkan/vk_sampler_cache.cpp b/src/video_core/renderer_vulkan/vk_sampler_cache.cpp index 2d5460776..b068888f9 100644 --- a/src/video_core/renderer_vulkan/vk_sampler_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_sampler_cache.cpp | |||
| @@ -47,6 +47,7 @@ vk::Sampler VKSamplerCache::CreateSampler(const Tegra::Texture::TSCEntry& tsc) c | |||
| 47 | VkSamplerCustomBorderColorCreateInfoEXT border{ | 47 | VkSamplerCustomBorderColorCreateInfoEXT border{ |
| 48 | .sType = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT, | 48 | .sType = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT, |
| 49 | .pNext = nullptr, | 49 | .pNext = nullptr, |
| 50 | .customBorderColor = {}, | ||
| 50 | .format = VK_FORMAT_UNDEFINED, | 51 | .format = VK_FORMAT_UNDEFINED, |
| 51 | }; | 52 | }; |
| 52 | std::memcpy(&border.customBorderColor, color.data(), sizeof(color)); | 53 | std::memcpy(&border.customBorderColor, color.data(), sizeof(color)); |
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index efd4bb13b..2c6f54101 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp | |||
| @@ -473,6 +473,8 @@ VkImageView CachedSurfaceView::GetAttachment() { | |||
| 473 | .aspectMask = aspect_mask, | 473 | .aspectMask = aspect_mask, |
| 474 | .baseMipLevel = base_level, | 474 | .baseMipLevel = base_level, |
| 475 | .levelCount = num_levels, | 475 | .levelCount = num_levels, |
| 476 | .baseArrayLayer = 0, | ||
| 477 | .layerCount = 0, | ||
| 476 | }, | 478 | }, |
| 477 | }; | 479 | }; |
| 478 | if (image_view_type == VK_IMAGE_VIEW_TYPE_3D) { | 480 | if (image_view_type == VK_IMAGE_VIEW_TYPE_3D) { |