public static AsyncGPUReadbackRequest Request(GraphicsBuffer src, int size, int offset, Action <AsyncGPUReadbackRequest> callback = null)
        {
            AsyncGPUReadbackRequest result = AsyncGPUReadback.Request_Internal_GraphicsBuffer_2(src, size, offset, null);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public static AsyncGPUReadbackRequest Request(Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, Action <AsyncGPUReadbackRequest> callback = null)
        {
            AsyncGPUReadbackRequest result = AsyncGPUReadback.Request_Internal_Texture_3(src, mipIndex, x, width, y, height, z, depth, null);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public static AsyncGPUReadbackRequest Request(Texture src, int mipIndex = 0, Action <AsyncGPUReadbackRequest> callback = null)
        {
            AsyncGPUReadbackRequest result = AsyncGPUReadback.Request_Internal_Texture_1(src, mipIndex, null);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public static AsyncGPUReadbackRequest Request(ComputeBuffer src, Action <AsyncGPUReadbackRequest> callback = null)
        {
            AsyncGPUReadbackRequest result = AsyncGPUReadback.Request_Internal_ComputeBuffer_1(src, null);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public static AsyncGPUReadbackRequest Request(Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, GraphicsFormat dstFormat, Action <AsyncGPUReadbackRequest> callback = null)
        {
            AsyncGPUReadback.ValidateFormat(src, dstFormat);
            AsyncGPUReadbackRequest result = AsyncGPUReadback.Request_Internal_Texture_4(src, mipIndex, x, width, y, height, z, depth, dstFormat, null);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public static AsyncGPUReadbackRequest Request(Texture src, int mipIndex, GraphicsFormat dstFormat, Action <AsyncGPUReadbackRequest> callback = null)
        {
            AsyncGPUReadback.ValidateFormat(src, dstFormat);
            AsyncGPUReadbackRequest result = AsyncGPUReadback.Request_Internal_Texture_2(src, mipIndex, dstFormat, null);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public unsafe static AsyncGPUReadbackRequest RequestIntoNativeSlice <T>(ref NativeSlice <T> output, Texture src, int mipIndex = 0, Action <AsyncGPUReadbackRequest> callback = null) where T : struct
        {
            AsyncRequestNativeArrayData asyncRequestNativeArrayData = AsyncRequestNativeArrayData.CreateAndCheckAccess <T>(output);
            AsyncGPUReadbackRequest     result = AsyncGPUReadback.Request_Internal_Texture_1(src, mipIndex, &asyncRequestNativeArrayData);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public unsafe static AsyncGPUReadbackRequest RequestIntoNativeSlice <T>(ref NativeSlice <T> output, GraphicsBuffer src, int size, int offset, Action <AsyncGPUReadbackRequest> callback = null) where T : struct
        {
            AsyncRequestNativeArrayData asyncRequestNativeArrayData = AsyncRequestNativeArrayData.CreateAndCheckAccess <T>(output);
            AsyncGPUReadbackRequest     result = AsyncGPUReadback.Request_Internal_GraphicsBuffer_2(src, size, offset, &asyncRequestNativeArrayData);

            result.SetScriptingCallback(callback);
            return(result);
        }
        public unsafe static AsyncGPUReadbackRequest RequestIntoNativeArray <T>(ref NativeArray <T> output, ComputeBuffer src, Action <AsyncGPUReadbackRequest> callback = null) where T : struct
        {
            AsyncRequestNativeArrayData asyncRequestNativeArrayData = AsyncRequestNativeArrayData.CreateAndCheckAccess <T>(output);
            AsyncGPUReadbackRequest     result = AsyncGPUReadback.Request_Internal_ComputeBuffer_1(src, &asyncRequestNativeArrayData);

            result.SetScriptingCallback(callback);
            return(result);
        }
 static public AsyncGPUReadbackRequest Request(GraphicsBuffer src, Action <AsyncGPUReadbackRequest> callback = null)
 {
     unsafe
     {
         AsyncGPUReadbackRequest request = Request_Internal_GraphicsBuffer_1(src, null);
         request.SetScriptingCallback(callback);
         return(request);
     }
 }
 static public AsyncGPUReadbackRequest Request(ComputeBuffer src, int size, int offset, Action <AsyncGPUReadbackRequest> callback = null)
 {
     unsafe
     {
         AsyncGPUReadbackRequest request = Request_Internal_ComputeBuffer_2(src, size, offset, null);
         request.SetScriptingCallback(callback);
         return(request);
     }
 }
        public unsafe static AsyncGPUReadbackRequest RequestIntoNativeSlice <T>(ref NativeSlice <T> output, Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, GraphicsFormat dstFormat, Action <AsyncGPUReadbackRequest> callback = null) where T : struct
        {
            AsyncGPUReadback.ValidateFormat(src, dstFormat);
            AsyncRequestNativeArrayData asyncRequestNativeArrayData = AsyncRequestNativeArrayData.CreateAndCheckAccess <T>(output);
            AsyncGPUReadbackRequest     result = AsyncGPUReadback.Request_Internal_Texture_4(src, mipIndex, x, width, y, height, z, depth, dstFormat, &asyncRequestNativeArrayData);

            result.SetScriptingCallback(callback);
            return(result);
        }
 static public AsyncGPUReadbackRequest RequestIntoNativeArray <T>(ref NativeArray <T> output, GraphicsBuffer src, Action <AsyncGPUReadbackRequest> callback = null) where T : struct
 {
     unsafe
     {
         var data = AsyncRequestNativeArrayData.CreateAndCheckAccess(output);
         AsyncGPUReadbackRequest request = Request_Internal_GraphicsBuffer_1(src, &data);
         request.SetScriptingCallback(callback);
         return(request);
     }
 }
 static public AsyncGPUReadbackRequest RequestIntoNativeSlice <T>(ref NativeSlice <T> output, ComputeBuffer src, int size, int offset, Action <AsyncGPUReadbackRequest> callback = null) where T : struct
 {
     unsafe
     {
         var data = AsyncRequestNativeArrayData.CreateAndCheckAccess(output);
         AsyncGPUReadbackRequest request = Request_Internal_ComputeBuffer_2(src, size, offset, &data);
         request.SetScriptingCallback(callback);
         return(request);
     }
 }
 static public AsyncGPUReadbackRequest RequestIntoNativeArray <T>(ref NativeArray <T> output, Texture src, int mipIndex, GraphicsFormat dstFormat, Action <AsyncGPUReadbackRequest> callback = null) where T : struct
 {
     ValidateFormat(src, dstFormat);
     unsafe
     {
         var data = AsyncRequestNativeArrayData.CreateAndCheckAccess(output);
         AsyncGPUReadbackRequest request = Request_Internal_Texture_2(src, mipIndex, dstFormat, &data);
         request.SetScriptingCallback(callback);
         return(request);
     }
 }
 static private void SetUpScriptingRequest(AsyncGPUReadbackRequest request, Action <AsyncGPUReadbackRequest> callback)
 {
     request.SetScriptingCallback(callback);
     request.CreateSafetyHandle();
 }