summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Narr the Reg2022-11-20 09:31:20 -0600
committerGravatar GitHub2022-11-20 09:31:20 -0600
commitdb7bcd51ae09c4ef25e08096de563903f61e2380 (patch)
tree5ae9977b48e1aff118fae3ebffb215b0b4afa887 /src/video_core/renderer_vulkan
parentservice: nfc: Implement nfc user (diff)
parentMerge pull request #9238 from german77/cabinet_applet (diff)
downloadyuzu-db7bcd51ae09c4ef25e08096de563903f61e2380.tar.gz
yuzu-db7bcd51ae09c4ef25e08096de563903f61e2380.tar.xz
yuzu-db7bcd51ae09c4ef25e08096de563903f61e2380.zip
Merge branch 'master' into nfc_impl
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/renderer_vulkan.cpp4
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp4
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.h2
-rw-r--r--src/video_core/renderer_vulkan/vk_scheduler.cpp1
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.cpp1
5 files changed, 9 insertions, 3 deletions
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
index d8131232a..c2a95200b 100644
--- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp
+++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
@@ -172,6 +172,7 @@ void RendererVulkan::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
172} 172}
173 173
174void RendererVulkan::Report() const { 174void RendererVulkan::Report() const {
175 using namespace Common::Literals;
175 const std::string vendor_name{device.GetVendorName()}; 176 const std::string vendor_name{device.GetVendorName()};
176 const std::string model_name{device.GetModelName()}; 177 const std::string model_name{device.GetModelName()};
177 const std::string driver_version = GetDriverVersion(device); 178 const std::string driver_version = GetDriverVersion(device);
@@ -181,9 +182,12 @@ void RendererVulkan::Report() const {
181 182
182 const std::string extensions = BuildCommaSeparatedExtensions(device.GetAvailableExtensions()); 183 const std::string extensions = BuildCommaSeparatedExtensions(device.GetAvailableExtensions());
183 184
185 const auto available_vram = static_cast<f64>(device.GetDeviceLocalMemory()) / f64{1_GiB};
186
184 LOG_INFO(Render_Vulkan, "Driver: {}", driver_name); 187 LOG_INFO(Render_Vulkan, "Driver: {}", driver_name);
185 LOG_INFO(Render_Vulkan, "Device: {}", model_name); 188 LOG_INFO(Render_Vulkan, "Device: {}", model_name);
186 LOG_INFO(Render_Vulkan, "Vulkan: {}", api_version); 189 LOG_INFO(Render_Vulkan, "Vulkan: {}", api_version);
190 LOG_INFO(Render_Vulkan, "Available VRAM: {:.2f} GiB", available_vram);
187 191
188 static constexpr auto field = Common::Telemetry::FieldType::UserSystem; 192 static constexpr auto field = Common::Telemetry::FieldType::UserSystem;
189 telemetry_session.AddField(field, "GPU_Vendor", vendor_name); 193 telemetry_session.AddField(field, "GPU_Vendor", vendor_name);
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index f69c0c50f..67b88621a 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -213,7 +213,7 @@ void RasterizerVulkan::Draw(bool is_indexed, u32 instance_count) {
213 EndTransformFeedback(); 213 EndTransformFeedback();
214} 214}
215 215
216void RasterizerVulkan::Clear() { 216void RasterizerVulkan::Clear(u32 layer_count) {
217 MICROPROFILE_SCOPE(Vulkan_Clearing); 217 MICROPROFILE_SCOPE(Vulkan_Clearing);
218 218
219 if (!maxwell3d->ShouldExecute()) { 219 if (!maxwell3d->ShouldExecute()) {
@@ -256,7 +256,7 @@ void RasterizerVulkan::Clear() {
256 .rect = regs.clear_control.use_scissor ? GetScissorState(regs, 0, up_scale, down_shift) 256 .rect = regs.clear_control.use_scissor ? GetScissorState(regs, 0, up_scale, down_shift)
257 : default_scissor, 257 : default_scissor,
258 .baseArrayLayer = regs.clear_surface.layer, 258 .baseArrayLayer = regs.clear_surface.layer,
259 .layerCount = 1, 259 .layerCount = layer_count,
260 }; 260 };
261 if (clear_rect.rect.extent.width == 0 || clear_rect.rect.extent.height == 0) { 261 if (clear_rect.rect.extent.width == 0 || clear_rect.rect.extent.height == 0) {
262 return; 262 return;
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h
index b0bc306f5..70f36d58a 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.h
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.h
@@ -65,7 +65,7 @@ public:
65 ~RasterizerVulkan() override; 65 ~RasterizerVulkan() override;
66 66
67 void Draw(bool is_indexed, u32 instance_count) override; 67 void Draw(bool is_indexed, u32 instance_count) override;
68 void Clear() override; 68 void Clear(u32 layer_count) override;
69 void DispatchCompute() override; 69 void DispatchCompute() override;
70 void ResetCounter(VideoCore::QueryType type) override; 70 void ResetCounter(VideoCore::QueryType type) override;
71 void Query(GPUVAddr gpu_addr, VideoCore::QueryType type, std::optional<u64> timestamp) override; 71 void Query(GPUVAddr gpu_addr, VideoCore::QueryType type, std::optional<u64> timestamp) override;
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.cpp b/src/video_core/renderer_vulkan/vk_scheduler.cpp
index 7934f2a51..4a7b633b7 100644
--- a/src/video_core/renderer_vulkan/vk_scheduler.cpp
+++ b/src/video_core/renderer_vulkan/vk_scheduler.cpp
@@ -221,6 +221,7 @@ void Scheduler::SubmitExecution(VkSemaphore signal_semaphore, VkSemaphore wait_s
221 [[fallthrough]]; 221 [[fallthrough]];
222 default: 222 default:
223 vk::Check(result); 223 vk::Check(result);
224 break;
224 } 225 }
225 }); 226 });
226 chunk->MarkSubmit(); 227 chunk->MarkSubmit();
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
index 853b80d8a..a65bbeb1c 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
@@ -108,6 +108,7 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) {
108 break; 108 break;
109 default: 109 default:
110 ASSERT_MSG(false, "Invalid surface type"); 110 ASSERT_MSG(false, "Invalid surface type");
111 break;
111 } 112 }
112 } 113 }
113 if (info.storage) { 114 if (info.storage) {