diff options
| author | 2020-03-13 16:44:06 -0300 | |
|---|---|---|
| committer | 2020-03-13 16:44:06 -0300 | |
| commit | 244fe132199cb3c67dd9e612d2be856895f8a868 (patch) | |
| tree | d0f968d06b2bbc6e378a5a0632cd2d6322fe4e6d /src/video_core/renderer_vulkan | |
| parent | gl_shader_decompiler: Initialize gl_Position on vertex shaders (diff) | |
| parent | Merge pull request #3491 from ReinUsesLisp/polygon-modes (diff) | |
| download | yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.gz yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.xz yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.zip | |
Merge branch 'master' into shader-purge
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 9 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index b402fb268..2bcb17b56 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -854,7 +854,7 @@ void RasterizerVulkan::SetupGraphicsTextures(const ShaderEntries& entries, std:: | |||
| 854 | 854 | ||
| 855 | void RasterizerVulkan::SetupGraphicsImages(const ShaderEntries& entries, std::size_t stage) { | 855 | void RasterizerVulkan::SetupGraphicsImages(const ShaderEntries& entries, std::size_t stage) { |
| 856 | MICROPROFILE_SCOPE(Vulkan_Images); | 856 | MICROPROFILE_SCOPE(Vulkan_Images); |
| 857 | const auto& gpu = system.GPU().KeplerCompute(); | 857 | const auto& gpu = system.GPU().Maxwell3D(); |
| 858 | for (const auto& entry : entries.images) { | 858 | for (const auto& entry : entries.images) { |
| 859 | const auto tic = GetTextureInfo(gpu, entry, stage).tic; | 859 | const auto tic = GetTextureInfo(gpu, entry, stage).tic; |
| 860 | SetupImage(tic, entry); | 860 | SetupImage(tic, entry); |
| @@ -915,6 +915,13 @@ void RasterizerVulkan::SetupComputeImages(const ShaderEntries& entries) { | |||
| 915 | 915 | ||
| 916 | void RasterizerVulkan::SetupConstBuffer(const ConstBufferEntry& entry, | 916 | void RasterizerVulkan::SetupConstBuffer(const ConstBufferEntry& entry, |
| 917 | const Tegra::Engines::ConstBufferInfo& buffer) { | 917 | const Tegra::Engines::ConstBufferInfo& buffer) { |
| 918 | if (!buffer.enabled) { | ||
| 919 | // Set values to zero to unbind buffers | ||
| 920 | update_descriptor_queue.AddBuffer(buffer_cache.GetEmptyBuffer(sizeof(float)), 0, | ||
| 921 | sizeof(float)); | ||
| 922 | return; | ||
| 923 | } | ||
| 924 | |||
| 918 | // Align the size to avoid bad std140 interactions | 925 | // Align the size to avoid bad std140 interactions |
| 919 | const std::size_t size = | 926 | const std::size_t size = |
| 920 | Common::AlignUp(CalculateConstBufferSize(entry, buffer), 4 * sizeof(float)); | 927 | Common::AlignUp(CalculateConstBufferSize(entry, buffer), 4 * sizeof(float)); |
diff --git a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp index 171d78afc..d9ea3cc21 100644 --- a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp | |||
| @@ -73,7 +73,8 @@ VKBuffer* VKStagingBufferPool::TryGetReservedBuffer(std::size_t size, bool host_ | |||
| 73 | VKBuffer& VKStagingBufferPool::CreateStagingBuffer(std::size_t size, bool host_visible) { | 73 | VKBuffer& VKStagingBufferPool::CreateStagingBuffer(std::size_t size, bool host_visible) { |
| 74 | const auto usage = | 74 | const auto usage = |
| 75 | vk::BufferUsageFlagBits::eTransferSrc | vk::BufferUsageFlagBits::eTransferDst | | 75 | vk::BufferUsageFlagBits::eTransferSrc | vk::BufferUsageFlagBits::eTransferDst | |
| 76 | vk::BufferUsageFlagBits::eStorageBuffer | vk::BufferUsageFlagBits::eIndexBuffer; | 76 | vk::BufferUsageFlagBits::eUniformBuffer | vk::BufferUsageFlagBits::eStorageBuffer | |
| 77 | vk::BufferUsageFlagBits::eIndexBuffer; | ||
| 77 | const u32 log2 = Common::Log2Ceil64(size); | 78 | const u32 log2 = Common::Log2Ceil64(size); |
| 78 | const vk::BufferCreateInfo buffer_ci({}, 1ULL << log2, usage, vk::SharingMode::eExclusive, 0, | 79 | const vk::BufferCreateInfo buffer_ci({}, 1ULL << log2, usage, vk::SharingMode::eExclusive, 0, |
| 79 | nullptr); | 80 | nullptr); |