public void UsageAfterDispose(Device device, Type bufferType) { using TransferBuffer <float> buffer = device.Get().AllocateTransferBuffer <float>(bufferType, 128); buffer.Dispose(); _ = buffer.Span; }
public void DisposeAfterDevice(Device device, Type bufferType) { GraphicsDevice?gpu = device switch { Device.Discrete => GraphicsDevice.QueryDevices(info => info.IsHardwareAccelerated).FirstOrDefault(), Device.Warp => GraphicsDevice.QueryDevices(info => !info.IsHardwareAccelerated).First(), _ => throw new ArgumentException(nameof(device)) }; if (gpu is null) { Assert.Inconclusive(); return; } TransferBuffer <float> buffer = gpu.AllocateTransferBuffer <float>(bufferType, 128); gpu.Dispose(); buffer.Dispose(); }