diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index f1f5879fab..c88d3c85e4 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -1769,21 +1769,6 @@ bool TextureCacheRuntime::CanReportMemoryUsage() const { return device.CanReportMemoryUsage(); } -bool TextureCacheRuntime::IsSampleCountSupported(const VideoCommon::ImageInfo& info) const { - if (info.num_samples <= 1) { - return true; - } - const auto format_info = - MaxwellToVK::SurfaceFormat(device, FormatType::Optimal, false, info.format); - const bool allow_storage = device.IsStorageImageMultisampleSupported(); - const VkImageUsageFlags usage = ImageUsageFlags(format_info, info.format, allow_storage); - const VkImageAspectFlags aspect = ImageAspectMask(info.format); - const bool is_integer = VideoCore::Surface::IsPixelFormatInteger(info.format); - const VkSampleCountFlags supported = - device.GetSupportedSampleCounts(usage, aspect, is_integer); - return (supported & ConvertSampleCount(info.num_samples)) != 0; -} - void TextureCacheRuntime::TickFrame() { std::erase_if(pending_msaa_images, [this](const auto& pending) { return scheduler.IsFree(pending.first); diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h index b6200bd1cd..073b852663 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.h +++ b/src/video_core/renderer_vulkan/vk_texture_cache.h @@ -66,8 +66,6 @@ public: bool CanReportMemoryUsage() const; - bool IsSampleCountSupported(const VideoCommon::ImageInfo& info) const; - void BlitImage(Framebuffer* dst_framebuffer, ImageView& dst, ImageView& src, const Region2D& dst_region, const Region2D& src_region, Tegra::Engines::Fermi2D::Filter filter, diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index f3ff2c455e..2eb94275a8 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1161,21 +1161,9 @@ void TextureCache
::UploadImageContents(Image& image, StagingBuffer& staging)
}
}
-template ::ClampedSampleCount(ImageInfo info) const {
- if (info.num_samples > 1) {
- if constexpr (requires { runtime.IsSampleCountSupported(info); }) {
- if (!runtime.IsSampleCountSupported(info)) {
- info.num_samples = 1;
- }
- }
- }
- return info;
-}
-
template ::CreateImageView(const TICEntry& config) {
- const ImageInfo info = ClampedSampleCount(ImageInfo(config));
+ const ImageInfo info(config);
if (info.type == ImageType::Buffer) {
const ImageViewInfo view_info(config, 0);
return slot_image_views.insert(runtime, info, view_info, config.Address());
@@ -1907,8 +1895,7 @@ ImageViewId TextureCache ::FindColorBuffer(size_t index) {
if (rt.format == Tegra::RenderTargetFormat::NONE) {
return ImageViewId{};
}
- const ImageInfo info =
- ClampedSampleCount(ImageInfo(regs.rt[index], regs.anti_alias_samples_mode));
+ const ImageInfo info(regs.rt[index], regs.anti_alias_samples_mode);
return FindRenderTargetView(info, gpu_addr);
}
@@ -1922,8 +1909,7 @@ ImageViewId TextureCache ::FindDepthBuffer() {
if (gpu_addr == 0) {
return ImageViewId{};
}
- const ImageInfo info =
- ClampedSampleCount(ImageInfo(regs.zeta, regs.zeta_size, regs.anti_alias_samples_mode));
+ const ImageInfo info(regs.zeta, regs.zeta_size, regs.anti_alias_samples_mode);
return FindRenderTargetView(info, gpu_addr);
}
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h
index e75ce4e706..66f64ff8b3 100644
--- a/src/video_core/texture_cache/texture_cache_base.h
+++ b/src/video_core/texture_cache/texture_cache_base.h
@@ -416,8 +416,6 @@ private:
bool ScaleDown(Image& image);
u64 GetScaledImageSizeBytes(const ImageBase& image);
- [[nodiscard]] ImageInfo ClampedSampleCount(ImageInfo info) const;
-
void QueueAsyncDecode(Image& image, ImageId image_id);
void TickAsyncDecode();