summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-11-19 15:49:30 +0100
committerGitHub <noreply@github.com>2023-11-19 15:49:30 +0100
commitefb3165e3d52c605f46976923bb49ed55aa598e2 (patch)
tree19bc1f82ca33bb7474b3f1558fe88b60592e39e3
parentshader_recompiler: Fix spelling of "derivate" (#12067) (diff)
parentBuffer Cache: Eliminate clears on Indirect buffers (diff)
downloadyuzu-efb3165e3d52c605f46976923bb49ed55aa598e2.tar
yuzu-efb3165e3d52c605f46976923bb49ed55aa598e2.tar.gz
yuzu-efb3165e3d52c605f46976923bb49ed55aa598e2.tar.bz2
yuzu-efb3165e3d52c605f46976923bb49ed55aa598e2.tar.lz
yuzu-efb3165e3d52c605f46976923bb49ed55aa598e2.tar.xz
yuzu-efb3165e3d52c605f46976923bb49ed55aa598e2.tar.zst
yuzu-efb3165e3d52c605f46976923bb49ed55aa598e2.zip
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h5
-rw-r--r--src/video_core/engines/maxwell_3d.cpp2
2 files changed, 1 insertions, 6 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index 081a574e8..f5b10411b 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -1192,11 +1192,6 @@ void BufferCache<P>::UpdateDrawIndirect() {
.size = static_cast<u32>(size),
.buffer_id = FindBuffer(*cpu_addr, static_cast<u32>(size)),
};
- VAddr cpu_addr_start = Common::AlignDown(*cpu_addr, 64);
- VAddr cpu_addr_end = Common::AlignUp(*cpu_addr + size, 64);
- IntervalType interval{cpu_addr_start, cpu_addr_end};
- ClearDownload(interval);
- common_ranges.subtract(interval);
};
if (current_draw_indirect->include_count) {
update(current_draw_indirect->count_start_address, sizeof(u32),
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 32d767d85..592c28ba3 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -268,7 +268,7 @@ size_t Maxwell3D::EstimateIndexBufferSize() {
std::numeric_limits<u32>::max()};
const size_t byte_size = regs.index_buffer.FormatSizeInBytes();
const size_t log2_byte_size = Common::Log2Ceil64(byte_size);
- const size_t cap{GetMaxCurrentVertices() * 3 * byte_size};
+ const size_t cap{GetMaxCurrentVertices() * 4 * byte_size};
const size_t lower_cap =
std::min<size_t>(static_cast<size_t>(end_address - start_address), cap);
return std::min<size_t>(