Generate bindings

This commit is contained in:
Dan Balasescu 2025-09-06 16:34:25 +09:00
parent 3814ee7ce3
commit 4ab453b73b
No known key found for this signature in database
1 changed files with 248 additions and 0 deletions

View File

@ -0,0 +1,248 @@
/*
<auto-generated/>
C# bindings for Simple DirectMedia Layer.
Original copyright notice of input files:
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
using System;
using System.Runtime.InteropServices;
namespace SDL
{
public enum SDL_ShaderCross_IOVarType
{
SDL_SHADERCROSS_IOVAR_TYPE_UNKNOWN,
SDL_SHADERCROSS_IOVAR_TYPE_INT8,
SDL_SHADERCROSS_IOVAR_TYPE_UINT8,
SDL_SHADERCROSS_IOVAR_TYPE_INT16,
SDL_SHADERCROSS_IOVAR_TYPE_UINT16,
SDL_SHADERCROSS_IOVAR_TYPE_INT32,
SDL_SHADERCROSS_IOVAR_TYPE_UINT32,
SDL_SHADERCROSS_IOVAR_TYPE_INT64,
SDL_SHADERCROSS_IOVAR_TYPE_UINT64,
SDL_SHADERCROSS_IOVAR_TYPE_FLOAT16,
SDL_SHADERCROSS_IOVAR_TYPE_FLOAT32,
SDL_SHADERCROSS_IOVAR_TYPE_FLOAT64,
}
public enum SDL_ShaderCross_ShaderStage
{
SDL_SHADERCROSS_SHADERSTAGE_VERTEX,
SDL_SHADERCROSS_SHADERSTAGE_FRAGMENT,
SDL_SHADERCROSS_SHADERSTAGE_COMPUTE,
}
public unsafe partial struct SDL_ShaderCross_IOVarMetadata
{
[NativeTypeName("char *")]
public byte* name;
[NativeTypeName("Uint32")]
public uint location;
public SDL_ShaderCross_IOVarType vector_type;
[NativeTypeName("Uint32")]
public uint vector_size;
}
public unsafe partial struct SDL_ShaderCross_GraphicsShaderMetadata
{
[NativeTypeName("Uint32")]
public uint num_samplers;
[NativeTypeName("Uint32")]
public uint num_storage_textures;
[NativeTypeName("Uint32")]
public uint num_storage_buffers;
[NativeTypeName("Uint32")]
public uint num_uniform_buffers;
[NativeTypeName("Uint32")]
public uint num_inputs;
public SDL_ShaderCross_IOVarMetadata* inputs;
[NativeTypeName("Uint32")]
public uint num_outputs;
public SDL_ShaderCross_IOVarMetadata* outputs;
}
public partial struct SDL_ShaderCross_ComputePipelineMetadata
{
[NativeTypeName("Uint32")]
public uint num_samplers;
[NativeTypeName("Uint32")]
public uint num_readonly_storage_textures;
[NativeTypeName("Uint32")]
public uint num_readonly_storage_buffers;
[NativeTypeName("Uint32")]
public uint num_readwrite_storage_textures;
[NativeTypeName("Uint32")]
public uint num_readwrite_storage_buffers;
[NativeTypeName("Uint32")]
public uint num_uniform_buffers;
[NativeTypeName("Uint32")]
public uint threadcount_x;
[NativeTypeName("Uint32")]
public uint threadcount_y;
[NativeTypeName("Uint32")]
public uint threadcount_z;
}
public unsafe partial struct SDL_ShaderCross_SPIRV_Info
{
[NativeTypeName("const Uint8 *")]
public byte* bytecode;
[NativeTypeName("size_t")]
public nuint bytecode_size;
[NativeTypeName("const char *")]
public byte* entrypoint;
public SDL_ShaderCross_ShaderStage shader_stage;
[NativeTypeName("bool")]
public SDLBool enable_debug;
[NativeTypeName("const char *")]
public byte* name;
public SDL_PropertiesID props;
}
public unsafe partial struct SDL_ShaderCross_HLSL_Define
{
[NativeTypeName("char *")]
public byte* name;
[NativeTypeName("char *")]
public byte* value;
}
public unsafe partial struct SDL_ShaderCross_HLSL_Info
{
[NativeTypeName("const char *")]
public byte* source;
[NativeTypeName("const char *")]
public byte* entrypoint;
[NativeTypeName("const char *")]
public byte* include_dir;
public SDL_ShaderCross_HLSL_Define* defines;
public SDL_ShaderCross_ShaderStage shader_stage;
[NativeTypeName("bool")]
public SDLBool enable_debug;
[NativeTypeName("const char *")]
public byte* name;
public SDL_PropertiesID props;
}
public static unsafe partial class SDL3_shadercross
{
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("bool")]
public static extern SDLBool SDL_ShaderCross_Init();
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void SDL_ShaderCross_Quit();
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_GPUShaderFormat SDL_ShaderCross_GetSPIRVShaderFormats();
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("void*")]
public static extern IntPtr SDL_ShaderCross_TranspileMSLFromSPIRV([NativeTypeName("const SDL_ShaderCross_SPIRV_Info *")] SDL_ShaderCross_SPIRV_Info* info);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("void*")]
public static extern IntPtr SDL_ShaderCross_TranspileHLSLFromSPIRV([NativeTypeName("const SDL_ShaderCross_SPIRV_Info *")] SDL_ShaderCross_SPIRV_Info* info);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("void*")]
public static extern IntPtr SDL_ShaderCross_CompileDXBCFromSPIRV([NativeTypeName("const SDL_ShaderCross_SPIRV_Info *")] SDL_ShaderCross_SPIRV_Info* info, [NativeTypeName("size_t *")] nuint* size);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("void*")]
public static extern IntPtr SDL_ShaderCross_CompileDXILFromSPIRV([NativeTypeName("const SDL_ShaderCross_SPIRV_Info *")] SDL_ShaderCross_SPIRV_Info* info, [NativeTypeName("size_t *")] nuint* size);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_GPUShader* SDL_ShaderCross_CompileGraphicsShaderFromSPIRV(SDL_GPUDevice* device, [NativeTypeName("const SDL_ShaderCross_SPIRV_Info *")] SDL_ShaderCross_SPIRV_Info* info, [NativeTypeName("const SDL_ShaderCross_GraphicsShaderMetadata *")] SDL_ShaderCross_GraphicsShaderMetadata* metadata, SDL_PropertiesID props);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_GPUComputePipeline* SDL_ShaderCross_CompileComputePipelineFromSPIRV(SDL_GPUDevice* device, [NativeTypeName("const SDL_ShaderCross_SPIRV_Info *")] SDL_ShaderCross_SPIRV_Info* info, [NativeTypeName("const SDL_ShaderCross_ComputePipelineMetadata *")] SDL_ShaderCross_ComputePipelineMetadata* metadata, SDL_PropertiesID props);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_ShaderCross_GraphicsShaderMetadata* SDL_ShaderCross_ReflectGraphicsSPIRV([NativeTypeName("const Uint8 *")] byte* bytecode, [NativeTypeName("size_t")] nuint bytecode_size, SDL_PropertiesID props);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_ShaderCross_ComputePipelineMetadata* SDL_ShaderCross_ReflectComputeSPIRV([NativeTypeName("const Uint8 *")] byte* bytecode, [NativeTypeName("size_t")] nuint bytecode_size, SDL_PropertiesID props);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern SDL_GPUShaderFormat SDL_ShaderCross_GetHLSLShaderFormats();
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("void*")]
public static extern IntPtr SDL_ShaderCross_CompileDXBCFromHLSL([NativeTypeName("const SDL_ShaderCross_HLSL_Info *")] SDL_ShaderCross_HLSL_Info* info, [NativeTypeName("size_t *")] nuint* size);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("void*")]
public static extern IntPtr SDL_ShaderCross_CompileDXILFromHLSL([NativeTypeName("const SDL_ShaderCross_HLSL_Info *")] SDL_ShaderCross_HLSL_Info* info, [NativeTypeName("size_t *")] nuint* size);
[DllImport("SDL3_shadercross", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("void*")]
public static extern IntPtr SDL_ShaderCross_CompileSPIRVFromHLSL([NativeTypeName("const SDL_ShaderCross_HLSL_Info *")] SDL_ShaderCross_HLSL_Info* info, [NativeTypeName("size_t *")] nuint* size);
[NativeTypeName("#define SDL_SHADERCROSS_MAJOR_VERSION 3")]
public const int SDL_SHADERCROSS_MAJOR_VERSION = 3;
[NativeTypeName("#define SDL_SHADERCROSS_MINOR_VERSION 0")]
public const int SDL_SHADERCROSS_MINOR_VERSION = 0;
[NativeTypeName("#define SDL_SHADERCROSS_MICRO_VERSION 0")]
public const int SDL_SHADERCROSS_MICRO_VERSION = 0;
[NativeTypeName("#define SDL_SHADERCROSS_PROP_SPIRV_PSSL_COMPATIBILITY \"SDL.shadercross.spirv.pssl.compatibility\"")]
public static ReadOnlySpan<byte> SDL_SHADERCROSS_PROP_SPIRV_PSSL_COMPATIBILITY => "SDL.shadercross.spirv.pssl.compatibility"u8;
[NativeTypeName("#define SDL_SHADERCROSS_PROP_SPIRV_MSL_VERSION \"SDL.shadercross.spirv.msl.version\"")]
public static ReadOnlySpan<byte> SDL_SHADERCROSS_PROP_SPIRV_MSL_VERSION => "SDL.shadercross.spirv.msl.version"u8;
}
}