|
|
|
@ -150,8 +150,6 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) { |
|
|
|
const auto format_info = |
|
|
|
MaxwellToVK::SurfaceFormat(device, FormatType::Optimal, false, info.format); |
|
|
|
VkImageCreateFlags flags{}; |
|
|
|
const VkSampleCountFlagBits sample_count = ConvertSampleCount(info.num_samples); |
|
|
|
const auto surface_type = VideoCore::Surface::GetFormatType(info.format); |
|
|
|
if (info.type == ImageType::e2D && info.resources.layers >= 6 && |
|
|
|
info.size.width == info.size.height && !device.HasBrokenCubeImageCompatibility()) { |
|
|
|
flags |= VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT; |
|
|
|
@ -159,10 +157,6 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) { |
|
|
|
if (info.type == ImageType::e3D) { |
|
|
|
flags |= VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT; |
|
|
|
} |
|
|
|
const bool is_depth_stencil_attachment = format_info.attachable && |
|
|
|
(surface_type == VideoCore::Surface::SurfaceType::Depth || |
|
|
|
surface_type == VideoCore::Surface::SurfaceType::Stencil || |
|
|
|
surface_type == VideoCore::Surface::SurfaceType::DepthStencil); |
|
|
|
|
|
|
|
const auto [samples_x, samples_y] = VideoCommon::SamplesLog2(info.num_samples); |
|
|
|
return VkImageCreateInfo{ |
|
|
|
@ -178,7 +172,7 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) { |
|
|
|
}, |
|
|
|
.mipLevels = static_cast<u32>(info.resources.levels), |
|
|
|
.arrayLayers = static_cast<u32>(info.resources.layers), |
|
|
|
.samples = sample_count, |
|
|
|
.samples = ConvertSampleCount(info.num_samples), |
|
|
|
.tiling = VK_IMAGE_TILING_OPTIMAL, |
|
|
|
.usage = ImageUsageFlags(format_info, info.format), |
|
|
|
.sharingMode = VK_SHARING_MODE_EXCLUSIVE, |
|
|
|
|