mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-11-02 03:02:06 +01:00
Another intent on write/read on the fly
This commit is contained in:
parent
5caa0bd567
commit
50e59cf09d
6 changed files with 150 additions and 3 deletions
|
|
@ -246,6 +246,29 @@ public:
|
|||
BindBuffer(buffer, offset, size);
|
||||
}
|
||||
|
||||
void BindStorageBuffer(VkBuffer buffer, VkDeviceAddress address, u32 offset, u32 size,
|
||||
[[maybe_unused]] bool is_written) {
|
||||
guest_descriptor_queue.AddBuffer(buffer, address, offset, size);
|
||||
}
|
||||
|
||||
[[nodiscard]] bool IsUnifiedMemoryBindable() const noexcept {
|
||||
return unified_memory != nullptr && unified_memory->IsValid() &&
|
||||
unified_memory->IsBindable();
|
||||
}
|
||||
|
||||
[[nodiscard]] VkBuffer UnifiedWindowBuffer(size_t index) const noexcept {
|
||||
return unified_memory->GetWindowBuffer(index);
|
||||
}
|
||||
|
||||
[[nodiscard]] VkDeviceAddress UnifiedWindowAddress(size_t index) const noexcept {
|
||||
return unified_memory->GetWindowAddress(index);
|
||||
}
|
||||
|
||||
[[nodiscard]] bool IsUnifiedStorageRange(u32 size, u64 offset) const {
|
||||
return size <= device.GetMaxStorageBufferRange() &&
|
||||
(offset % device.GetStorageBufferAlignment()) == 0;
|
||||
}
|
||||
|
||||
void BindTextureBuffer(Buffer& buffer, u32 offset, u32 size,
|
||||
VideoCore::Surface::PixelFormat format) {
|
||||
guest_descriptor_queue.AddTexelBuffer(buffer.View(offset, size, format),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue