forked from Misaki/GhostEngine
feat(nativegen)!: refactor to struct-based native wrappers
Major overhaul of native wrapper generation for ufbx and nvtt. Replaces all hand-written and class-based wrappers with auto-generated partial struct wrappers that directly expose native API methods via pointers. Introduces a new JSON-driven configuration system using "remaps" and "actions" for flexible parameter/return mapping and method routing. Removes legacy config sections and helper classes, focusing solely on method wrappers. Updates all usages and tests to use the new pointer-based API. Cleans up obsolete code and ensures resource management is handled via struct Dispose methods. The result is a thinner, more direct, and maintainable interop layer. BREAKING CHANGE: All managed wrapper classes and helpers are removed in favor of struct-based pointer wrappers. API usage and resource management patterns have changed.
This commit is contained in:
@@ -0,0 +1,212 @@
|
||||
// <auto-generated>
|
||||
// This file is generated by Ghost.NativeWrapperGen. Do not edit manually.
|
||||
// </auto-generated>
|
||||
|
||||
namespace Ghost.Nvtt;
|
||||
|
||||
public unsafe partial struct NvttCPUInputBuffer : System.IDisposable
|
||||
{
|
||||
// From: nvttDestroyCPUInputBuffer(NvttCPUInputBuffer*)
|
||||
public void Dispose()
|
||||
{
|
||||
Api.nvttDestroyCPUInputBuffer((NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this));
|
||||
}
|
||||
|
||||
// From: nvttCPUInputBufferNumTiles(NvttCPUInputBuffer*)
|
||||
public int NumTiles()
|
||||
{
|
||||
return Api.nvttCPUInputBufferNumTiles((NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this));
|
||||
}
|
||||
|
||||
// From: nvttCPUInputBufferTileSize(NvttCPUInputBuffer*, int*, int*)
|
||||
public void TileSize(int* tile_w, int* tile_h)
|
||||
{
|
||||
Api.nvttCPUInputBufferTileSize(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
tile_w,
|
||||
tile_h);
|
||||
}
|
||||
|
||||
// From: nvttCPUInputBufferType(NvttCPUInputBuffer*)
|
||||
public NvttValueType Type()
|
||||
{
|
||||
return Api.nvttCPUInputBufferType((NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this));
|
||||
}
|
||||
|
||||
// From: nvttEncodeCPU(NvttCPUInputBuffer*, void*, NvttEncodeSettings*)
|
||||
public NvttBoolean EncodeCPU(void* output, NvttEncodeSettings* settings)
|
||||
{
|
||||
return Api.nvttEncodeCPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
output,
|
||||
settings);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC1CPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC1CPU(NvttBoolean fast_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC1CPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
fast_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC1ACPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC1ACPU(NvttBoolean fast_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC1ACPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
fast_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC2CPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC2CPU(NvttBoolean fast_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC2CPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
fast_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC3CPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC3CPU(NvttBoolean fast_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC3CPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
fast_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC3NCPU(NvttCPUInputBuffer*, int, void*, NvttTimingContext*)
|
||||
public void EncodeBC3NCPU(int qualityLevel, void* output, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC3NCPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
qualityLevel,
|
||||
output,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC3RGBMCPU(NvttCPUInputBuffer*, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC3RGBMCPU(void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC3RGBMCPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC4CPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC4CPU(NvttBoolean slow_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC4CPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
slow_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC4SCPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC4SCPU(NvttBoolean slow_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC4SCPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
slow_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeATI2CPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeATI2CPU(NvttBoolean slow_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeATI2CPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
slow_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC5CPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC5CPU(NvttBoolean slow_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC5CPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
slow_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC5SCPU(NvttCPUInputBuffer*, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC5SCPU(NvttBoolean slow_mode, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC5SCPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
slow_mode,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC6HCPU(NvttCPUInputBuffer*, NvttBoolean, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC6HCPU(NvttBoolean slow_mode, NvttBoolean is_signed, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC6HCPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
slow_mode,
|
||||
is_signed,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeBC7CPU(NvttCPUInputBuffer*, NvttBoolean, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeBC7CPU(NvttBoolean slow_mode, NvttBoolean imageHasAlpha, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeBC7CPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
slow_mode,
|
||||
imageHasAlpha,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
|
||||
// From: nvttEncodeASTCCPU(NvttCPUInputBuffer*, int, NvttBoolean, void*, NvttBoolean, NvttBoolean, NvttTimingContext*)
|
||||
public void EncodeASTCCPU(int qualityLevel, NvttBoolean imageHasAlpha, void* output, NvttBoolean useGpu, NvttBoolean to_device_mem, NvttTimingContext* tc)
|
||||
{
|
||||
Api.nvttEncodeASTCCPU(
|
||||
(NvttCPUInputBuffer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
qualityLevel,
|
||||
imageHasAlpha,
|
||||
output,
|
||||
useGpu,
|
||||
to_device_mem,
|
||||
tc);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user