Skip to content

Commit

Permalink
Updating to Alpine 3.20 header files
Browse files Browse the repository at this point in the history
  • Loading branch information
xoofx committed Jul 17, 2024
1 parent 7b60cdd commit 50ba24b
Show file tree
Hide file tree
Showing 28 changed files with 540 additions and 67 deletions.
12 changes: 6 additions & 6 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,21 @@ This **XenoAtom.Interop** project provides a set of C# libraries to interop with

<!-- XENOATOM_INTEROP BEGIN - DO NOT EDIT: this section below is automatically generated --->

The C/C++ header files from the [Alpine Linux](https://www.alpinelinux.org/) `v3.19` were used to generated automatically the .NET P/Invoke bindings.
The C/C++ header files from the [Alpine Linux](https://www.alpinelinux.org/) `v3.20` were used to generated automatically the .NET P/Invoke bindings.

The following libraries are available:

| Library | Native Version | Arch | NuGet |
| ------- | -------------- | ---- | ----- |
| [XenoAtom.Interop](src/common)<br>This package provides the shared types `FixedArray#<T>` to interop between .NET and C/C++. | <br>`-` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_common.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_common.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.svg)](https://www.nuget.org/packages/XenoAtom.Interop) |
| [XenoAtom.Interop.musl](src/musl)<br>musl libc is an implementation of the C standard library providing access to the Linux kernel syscalls. | [musl](https://musl.libc.org/)<br>`1.2.4_git20230717` | `linux-x64`, `linux-arm64` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_musl.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_musl.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.musl.svg)](https://www.nuget.org/packages/XenoAtom.Interop.musl) |
| [XenoAtom.Interop.musl](src/musl)<br>musl libc is an implementation of the C standard library providing access to the Linux kernel syscalls. | [musl](https://musl.libc.org/)<br>`1.2.5` | `linux-x64`, `linux-arm64` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_musl.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_musl.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.musl.svg)](https://www.nuget.org/packages/XenoAtom.Interop.musl) |
| [XenoAtom.Interop.libgit2](src/libgit2)<br>libgit2 is a pure C implementation of the git core methods. | [libgit2](https://libgit2.org/)<br>`1.7.2` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libgit2.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libgit2.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.libgit2.svg)](https://www.nuget.org/packages/XenoAtom.Interop.libgit2) |
| [XenoAtom.Interop.sqlite](src/sqlite)<br>SQLite is a small and fast SQL database engine. | [sqlite](https://www.sqlite.org/)<br>`3.44.2` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_sqlite.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_sqlite.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.sqlite.svg)](https://www.nuget.org/packages/XenoAtom.Interop.sqlite) |
| [XenoAtom.Interop.sqlite](src/sqlite)<br>SQLite is a small and fast SQL database engine. | [sqlite](https://www.sqlite.org/)<br>`3.45.3` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_sqlite.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_sqlite.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.sqlite.svg)](https://www.nuget.org/packages/XenoAtom.Interop.sqlite) |
| [XenoAtom.Interop.zlib](src/zlib)<br>zlib compression library. | [zlib](https://zlib.net/)<br>`1.3.1` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_zlib.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_zlib.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.zlib.svg)](https://www.nuget.org/packages/XenoAtom.Interop.zlib) |
| [XenoAtom.Interop.vulkan](src/vulkan)<br>Vulkan is a low-overhead, cross-platform 3D graphics and compute API. | [vulkan](https://registry.khronos.org/vulkan/)<br>`1.3.261.1` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_vulkan.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_vulkan.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.vulkan.svg)](https://www.nuget.org/packages/XenoAtom.Interop.vulkan) |
| [XenoAtom.Interop.libdrm](src/libdrm)<br>libdrm is a userspace library that provides a user-space API to the Direct Rendering Manager. | [libdrm](https://gitlab.freedesktop.org/mesa/drm)<br>`2.4.118` | `linux` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libdrm.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libdrm.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.libdrm.svg)](https://www.nuget.org/packages/XenoAtom.Interop.libdrm) |
| [XenoAtom.Interop.libgbm](src/libgbm)<br>libgbm is a userspace library that provides an abstraction for buffer management used by graphics drivers. | [libgbm](https://gitlab.freedesktop.org/mesa/mesa)<br>`23.3.6` | `linux` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libgbm.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libgbm.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.libgbm.svg)](https://www.nuget.org/packages/XenoAtom.Interop.libgbm) |
| [XenoAtom.Interop.libshaderc](src/libshaderc)<br>libshaderc is a library for compiling GLSL/HLSL to SPIR-V. | [libshaderc](https://github.com/google/shaderc)<br>`2023.7` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libshaderc.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libshaderc.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.libshaderc.svg)](https://www.nuget.org/packages/XenoAtom.Interop.libshaderc) |
| [XenoAtom.Interop.libdrm](src/libdrm)<br>libdrm is a userspace library that provides a user-space API to the Direct Rendering Manager. | [libdrm](https://gitlab.freedesktop.org/mesa/drm)<br>`2.4.120` | `linux` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libdrm.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libdrm.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.libdrm.svg)](https://www.nuget.org/packages/XenoAtom.Interop.libdrm) |
| [XenoAtom.Interop.libgbm](src/libgbm)<br>libgbm is a userspace library that provides an abstraction for buffer management used by graphics drivers. | [libgbm](https://gitlab.freedesktop.org/mesa/mesa)<br>`24.0.9` | `linux` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libgbm.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libgbm.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.libgbm.svg)](https://www.nuget.org/packages/XenoAtom.Interop.libgbm) |
| [XenoAtom.Interop.libshaderc](src/libshaderc)<br>libshaderc is a library for compiling GLSL/HLSL to SPIR-V. | [libshaderc](https://github.com/google/shaderc)<br>`2024.0` | `all` | [![Build Status](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libshaderc.yml/badge.svg)](https://github.com/XenoAtom/XenoAtom.Interop/actions/workflows/ci_build_libshaderc.yml)<br>[![NuGet](https://img.shields.io/nuget/v/XenoAtom.Interop.libshaderc.svg)](https://www.nuget.org/packages/XenoAtom.Interop.libshaderc) |

<!-- XENOATOM_INTEROP END - DO NOT EDIT --->

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/XenoAtom.Interop.CodeGen/ApkManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public partial class ApkManager

public ApkManager()
{
Version = "v3.19";
Version = "v3.20";
Repositories= ["main", "community"];
Architectures = [DefaultArch];
CacheRootName = "ApkCache";
Expand Down
1 change: 1 addition & 0 deletions src/codegen/XenoAtom.Interop.CodeGen/musl/MuslGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ internal partial class MuslGenerator
e => e.MapMacroToConst("SOMAXCONN", "int"),
// sys/stat.h
e => e.Map<CppClass>("stat").Name("stat_t"),
e => e.Map<CppClass>("statx").Name("statx_t"),
e => e.MapMacroToConst("UTIME_.*", "int"),
// statfs.h
e => e.Map<CppClass>("statfs").Name("statfs_t"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1471,6 +1471,16 @@ public partial struct drm_syncobj_wait
public uint first_signaled;

public uint pad;

/// <summary>
/// @deadline _nsec - fence deadline hint
/// </summary>
/// <remarks>
/// Deadline hint, in absolute CLOCK_MONOTONIC, to set on backing
/// fence(s) if the DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE flag is
/// set.
/// </remarks>
public ulong deadline_nsec;
}

public partial struct drm_syncobj_timeline_wait
Expand All @@ -1497,6 +1507,16 @@ public partial struct drm_syncobj_timeline_wait
public uint first_signaled;

public uint pad;

/// <summary>
/// @deadline _nsec - fence deadline hint
/// </summary>
/// <remarks>
/// Deadline hint, in absolute CLOCK_MONOTONIC, to set on backing
/// fence(s) if the DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE flag is
/// set.
/// </remarks>
public ulong deadline_nsec;
}

/// <summary>
Expand Down Expand Up @@ -1701,6 +1721,8 @@ public partial struct drm_event_crtc_sequence

public const int DRM_CAP_SYNCOBJ_TIMELINE = 20;

public const int DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP = 21;

public const int DRM_CLIENT_CAP_STEREO_3D = 1;

public const int DRM_CLIENT_CAP_UNIVERSAL_PLANES = 2;
Expand All @@ -1711,6 +1733,8 @@ public partial struct drm_event_crtc_sequence

public const int DRM_CLIENT_CAP_WRITEBACK_CONNECTORS = 5;

public const int DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT = 6;

public const nuint DRM_IOCTL_BASE = 100;

public const nuint DRM_IOCTL_VERSION = 3225445376;
Expand Down Expand Up @@ -1907,7 +1931,7 @@ public partial struct drm_event_crtc_sequence

public const nuint DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE = 3222299842;

public const nuint DRM_IOCTL_SYNCOBJ_WAIT = 3223348419;
public const nuint DRM_IOCTL_SYNCOBJ_WAIT = 3223872707;

public const nuint DRM_IOCTL_SYNCOBJ_RESET = 3222299844;

Expand All @@ -1921,7 +1945,7 @@ public partial struct drm_event_crtc_sequence

public const nuint DRM_IOCTL_MODE_REVOKE_LEASE = 3221513417;

public const nuint DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT = 3223872714;
public const nuint DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT = 3224397002;

public const nuint DRM_IOCTL_SYNCOBJ_QUERY = 3222824139;

Expand Down
8 changes: 4 additions & 4 deletions src/libdrm/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ For more information, see the official documentation at https://gitlab.freedeskt

## 📦 Compatible Native Binaries

This library does not provide C native binaries but only P/Invoke .NET bindings to `libdrm` `2.4.118-r0`.
This library does not provide C native binaries but only P/Invoke .NET bindings to `libdrm` `2.4.120-r0`.

If the native library is already installed on your system, check the version installed. If you are using this library on Alpine Linux, see the compatible version in the [Supported API](#supported-api) section below.
Other OS might require a different setup.
Expand All @@ -25,9 +25,9 @@ Other OS might require a different setup.

> This package is based on the following header version:
>
> - libdrm C include headers: [`libdrm-dev`](https://pkgs.alpinelinux.org/package/v3.19/main/x86_64/libdrm-dev)
> - Version: `2.4.118-r0`
> - Distribution: AlpineLinux `v3.19`
> - libdrm C include headers: [`libdrm-dev`](https://pkgs.alpinelinux.org/package/v3.20/main/x86_64/libdrm-dev)
> - Version: `2.4.120-r0`
> - Distribution: AlpineLinux `v3.20`
The following API were automatically generated from the C/C++ code:

Expand Down
8 changes: 4 additions & 4 deletions src/libgbm/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ For more information, see the official documentation at https://gitlab.freedeskt

## 📦 Compatible Native Binaries

This library does not provide C native binaries but only P/Invoke .NET bindings to `libgbm` `23.3.6-r0`.
This library does not provide C native binaries but only P/Invoke .NET bindings to `libgbm` `24.0.9-r1`.

If the native library is already installed on your system, check the version installed. If you are using this library on Alpine Linux, see the compatible version in the [Supported API](#supported-api) section below.
Other OS might require a different setup.
Expand All @@ -25,9 +25,9 @@ Other OS might require a different setup.

> This package is based on the following header version:
>
> - libgbm C include headers: [`mesa-dev`](https://pkgs.alpinelinux.org/package/v3.19/main/x86_64/mesa-dev)
> - Version: `23.3.6-r0`
> - Distribution: AlpineLinux `v3.19`
> - libgbm C include headers: [`mesa-dev`](https://pkgs.alpinelinux.org/package/v3.20/main/x86_64/mesa-dev)
> - Version: `24.0.9-r1`
> - Distribution: AlpineLinux `v3.20`
The following API were automatically generated from the C/C++ code:

Expand Down
4 changes: 2 additions & 2 deletions src/libgit2/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ The following packages were tested and are compatible with **XenoAtom.Interop.li

> This package is based on the following header version:
>
> - libgit2 C include headers: [`libgit2-dev`](https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/libgit2-dev)
> - libgit2 C include headers: [`libgit2-dev`](https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/libgit2-dev)
> - Version: `1.7.2-r0`
> - Distribution: AlpineLinux `v3.19`
> - Distribution: AlpineLinux `v3.20`
The following API were automatically generated from the C/C++ code:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1684,6 +1684,16 @@ public static void shaderc_compile_options_add_macro_definition(libshaderc.shade
[UnmanagedCallConv(CallConvs = new Type[] { typeof(CallConvStdcall) })]
public static partial void shaderc_compile_options_set_hlsl_16bit_types(libshaderc.shaderc_compile_options_t options, [global::System.Runtime.InteropServices.MarshalAs(UnmanagedType.U1)] bool enable);

/// <summary>
/// Enables or disables relaxed Vulkan rules.
/// </summary>
/// <remarks>
/// This allows most OpenGL shaders to compile under Vulkan semantics.
/// </remarks>
[global::System.Runtime.InteropServices.LibraryImport(LibraryName, EntryPoint = "shaderc_compile_options_set_vulkan_rules_relaxed")]
[UnmanagedCallConv(CallConvs = new Type[] { typeof(CallConvStdcall) })]
public static partial void shaderc_compile_options_set_vulkan_rules_relaxed(libshaderc.shaderc_compile_options_t options, [global::System.Runtime.InteropServices.MarshalAs(UnmanagedType.U1)] bool enable);

/// <summary>
/// Sets whether the compiler should invert position.Y output in vertex shader.
/// </summary>
Expand Down
10 changes: 5 additions & 5 deletions src/libshaderc/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ For more information, see the official documentation at https://github.com/googl

## 📦 Compatible Native Binaries

This library does not provide C native binaries but only P/Invoke .NET bindings to `libshaderc` `2023.7-r0`.
This library does not provide C native binaries but only P/Invoke .NET bindings to `libshaderc` `2024.0-r0`.

If the native library is already installed on your system, check the version installed. If you are using this library on Alpine Linux, see the compatible version in the [Supported API](#supported-api) section below.
Other OS might require a different setup.
Expand All @@ -32,13 +32,13 @@ The following packages were tested and are compatible with **XenoAtom.Interop.li

> This package is based on the following header version:
>
> - libshaderc C include headers: [`shaderc-dev`](https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/shaderc-dev)
> - Version: `2023.7-r0`
> - Distribution: AlpineLinux `v3.19`
> - libshaderc C include headers: [`shaderc-dev`](https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/shaderc-dev)
> - Version: `2024.0-r0`
> - Distribution: AlpineLinux `v3.20`
The following API were automatically generated from the C/C++ code:

- shaderc.h: `shaderc_assemble_into_spv`, `shaderc_compile_into_preprocessed_text`, `shaderc_compile_into_spv`, `shaderc_compile_into_spv_assembly`, `shaderc_compile_options_add_macro_definition`, `shaderc_compile_options_clone`, `shaderc_compile_options_initialize`, `shaderc_compile_options_release`, `shaderc_compile_options_set_auto_bind_uniforms`, `shaderc_compile_options_set_auto_combined_image_sampler`, `shaderc_compile_options_set_auto_map_locations`, `shaderc_compile_options_set_binding_base`, `shaderc_compile_options_set_binding_base_for_stage`, `shaderc_compile_options_set_forced_version_profile`, `shaderc_compile_options_set_generate_debug_info`, `shaderc_compile_options_set_hlsl_16bit_types`, `shaderc_compile_options_set_hlsl_functionality1`, `shaderc_compile_options_set_hlsl_io_mapping`, `shaderc_compile_options_set_hlsl_offsets`, `shaderc_compile_options_set_hlsl_register_set_and_binding`, `shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage`, `shaderc_compile_options_set_include_callbacks`, `shaderc_compile_options_set_invert_y`, `shaderc_compile_options_set_limit`, `shaderc_compile_options_set_nan_clamp`, `shaderc_compile_options_set_optimization_level`, `shaderc_compile_options_set_preserve_bindings`, `shaderc_compile_options_set_source_language`, `shaderc_compile_options_set_suppress_warnings`, `shaderc_compile_options_set_target_env`, `shaderc_compile_options_set_target_spirv`, `shaderc_compile_options_set_warnings_as_errors`, `shaderc_compiler_initialize`, `shaderc_compiler_release`, `shaderc_get_spv_version`, `shaderc_parse_version_profile`, `shaderc_result_get_bytes`, `shaderc_result_get_compilation_status`, `shaderc_result_get_error_message`, `shaderc_result_get_length`, `shaderc_result_get_num_errors`, `shaderc_result_get_num_warnings`, `shaderc_result_release`
- shaderc.h: `shaderc_assemble_into_spv`, `shaderc_compile_into_preprocessed_text`, `shaderc_compile_into_spv`, `shaderc_compile_into_spv_assembly`, `shaderc_compile_options_add_macro_definition`, `shaderc_compile_options_clone`, `shaderc_compile_options_initialize`, `shaderc_compile_options_release`, `shaderc_compile_options_set_auto_bind_uniforms`, `shaderc_compile_options_set_auto_combined_image_sampler`, `shaderc_compile_options_set_auto_map_locations`, `shaderc_compile_options_set_binding_base`, `shaderc_compile_options_set_binding_base_for_stage`, `shaderc_compile_options_set_forced_version_profile`, `shaderc_compile_options_set_generate_debug_info`, `shaderc_compile_options_set_hlsl_16bit_types`, `shaderc_compile_options_set_hlsl_functionality1`, `shaderc_compile_options_set_hlsl_io_mapping`, `shaderc_compile_options_set_hlsl_offsets`, `shaderc_compile_options_set_hlsl_register_set_and_binding`, `shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage`, `shaderc_compile_options_set_include_callbacks`, `shaderc_compile_options_set_invert_y`, `shaderc_compile_options_set_limit`, `shaderc_compile_options_set_nan_clamp`, `shaderc_compile_options_set_optimization_level`, `shaderc_compile_options_set_preserve_bindings`, `shaderc_compile_options_set_source_language`, `shaderc_compile_options_set_suppress_warnings`, `shaderc_compile_options_set_target_env`, `shaderc_compile_options_set_target_spirv`, `shaderc_compile_options_set_vulkan_rules_relaxed`, `shaderc_compile_options_set_warnings_as_errors`, `shaderc_compiler_initialize`, `shaderc_compiler_release`, `shaderc_get_spv_version`, `shaderc_parse_version_profile`, `shaderc_result_get_bytes`, `shaderc_result_get_compilation_status`, `shaderc_result_get_error_message`, `shaderc_result_get_length`, `shaderc_result_get_num_errors`, `shaderc_result_get_num_warnings`, `shaderc_result_release`


## 🪪 License
Expand Down
Loading

0 comments on commit 50ba24b

Please sign in to comment.