Browse Source

[TEST] Extend binding on compute uniform buffers

CamilleLaVey 3 days ago
parent
commit
67ce32c2d1
  1. 13
      src/video_core/buffer_cache/buffer_cache.h

13
src/video_core/buffer_cache/buffer_cache.h

@ -1309,6 +1309,19 @@ void BufferCache<P>::BindHostComputeUniformBuffers() {
return alignment > 1 && (offset % alignment) != 0;
}
}();
if constexpr (USE_UNIFIED_DIRECT_BINDING && !NEEDS_BIND_UNIFORM_INDEX) {
u64 window_index = 0;
u64 window_offset = 0;
if (runtime.SupportsUnifiedDescriptorBinding() &&
size <= runtime.UnifiedMaxUniformBufferRange() &&
ResolveUnifiedDirectBinding(binding.device_addr, size,
runtime.UnifiedUniformBufferAlignment(), window_index,
window_offset)) {
runtime.BindBufferFromWindow(window_index, static_cast<u32>(window_offset), size);
return;
}
}
if constexpr (!IS_OPENGL) {
if (needs_alignment_stream) {
const std::span<u8> span =

Loading…
Cancel
Save