using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Permissions; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using UnityEngine; using UnityEngine.Bindings; using UnityEngine.Experimental.Rendering; [assembly: InternalsVisibleTo("Unity.IntegrationTests")] [assembly: InternalsVisibleTo("Unity.IntegrationTests.ExternalVersionControl")] [assembly: InternalsVisibleTo("Unity.IntegrationTests.UnityAnalytics")] [assembly: InternalsVisibleTo("Unity.IntegrationTests.Timeline")] [assembly: InternalsVisibleTo("Unity.IntegrationTests.Framework")] [assembly: InternalsVisibleTo("Unity.RuntimeTests")] [assembly: InternalsVisibleTo("Unity.RuntimeTests.Framework")] [assembly: InternalsVisibleTo("Unity.RuntimeTests.Framework.Tests")] [assembly: InternalsVisibleTo("Unity.PerformanceTests.RuntimeTestRunner.Tests")] [assembly: InternalsVisibleTo("Unity.DeploymentTests.Services")] [assembly: InternalsVisibleTo("Unity.RuntimeTests.AllIn1Runner")] [assembly: InternalsVisibleTo("Assembly-CSharp-testable")] [assembly: InternalsVisibleTo("Assembly-CSharp-firstpass-testable")] [assembly: InternalsVisibleTo("UnityEngine.SpatialTracking")] [assembly: InternalsVisibleTo("GoogleAR.UnityNative")] [assembly: InternalsVisibleTo("Unity.WindowsMRAutomation")] [assembly: InternalsVisibleTo("Unity.RenderPipelines.Universal.2D.Runtime")] [assembly: InternalsVisibleTo("Unity.2D.Sprite.Editor")] [assembly: InternalsVisibleTo("Unity.2D.Sprite.EditorTests")] [assembly: InternalsVisibleTo("Unity.UI.Builder.Editor")] [assembly: InternalsVisibleTo("Unity.Timeline")] [assembly: InternalsVisibleTo("UnityEditor.UIBuilderModule")] [assembly: InternalsVisibleTo("Unity.Burst.Editor")] [assembly: InternalsVisibleTo("Unity.Automation")] [assembly: InternalsVisibleTo("UnityEngine.VRModule")] [assembly: InternalsVisibleTo("UnityEngine.VehiclesModule")] [assembly: InternalsVisibleTo("UnityEngine.VideoModule")] [assembly: InternalsVisibleTo("UnityEngine.VirtualTexturingModule")] [assembly: InternalsVisibleTo("UnityEngine.WindModule")] [assembly: InternalsVisibleTo("UnityEngine.SwitchModule")] [assembly: InternalsVisibleTo("UnityEngine.PS4Module")] [assembly: InternalsVisibleTo("UnityEngine.PS4VRModule")] [assembly: InternalsVisibleTo("UnityEngine.PS5Module")] [assembly: InternalsVisibleTo("Unity.Burst")] [assembly: InternalsVisibleTo("UnityEngine.PS5VRModule")] [assembly: InternalsVisibleTo("UnityEngine.Networking")] [assembly: InternalsVisibleTo("UnityEngine.Cloud")] [assembly: InternalsVisibleTo("UnityEngine.Cloud.Service")] [assembly: InternalsVisibleTo("Unity.Analytics")] [assembly: InternalsVisibleTo("UnityEngine.Analytics")] [assembly: InternalsVisibleTo("UnityEngine.UnityAnalyticsCommon")] [assembly: InternalsVisibleTo("UnityEngine.Advertisements")] [assembly: InternalsVisibleTo("UnityEngine.Purchasing")] [assembly: InternalsVisibleTo("UnityEngine.TestRunner")] [assembly: UnityEngineModuleAssembly] [assembly: InternalsVisibleTo("Unity.UI.Builder.EditorTests")] [assembly: InternalsVisibleTo("Unity.UIElements")] [assembly: InternalsVisibleTo("UnityEngine.UIElementsGameObjectsModule")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.010")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.011")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.012")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.013")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.014")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.015")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.016")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.017")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.018")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.009")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.019")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.021")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.022")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.023")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.024")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridgeDev.001")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridgeDev.002")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridgeDev.003")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridgeDev.004")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridgeDev.005")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.020")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.008")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.007")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.006")] [assembly: InternalsVisibleTo("Unity.UIElements.Editor")] [assembly: InternalsVisibleTo("Unity.UIElements.PlayModeTests")] [assembly: InternalsVisibleTo("UnityEngine.UIElements.Tests")] [assembly: InternalsVisibleTo("Unity.UIElements.EditorTests")] [assembly: InternalsVisibleTo("Unity.UIElements.RuntimeTests")] [assembly: InternalsVisibleTo("UnityEngine.UI")] [assembly: InternalsVisibleTo("Unity.Networking.Transport")] [assembly: InternalsVisibleTo("Unity.ucg.QoS")] [assembly: InternalsVisibleTo("Unity.Services.QoS")] [assembly: InternalsVisibleTo("Unity.Logging")] [assembly: InternalsVisibleTo("Unity.Entities")] [assembly: InternalsVisibleTo("Unity.Entities.Tests")] [assembly: InternalsVisibleTo("Unity.Collections")] [assembly: InternalsVisibleTo("Unity.Runtime")] [assembly: InternalsVisibleTo("Unity.Core")] [assembly: InternalsVisibleTo("UnityEngine.Core.Runtime.Tests")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.001")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.002")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.003")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.004")] [assembly: InternalsVisibleTo("Unity.InternalAPIEngineBridge.005")] [assembly: InternalsVisibleTo("UnityEngine.XRModule")] [assembly: InternalsVisibleTo("UnityEngine.VFXModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityWebRequestWWWModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityWebRequestTextureModule")] [assembly: InternalsVisibleTo("UnityEngine.ClothModule")] [assembly: InternalsVisibleTo("UnityEngine.ClusterInputModule")] [assembly: InternalsVisibleTo("UnityEngine.ClusterRendererModule")] [assembly: InternalsVisibleTo("Unity.Subsystem.Registration")] [assembly: InternalsVisibleTo("UnityEngine.ContentLoadModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityConnectModule")] [assembly: InternalsVisibleTo("UnityEngine.AudioModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityAnalyticsCommonModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityWebRequestModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityAnalyticsModule")] [assembly: InternalsVisibleTo("UnityEngine.CrashReportingModule")] [assembly: InternalsVisibleTo("UnityEngine.DSPGraphModule")] [assembly: InternalsVisibleTo("UnityEngine.DirectorModule")] [assembly: InternalsVisibleTo("UnityEngine.GIModule")] [assembly: InternalsVisibleTo("UnityEngine.TLSModule")] [assembly: InternalsVisibleTo("UnityEngine.ImageConversionModule")] [assembly: InternalsVisibleTo("UnityEngine.AssetBundleModule")] [assembly: InternalsVisibleTo("UnityEngine.AnimationModule")] [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: InternalsVisibleTo("UnityEngine")] [assembly: InternalsVisibleTo("UnityEngine.SharedInternalsModule")] [assembly: InternalsVisibleTo("UnityEngine.HotReloadModule")] [assembly: InternalsVisibleTo("UnityEngine.CoreModule")] [assembly: InternalsVisibleTo("UnityEngine.PhysicsModule")] [assembly: InternalsVisibleTo("UnityEngine.JSONSerializeModule")] [assembly: InternalsVisibleTo("UnityEngine.InputModule")] [assembly: InternalsVisibleTo("UnityEngine.ARModule")] [assembly: InternalsVisibleTo("UnityEngine.AccessibilityModule")] [assembly: InternalsVisibleTo("UnityEngine.AndroidJNIModule")] [assembly: InternalsVisibleTo("UnityEngine.AIModule")] [assembly: InternalsVisibleTo("UnityEngine.GameCenterModule")] [assembly: InternalsVisibleTo("UnityEngine.CommandStateObserverModule")] [assembly: InternalsVisibleTo("UnityEngine.GridModule")] [assembly: InternalsVisibleTo("UnityEngine.TilemapModule")] [assembly: InternalsVisibleTo("UnityEngine.SpriteMaskModule")] [assembly: InternalsVisibleTo("UnityEngine.StreamingModule")] [assembly: InternalsVisibleTo("UnityEngine.SubstanceModule")] [assembly: InternalsVisibleTo("UnityEngine.SubsystemsModule")] [assembly: InternalsVisibleTo("UnityEngine.TerrainModule")] [assembly: InternalsVisibleTo("UnityEngine.SpriteShapeModule")] [assembly: InternalsVisibleTo("UnityEngine.TerrainPhysicsModule")] [assembly: InternalsVisibleTo("UnityEngine.UIElementsModule")] [assembly: InternalsVisibleTo("UnityEngine.UmbraModule")] [assembly: InternalsVisibleTo("UnityEngine.GraphToolsFoundationModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityTestProtocolModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityWebRequestAssetBundleModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityWebRequestAudioModule")] [assembly: InternalsVisibleTo("UnityEngine.UIModule")] [assembly: InternalsVisibleTo("UnityEngine.ScreenCaptureModule")] [assembly: InternalsVisibleTo("UnityEngine.UnityCurlModule")] [assembly: InternalsVisibleTo("UnityEngine.PropertiesModule")] [assembly: InternalsVisibleTo("UnityEngine.HierarchyCoreModule")] [assembly: InternalsVisibleTo("UnityEngine.TextRenderingModule")] [assembly: InternalsVisibleTo("UnityEngine.InputLegacyModule")] [assembly: InternalsVisibleTo("UnityEngine.TextCoreFontEngineModule")] [assembly: InternalsVisibleTo("UnityEngine.TextCoreTextEngineModule")] [assembly: InternalsVisibleTo("UnityEngine.IMGUIModule")] [assembly: InternalsVisibleTo("UnityEngine.LocalizationModule")] [assembly: InternalsVisibleTo("UnityEngine.InputForUIModule")] [assembly: InternalsVisibleTo("UnityEngine.MultiplayerModule")] [assembly: InternalsVisibleTo("UnityEngine.NVIDIAModule")] [assembly: InternalsVisibleTo("UnityEngine.ParticleSystemModule")] [assembly: InternalsVisibleTo("UnityEngine.PerformanceReportingModule")] [assembly: InternalsVisibleTo("UnityEngine.Physics2DModule")] [assembly: InternalsVisibleTo("UnityEngine.ProfilerModule")] [assembly: InternalsVisibleTo("UnityEngine.MarshallingModule")] [assembly: InternalsVisibleTo("UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] namespace UnityEngine; [NativeHeader("Modules/ImageConversion/ScriptBindings/ImageConversion.bindings.h")] public static class ImageConversion { public static bool EnableLegacyPngGammaRuntimeLoadBehavior { get { return GetEnableLegacyPngGammaRuntimeLoadBehavior(); } set { SetEnableLegacyPngGammaRuntimeLoadBehavior(value); } } [MethodImpl(MethodImplOptions.InternalCall)] [NativeMethod(Name = "ImageConversionBindings::GetEnableLegacyPngGammaRuntimeLoadBehavior", IsFreeFunction = true, ThrowsException = false)] private static extern bool GetEnableLegacyPngGammaRuntimeLoadBehavior(); [MethodImpl(MethodImplOptions.InternalCall)] [NativeMethod(Name = "ImageConversionBindings::SetEnableLegacyPngGammaRuntimeLoadBehavior", IsFreeFunction = true, ThrowsException = false)] private static extern void SetEnableLegacyPngGammaRuntimeLoadBehavior(bool enable); [NativeMethod(Name = "ImageConversionBindings::EncodeToTGA", IsFreeFunction = true, ThrowsException = true)] public static byte[] EncodeToTGA(this Texture2D tex) { BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeToTGA_Injected(MarshalledUnityObject.Marshal(tex), out ret); } finally { byte[] array = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array); result = array; } return result; } [NativeMethod(Name = "ImageConversionBindings::EncodeToPNG", IsFreeFunction = true, ThrowsException = true)] public static byte[] EncodeToPNG(this Texture2D tex) { BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeToPNG_Injected(MarshalledUnityObject.Marshal(tex), out ret); } finally { byte[] array = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array); result = array; } return result; } [NativeMethod(Name = "ImageConversionBindings::EncodeToJPG", IsFreeFunction = true, ThrowsException = true)] public static byte[] EncodeToJPG(this Texture2D tex, int quality) { BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeToJPG_Injected(MarshalledUnityObject.Marshal(tex), quality, out ret); } finally { byte[] array = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array); result = array; } return result; } public static byte[] EncodeToJPG(this Texture2D tex) { return tex.EncodeToJPG(75); } [NativeMethod(Name = "ImageConversionBindings::EncodeToEXR", IsFreeFunction = true, ThrowsException = true)] public static byte[] EncodeToEXR(this Texture2D tex, EXRFlags flags) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeToEXR_Injected(MarshalledUnityObject.Marshal(tex), flags, out ret); } finally { byte[] array = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array); result = array; } return result; } public static byte[] EncodeToEXR(this Texture2D tex) { return tex.EncodeToEXR((EXRFlags)0); } [NativeMethod(Name = "ImageConversionBindings::LoadImage", IsFreeFunction = true)] public unsafe static bool LoadImage([NotNull] this Texture2D tex, byte[] data, bool markNonReadable) { if (tex == null) { ThrowHelper.ThrowArgumentNullException((object)tex, "tex"); } IntPtr intPtr = MarshalledUnityObject.MarshalNotNull(tex); if (intPtr == (IntPtr)0) { ThrowHelper.ThrowArgumentNullException((object)tex, "tex"); } Span span = new Span(data); bool result; fixed (byte* ptr = span) { ManagedSpanWrapper data2 = default(ManagedSpanWrapper); ((ManagedSpanWrapper)(ref data2))..ctor((void*)ptr, span.Length); result = LoadImage_Injected(intPtr, ref data2, markNonReadable); } return result; } public static bool LoadImage(this Texture2D tex, byte[] data) { return tex.LoadImage(data, markNonReadable: false); } [FreeFunction("ImageConversionBindings::EncodeArrayToTGA", true)] public static byte[] EncodeArrayToTGA(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeArrayToTGA_Injected(array, format, width, height, rowBytes, out ret); } finally { byte[] array2 = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array2); result = array2; } return result; } [FreeFunction("ImageConversionBindings::EncodeArrayToPNG", true)] public static byte[] EncodeArrayToPNG(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeArrayToPNG_Injected(array, format, width, height, rowBytes, out ret); } finally { byte[] array2 = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array2); result = array2; } return result; } [FreeFunction("ImageConversionBindings::EncodeArrayToJPG", true)] public static byte[] EncodeArrayToJPG(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u, int quality = 75) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeArrayToJPG_Injected(array, format, width, height, rowBytes, quality, out ret); } finally { byte[] array2 = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array2); result = array2; } return result; } [FreeFunction("ImageConversionBindings::EncodeArrayToEXR", true)] public static byte[] EncodeArrayToEXR(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u, EXRFlags flags = (EXRFlags)0) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) BlittableArrayWrapper ret = default(BlittableArrayWrapper); byte[] result; try { EncodeArrayToEXR_Injected(array, format, width, height, rowBytes, flags, out ret); } finally { byte[] array2 = default(byte[]); ((BlittableArrayWrapper)(ref ret)).Unmarshal(ref array2); result = array2; } return result; } public unsafe static NativeArray EncodeNativeArrayToTGA(NativeArray input, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u) where T : struct { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) int sizeInBytes = input.Length * UnsafeUtility.SizeOf(); void* ptr = UnsafeEncodeNativeArrayToTGA(NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(input), ref sizeInBytes, format, width, height, rowBytes); return NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(ptr, sizeInBytes, (Allocator)4); } public unsafe static NativeArray EncodeNativeArrayToPNG(NativeArray input, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u) where T : struct { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) int sizeInBytes = input.Length * UnsafeUtility.SizeOf(); void* ptr = UnsafeEncodeNativeArrayToPNG(NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(input), ref sizeInBytes, format, width, height, rowBytes); return NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(ptr, sizeInBytes, (Allocator)4); } public unsafe static NativeArray EncodeNativeArrayToJPG(NativeArray input, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u, int quality = 75) where T : struct { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) int sizeInBytes = input.Length * UnsafeUtility.SizeOf(); void* ptr = UnsafeEncodeNativeArrayToJPG(NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(input), ref sizeInBytes, format, width, height, rowBytes, quality); return NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(ptr, sizeInBytes, (Allocator)4); } public unsafe static NativeArray EncodeNativeArrayToEXR(NativeArray input, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u, EXRFlags flags = (EXRFlags)0) where T : struct { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) int sizeInBytes = input.Length * UnsafeUtility.SizeOf(); void* ptr = UnsafeEncodeNativeArrayToEXR(NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(input), ref sizeInBytes, format, width, height, rowBytes, flags); return NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(ptr, sizeInBytes, (Allocator)4); } [MethodImpl(MethodImplOptions.InternalCall)] [FreeFunction("ImageConversionBindings::UnsafeEncodeNativeArrayToTGA", true)] private unsafe static extern void* UnsafeEncodeNativeArrayToTGA(void* array, ref int sizeInBytes, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u); [MethodImpl(MethodImplOptions.InternalCall)] [FreeFunction("ImageConversionBindings::UnsafeEncodeNativeArrayToPNG", true)] private unsafe static extern void* UnsafeEncodeNativeArrayToPNG(void* array, ref int sizeInBytes, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u); [MethodImpl(MethodImplOptions.InternalCall)] [FreeFunction("ImageConversionBindings::UnsafeEncodeNativeArrayToJPG", true)] private unsafe static extern void* UnsafeEncodeNativeArrayToJPG(void* array, ref int sizeInBytes, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u, int quality = 75); [MethodImpl(MethodImplOptions.InternalCall)] [FreeFunction("ImageConversionBindings::UnsafeEncodeNativeArrayToEXR", true)] private unsafe static extern void* UnsafeEncodeNativeArrayToEXR(void* array, ref int sizeInBytes, GraphicsFormat format, uint width, uint height, uint rowBytes = 0u, EXRFlags flags = (EXRFlags)0); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeToTGA_Injected(IntPtr tex, out BlittableArrayWrapper ret); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeToPNG_Injected(IntPtr tex, out BlittableArrayWrapper ret); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeToJPG_Injected(IntPtr tex, int quality, out BlittableArrayWrapper ret); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeToEXR_Injected(IntPtr tex, EXRFlags flags, out BlittableArrayWrapper ret); [MethodImpl(MethodImplOptions.InternalCall)] private static extern bool LoadImage_Injected(IntPtr tex, ref ManagedSpanWrapper data, bool markNonReadable); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeArrayToTGA_Injected(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes, out BlittableArrayWrapper ret); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeArrayToPNG_Injected(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes, out BlittableArrayWrapper ret); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeArrayToJPG_Injected(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes, int quality, out BlittableArrayWrapper ret); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void EncodeArrayToEXR_Injected(Array array, GraphicsFormat format, uint width, uint height, uint rowBytes, EXRFlags flags, out BlittableArrayWrapper ret); }