public unsafe static JobHandle LoadBytesJob( ref BasisUniversalJob job, BasisUniversalTranscoderInstance basis, NativeSlice <byte> basisuData, TranscodeFormat transF ) { Profiler.BeginSample("BasisU.LoadBytesJob"); var numLevels = basis.GetLevelCount(job.imageIndex); var sizes = new NativeArray <uint>((int)numLevels, KtxNativeInstance.defaultAllocator); var offsets = new NativeArray <uint>((int)numLevels, KtxNativeInstance.defaultAllocator); uint totalSize = 0; for (uint i = 0; i < numLevels; i++) { offsets[(int)i] = totalSize; var size = basis.GetImageTranscodedSize(job.imageIndex, i, transF); sizes[(int)i] = size; totalSize += size; } job.format = transF; job.sizes = sizes; job.offsets = offsets; job.nativeReference = basis.nativeReference; job.textureData = new NativeArray <byte>((int)totalSize, KtxNativeInstance.defaultAllocator); var jobHandle = job.Schedule(); Profiler.EndSample(); return(jobHandle); }
public unsafe static JobHandle LoadBytesJob( ref BasisUniversalJob job, BasisUniversalTranscoderInstance basis, NativeArray <byte> basisuData, TranscodeFormat transF ) { Profiler.BeginSample("BasisU.LoadBytesJob"); var size = basis.GetImageTranscodedSize(0, 0, transF); job.format = transF; job.size = size; job.nativeReference = basis.nativeReference; job.textureData = new NativeArray <byte>((int)size, KtxNativeInstance.defaultAllocator); var jobHandle = job.Schedule(); Profiler.EndSample(); return(jobHandle); }