summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Rodrigo Locatti2020-03-13 16:44:06 -0300
committerGravatar GitHub2020-03-13 16:44:06 -0300
commit244fe132199cb3c67dd9e612d2be856895f8a868 (patch)
treed0f968d06b2bbc6e378a5a0632cd2d6322fe4e6d /src/video_core/renderer_vulkan
parentgl_shader_decompiler: Initialize gl_Position on vertex shaders (diff)
parentMerge pull request #3491 from ReinUsesLisp/polygon-modes (diff)
downloadyuzu-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.cpp9
-rw-r--r--src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp3
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
855void RasterizerVulkan::SetupGraphicsImages(const ShaderEntries& entries, std::size_t stage) { 855void 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
916void RasterizerVulkan::SetupConstBuffer(const ConstBufferEntry& entry, 916void 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_
73VKBuffer& VKStagingBufferPool::CreateStagingBuffer(std::size_t size, bool host_visible) { 73VKBuffer& 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);