Files
Dec2017-Script-Dump/UnityEngine/AtomicSafetyHandle.cs
T
2026-06-04 11:42:34 +02:00

112 lines
4.2 KiB
C#

using System;
using System.Runtime.CompilerServices;
using UnityEngine.Scripting;
namespace UnityEngine
{
// Token: 0x020003B6 RID: 950
[UsedByNativeCode]
internal struct AtomicSafetyHandle
{
// Token: 0x06003796 RID: 14230 RVA: 0x0005EA64 File Offset: 0x0005CC64
internal static AtomicSafetyHandle Create()
{
AtomicSafetyHandle atomicSafetyHandle;
AtomicSafetyHandle.Create_Injected(out atomicSafetyHandle);
return atomicSafetyHandle;
}
// Token: 0x06003797 RID: 14231 RVA: 0x0005EA7C File Offset: 0x0005CC7C
internal static void Release(AtomicSafetyHandle handle)
{
AtomicSafetyHandle.Release_Injected(ref handle);
}
// Token: 0x06003798 RID: 14232
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern void PrepareUndisposable(ref AtomicSafetyHandle handle);
// Token: 0x06003799 RID: 14233
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern void UseSecondaryVersion(ref AtomicSafetyHandle handle);
// Token: 0x0600379A RID: 14234
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern void BumpSecondaryVersion(ref AtomicSafetyHandle handle);
// Token: 0x0600379B RID: 14235 RVA: 0x0005EA88 File Offset: 0x0005CC88
internal static void EnforceAllBufferJobsHaveCompletedAndRelease(AtomicSafetyHandle handle)
{
AtomicSafetyHandle.EnforceAllBufferJobsHaveCompletedAndRelease_Injected(ref handle);
}
// Token: 0x0600379C RID: 14236 RVA: 0x0005EA94 File Offset: 0x0005CC94
internal static void CheckReadAndThrowNoEarlyOut(AtomicSafetyHandle handle)
{
AtomicSafetyHandle.CheckReadAndThrowNoEarlyOut_Injected(ref handle);
}
// Token: 0x0600379D RID: 14237 RVA: 0x0005EAA0 File Offset: 0x0005CCA0
internal static void CheckWriteAndThrowNoEarlyOut(AtomicSafetyHandle handle)
{
AtomicSafetyHandle.CheckWriteAndThrowNoEarlyOut_Injected(ref handle);
}
// Token: 0x0600379E RID: 14238 RVA: 0x0005EAAC File Offset: 0x0005CCAC
internal static void CheckDeallocateAndThrow(AtomicSafetyHandle handle)
{
AtomicSafetyHandle.CheckDeallocateAndThrow_Injected(ref handle);
}
// Token: 0x0600379F RID: 14239 RVA: 0x0005EAB8 File Offset: 0x0005CCB8
internal unsafe static void CheckReadAndThrow(AtomicSafetyHandle handle)
{
AtomicSafetyHandleVersionMask* ptr = (AtomicSafetyHandleVersionMask*)(void*)handle.versionNode;
if ((handle.version & AtomicSafetyHandleVersionMask.Read) == (AtomicSafetyHandleVersionMask)0 && handle.version != (*ptr & AtomicSafetyHandleVersionMask.ReadInv))
{
AtomicSafetyHandle.CheckReadAndThrowNoEarlyOut(handle);
}
}
// Token: 0x060037A0 RID: 14240 RVA: 0x0005EAF8 File Offset: 0x0005CCF8
internal unsafe static void CheckWriteAndThrow(AtomicSafetyHandle handle)
{
AtomicSafetyHandleVersionMask* ptr = (AtomicSafetyHandleVersionMask*)(void*)handle.versionNode;
if ((handle.version & AtomicSafetyHandleVersionMask.Write) == (AtomicSafetyHandleVersionMask)0 && handle.version != (*ptr & AtomicSafetyHandleVersionMask.WriteInv))
{
AtomicSafetyHandle.CheckWriteAndThrowNoEarlyOut(handle);
}
}
// Token: 0x060037A1 RID: 14241
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Create_Injected(out AtomicSafetyHandle ret);
// Token: 0x060037A2 RID: 14242
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Release_Injected(ref AtomicSafetyHandle handle);
// Token: 0x060037A3 RID: 14243
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void EnforceAllBufferJobsHaveCompletedAndRelease_Injected(ref AtomicSafetyHandle handle);
// Token: 0x060037A4 RID: 14244
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void CheckReadAndThrowNoEarlyOut_Injected(ref AtomicSafetyHandle handle);
// Token: 0x060037A5 RID: 14245
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void CheckWriteAndThrowNoEarlyOut_Injected(ref AtomicSafetyHandle handle);
// Token: 0x060037A6 RID: 14246
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void CheckDeallocateAndThrow_Injected(ref AtomicSafetyHandle handle);
// Token: 0x04000C9F RID: 3231
internal IntPtr versionNode;
// Token: 0x04000CA0 RID: 3232
internal AtomicSafetyHandleVersionMask version;
}
}