early-access version 1871

main
pineappleEA 2021-07-13 01:23:44 +02:00
parent f8a45c1e72
commit 9b2ef88b7d
3 changed files with 12 additions and 3 deletions

View File

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 1870. This is the source code for early-access 1871.
## Legal Notice ## Legal Notice

View File

@ -197,7 +197,16 @@ void BufferCacheRuntime::BindIndexBuffer(PrimitiveTopology topology, IndexFormat
} }
void BufferCacheRuntime::BindQuadArrayIndexBuffer(u32 first, u32 count) { void BufferCacheRuntime::BindQuadArrayIndexBuffer(u32 first, u32 count) {
ReserveQuadArrayLUT(first + count, true); const u32 total_indices = first + count;
if (total_indices == 0) {
ReserveNullIndexBuffer();
scheduler.Record([buffer = *null_index_buffer,
index_type = quad_array_lut_index_type](vk::CommandBuffer cmdbuf) {
cmdbuf.BindIndexBuffer(buffer, 0, index_type);
});
return;
}
ReserveQuadArrayLUT(total_indices, true);
// The LUT has the indices 0, 1, 2, and 3 copied as an array // The LUT has the indices 0, 1, 2, and 3 copied as an array
// To apply these 'first' offsets we can apply an offset based on the modulus. // To apply these 'first' offsets we can apply an offset based on the modulus.

View File

@ -141,7 +141,7 @@ RasterizerVulkan::RasterizerVulkan(Core::Frontend::EmuWindow& emu_window_, Tegra
pipeline_cache(*this, maxwell3d, kepler_compute, gpu_memory, device, scheduler, pipeline_cache(*this, maxwell3d, kepler_compute, gpu_memory, device, scheduler,
descriptor_pool, update_descriptor_queue, render_pass_cache, buffer_cache, descriptor_pool, update_descriptor_queue, render_pass_cache, buffer_cache,
texture_cache, gpu.ShaderNotify()), texture_cache, gpu.ShaderNotify()),
query_cache{*this, maxwell3d, gpu_memory, device, scheduler}, accelerate_dma{ buffer_cache }, query_cache{*this, maxwell3d, gpu_memory, device, scheduler}, accelerate_dma{buffer_cache},
fence_manager(*this, gpu, texture_cache, buffer_cache, query_cache, device, scheduler), fence_manager(*this, gpu, texture_cache, buffer_cache, query_cache, device, scheduler),
wfi_event(device.GetLogical().CreateEvent()) { wfi_event(device.GetLogical().CreateEvent()) {
scheduler.SetQueryCache(query_cache); scheduler.SetQueryCache(query_cache);