 int oldval, int newval)
        {
            // SpanOverloader
            return thisApi.AtomicCAS(ref a.GetPinnableReference(), oldval, newval);
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 274, Column 29 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe int AtomicSet(this Sdl thisApi, Span<AtomicT> a, int v)
        {
            // SpanOverloader
            return thisApi.AtomicSet(ref a.GetPinnableReference(), v);
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 287, Column 29 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe int AtomicGet(this Sdl thisApi, Span<AtomicT> a)
        {
            // SpanOverloader
            return thisApi.AtomicGet(ref a.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 304, Column 29 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe int AtomicAdd(this Sdl thisApi, Span<AtomicT> a, int v)
        {
            // SpanOverloader
            return thisApi.AtomicAdd(ref a.GetPinnableReference(), v);
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 341, Column 34 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe SdlBool AtomicCASPtr<T0>(this Sdl thisApi, void** a, void* oldval, Span<T0> newval) where T0 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicCASPtr(a, oldval, ref newval.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 341, Column 34 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe SdlBool AtomicCASPtr<T0>(this Sdl thisApi, void** a, Span<T0> oldval, void* newval) where T0 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicCASPtr(a, ref oldval.GetPinnableReference(), newval);
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 341, Column 34 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe SdlBool AtomicCASPtr<T0, T1>(this Sdl thisApi, void** a, Span<T0> oldval, Span<T1> newval) where T0 : unmanaged where T1 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicCASPtr(a, ref oldval.GetPinnableReference(), ref newval.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 341, Column 34 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe SdlBool AtomicCASPtr<T0>(this Sdl thisApi, ref void* a, void* oldval, Span<T0> newval) where T0 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicCASPtr(ref a, oldval, ref newval.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 341, Column 34 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe SdlBool AtomicCASPtr<T0>(this Sdl thisApi, ref void* a, Span<T0> oldval, void* newval) where T0 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicCASPtr(ref a, ref oldval.GetPinnableReference(), newval);
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 341, Column 34 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe SdlBool AtomicCASPtr<T0, T1>(this Sdl thisApi, ref void* a, Span<T0> oldval, Span<T1> newval) where T0 : unmanaged where T1 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicCASPtr(ref a, ref oldval.GetPinnableReference(), ref newval.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 356, Column 31 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe void* AtomicSetPtr<T0>(this Sdl thisApi, void** a, Span<T0> v) where T0 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicSetPtr(a, ref v.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 356, Column 31 in build/submodules/SDL/include/SDL_atomic.h")]
        public static unsafe void* AtomicSetPtr<T0>(this Sdl thisApi, ref void* a, Span<T0> v) where T0 : unmanaged
        {
            // SpanOverloader
            return thisApi.AtomicSetPtr(ref a, ref v.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 95, Column 29 in build/submodules/SDL/include\\SDL_mutex.h")]
        public static unsafe int LockMutex(this Sdl thisApi, Span<Mutex> mutex)
        {
            // SpanOverloader
            return thisApi.LockMutex(ref mutex.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 116, Column 29 in build/submodules/SDL/include\\SDL_mutex.h")]
        public static unsafe int TryLockMutex(this Sdl thisApi, Span<Mutex> mutex)
        {
            // SpanOverloader
            return thisApi.TryLockMutex(ref mutex.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 133, Column 29 in build/submodules/SDL/include\\SDL_mutex.h")]
        public static unsafe int UnlockMutex(this Sdl thisApi, Span<Mutex> mutex)
        {
            // SpanOverloader
            return thisApi.UnlockMutex(ref mutex.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 152, Column 30 in build/submodules/SDL/include\\SDL_mutex.h")]
        public static unsafe void DestroyMutex(this Sdl thisApi, Span<Mutex> mutex)
        {
            // SpanOverloader
            thisApi.DestroyMutex(ref mutex.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 203, Column 30 in build/submodules/SDL/include\\SDL_mutex.h")]
        public static unsafe void DestroySemaphore(this Sdl thisApi, Span<Semaphore> sem)
        {
            // SpanOverloader
            thisApi.DestroySemaphore(ref sem.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 228, Column 29 in build/submodules/SDL/include\\SDL_mutex.h")]
        public static unsafe int SemWait(this Sdl thisApi, Span<Semaphore> sem)
        {
            // SpanOverloader
            return thisApi.SemWait(ref sem.GetPinnableReference());
        }

        /// <summary>To be documented.</summary>
        [NativeName("Src", "Line 250, Column 29 in build/submodules/SDL/include\\SDL_mutex.h")]
        public static unsafe int SemTryWait(this Sdl thisApi, Span<Semaphore