// <auto-generated>
// This file is generated by Ghost.NativeWrapperGen. Do not edit manually.
// </auto-generated>

namespace Ghost.Nvtt;

public unsafe partial struct NvttRefImage
{
    /// <summary>
    /// From: <see cref="Api.nvttCreateCPUInputBuffer(NvttRefImage*, NvttValueType, int, int, int, float, float, float, float, NvttTimingContext*, uint*)" />
    /// </summary>
    [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
    public NvttCPUInputBuffer* CreateCPUInputBuffer(NvttValueType value_type, int numImages, int tile_w, int tile_h, float WeightR, float WeightG, float WeightB, float WeightA, NvttTimingContext* tc, uint* num_tiles)
    {
        return Api.nvttCreateCPUInputBuffer(
            (NvttRefImage*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
            value_type,
            numImages,
            tile_w,
            tile_h,
            WeightR,
            WeightG,
            WeightB,
            WeightA,
            tc,
            num_tiles);
    }

    /// <summary>
    /// From: <see cref="Api.nvttCreateGPUInputBuffer(NvttRefImage*, NvttValueType, int, int, int, float, float, float, float, NvttTimingContext*, uint*)" />
    /// </summary>
    [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
    public NvttGPUInputBuffer* CreateGPUInputBuffer(NvttValueType value_type, int numImages, int tile_w, int tile_h, float WeightR, float WeightG, float WeightB, float WeightA, NvttTimingContext* tc, uint* num_tiles)
    {
        return Api.nvttCreateGPUInputBuffer(
            (NvttRefImage*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
            value_type,
            numImages,
            tile_w,
            tile_h,
            WeightR,
            WeightG,
            WeightB,
            WeightA,
            tc,
            num_tiles);
    }
}
