use SpanOwner instead of new array allocation
This commit is contained in:
parent
0c2d4f2794
commit
40c4b1501e
1 changed files with 3 additions and 1 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
using Ryujinx.Common.Memory;
|
||||||
using Silk.NET.Vulkan;
|
using Silk.NET.Vulkan;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
@ -165,7 +166,8 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
/// <returns>True if all fences were signaled before the timeout expired, false otherwise</returns>
|
/// <returns>True if all fences were signaled before the timeout expired, false otherwise</returns>
|
||||||
private bool WaitForFencesImpl(Vk api, Device device, int offset, int size, bool hasTimeout, ulong timeout)
|
private bool WaitForFencesImpl(Vk api, Device device, int offset, int size, bool hasTimeout, ulong timeout)
|
||||||
{
|
{
|
||||||
Span<FenceHolder> fenceHolders = new FenceHolder[CommandBufferPool.MaxCommandBuffers];
|
using SpanOwner<FenceHolder> fenceHoldersOwner = SpanOwner<FenceHolder>.Rent(CommandBufferPool.MaxCommandBuffers);
|
||||||
|
Span<FenceHolder> fenceHolders = fenceHoldersOwner.Span;
|
||||||
|
|
||||||
int count = size != 0 ? GetOverlappingFences(fenceHolders, offset, size) : GetFences(fenceHolders);
|
int count = size != 0 ? GetOverlappingFences(fenceHolders, offset, size) : GetFences(fenceHolders);
|
||||||
Span<Fence> fences = stackalloc Fence[count];
|
Span<Fence> fences = stackalloc Fence[count];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue