2026-09-05 17:42:18

Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie
2026-09-05 17:42:18 +00:00
parent cc94ee2c70
commit 9f20f7f4c1
3 changed files with 6 additions and 6 deletions
@@ -192,7 +192,7 @@ public:
if (host_visible) { if (host_visible) {
return StagingBufferRef{}; return StagingBufferRef{};
} }
return staging_pool.Request(size_bytes, MemoryUsage::Upload); return staging_pool.Request(device, size_bytes, MemoryUsage::Upload);
}(); }();
u8* staging_data = host_visible ? buffer.Mapped().data() : staging.mapped_span.data(); u8* staging_data = host_visible ? buffer.Mapped().data() : staging.mapped_span.data();
@@ -366,11 +366,11 @@ BufferCacheRuntime::BufferCacheRuntime(const Device& device_, MemoryAllocator& m
} }
StagingBufferRef BufferCacheRuntime::UploadStagingBuffer(size_t size) { StagingBufferRef BufferCacheRuntime::UploadStagingBuffer(size_t size) {
return staging_pool.Request(size, MemoryUsage::Upload); return staging_pool.Request(device, size, MemoryUsage::Upload);
} }
StagingBufferRef BufferCacheRuntime::DownloadStagingBuffer(size_t size, bool deferred) { StagingBufferRef BufferCacheRuntime::DownloadStagingBuffer(size_t size, bool deferred) {
return staging_pool.Request(size, MemoryUsage::Download, deferred); return staging_pool.Request(device, size, MemoryUsage::Download, deferred);
} }
VkFormat BufferCacheRuntime::TexelBufferFormat(VideoCore::Surface::PixelFormat format) const { VkFormat BufferCacheRuntime::TexelBufferFormat(VideoCore::Surface::PixelFormat format) const {
@@ -149,7 +149,7 @@ public:
std::span<u8> BindMappedUniformBuffer([[maybe_unused]] size_t stage, std::span<u8> BindMappedUniformBuffer([[maybe_unused]] size_t stage,
[[maybe_unused]] u32 binding_index, [[maybe_unused]] u32 binding_index,
u32 size) { u32 size) {
const StagingBufferRef ref = staging_pool.Request(size, MemoryUsage::Upload); const StagingBufferRef ref = staging_pool.Request(device, size, MemoryUsage::Upload);
guest_descriptor_queue.AddBuffer(ref.buffer, ref.device_address, guest_descriptor_queue.AddBuffer(ref.buffer, ref.device_address,
static_cast<u32>(ref.offset), size); static_cast<u32>(ref.offset), size);
return ref.mapped_span; return ref.mapped_span;
@@ -852,7 +852,7 @@ public:
void PushUnsyncedQueries() override { void PushUnsyncedQueries() override {
CloseCounter(); CloseCounter();
auto staging_ref = staging_pool.Request( auto staging_ref = staging_pool.Request(device,
pending_flush_queries.size() * TFBQueryBank::QUERY_SIZE, MemoryUsage::Download, true); pending_flush_queries.size() * TFBQueryBank::QUERY_SIZE, MemoryUsage::Download, true);
size_t offset_base = staging_ref.offset; size_t offset_base = staging_ref.offset;
for (auto q : pending_flush_queries) { for (auto q : pending_flush_queries) {
@@ -1657,7 +1657,7 @@ void QueryCacheRuntime::SyncValues(std::span<SyncValuesType> values, VkBuffer ba
impl->copies_setup.clear(); impl->copies_setup.clear();
impl->copies_setup.resize(impl->little_cache.size()); impl->copies_setup.resize(impl->little_cache.size());
if constexpr (SyncValuesType::GeneratesBaseBuffer) { if constexpr (SyncValuesType::GeneratesBaseBuffer) {
ref = impl->staging_pool.Request(total_size, MemoryUsage::Upload); ref = impl->staging_pool.Request(impl->device, total_size, MemoryUsage::Upload);
size_t current_offset = ref.offset; size_t current_offset = ref.offset;
size_t accumulated_size = 0; size_t accumulated_size = 0;
for (size_t i = 0; i < values.size(); i++) { for (size_t i = 0; i < values.size(); i++) {