Compare commits

..

1 Commits

Author SHA1 Message Date
PavelBARABANOV 092a68e198 [vk_texture_cache] drop depth comparison sampler fallback 2026-09-12 19:48:10 +03:00
3 changed files with 3 additions and 9 deletions
+3 -3
View File
@@ -243,7 +243,7 @@ constexpr RequestLayout GetReplyOutLayout(bool is_domain) {
return is_domain ? GetDomainReplyOutLayout<MethodArguments>() : GetNonDomainReplyOutLayout<MethodArguments>();
}
using OutTemporaryBuffers = std::array<boost::container::small_vector<u8, 128>, 3>;
using OutTemporaryBuffers = std::array<Common::ScratchBuffer<u8>, 3>;
template <typename MethodArguments, typename CallArguments, size_t PrevAlign = 1, size_t DataOffset = 0, size_t HandleIndex = 0, size_t InBufferIndex = 0, size_t OutBufferIndex = 0, bool RawDataFinished = false, size_t ArgIndex = 0>
void ReadInArgument(bool is_domain, CallArguments& args, const u8* raw_data, HLERequestContext& ctx, OutTemporaryBuffers& temp) {
@@ -345,9 +345,9 @@ void ReadInArgument(bool is_domain, CallArguments& args, const u8* raw_data, HLE
// Set up scratch buffer.
auto& buffer = temp[OutBufferIndex];
if (ctx.CanWriteBuffer(OutBufferIndex)) {
buffer.resize(ctx.GetWriteBufferSize(OutBufferIndex));
buffer.resize_destructive(ctx.GetWriteBufferSize(OutBufferIndex));
} else {
buffer.resize(0);
buffer.resize_destructive(0);
}
ElementType* ptr = (ElementType*) buffer.data();
@@ -2850,8 +2850,6 @@ Sampler::VariantKey Sampler::MakeKey(const ImageView& image_view, bool is_depth)
VariantKey key{};
key.reduce_anisotropy = has_added_anisotropy && !image_view.SupportsAnisotropy();
key.force_nearest = has_linear_filtering && IsPixelFormatInteger(image_view.format);
key.drop_depth_comparison =
is_depth && has_depth_comparison && !image_view.SupportsDepthComparison();
key.drop_reduction = has_minmax_reduction && !image_view.SupportsMinmaxFilter();
key.drop_custom_border = has_custom_border_colors && image_view.RequiresBorderColorFormat();
key.srgb_border = has_srgb_border_color && IsPixelFormatSRGB(image_view.format);
@@ -2929,9 +2927,6 @@ VkSampler Sampler::Emplace(VariantKey key) {
create_info.anisotropyEnable = static_cast<VkBool32>(default_anisotropy > 1.0f);
create_info.maxAnisotropy = default_anisotropy;
}
if (key.drop_depth_comparison) {
create_info.compareEnable = VK_FALSE;
}
if (!custom_border) {
create_info.borderColor = ConvertBorderColor(color);
}
@@ -536,7 +536,6 @@ private:
struct VariantKey {
bool reduce_anisotropy;
bool force_nearest;
bool drop_depth_comparison;
bool drop_reduction;
bool drop_custom_border;
bool srgb_border;