XR_KHR_extended_struct_name_lengths

String Nama

XR_KHR_extended_struct_name_lengths

Jenis Ekstensi

Ekstensi instance

Nomor Ekstensi Terdaftar

149

Revisi

2

Status Ratifikasi

Diratifikasi

Dependensi Ekstensi dan Versi

OpenXR 1.0

Tanggal Terakhir Diubah

2025-12-04

Status IP

Tidak ada klaim IP yang diketahui.

Kontributor

Matthew Langille, Meta Platforms
Andreas Selvik, Meta Platforms
Rylie Pavlik, Collabora, Ltd.

Ringkasan

Ekstensi ini memperluas ukuran nama struct maksimum dan menyediakan fungsi baru untuk mengakses nama yang diperluas ini.

xrStructureTypeToString2KHR disediakan untuk memungkinkan pengambilan nama string enumeran jenis struktur dengan panjang yang melebihi batas asli 63 byte (64 byte termasuk terminator null). xrStructureTypeToString2KHR menampilkan string nama untuk enumeran jenis struktur dengan panjang hingga 255 byte (256 byte termasuk terminator null). Aplikasi dapat menggunakan xrStructureTypeToString2KHR sebagai pengganti langsung untuk xrStructureTypeToString , karena berfungsi dengan semua enumeran jenis struktur, terlepas dari panjang nama string.

Mengambil String Enumeran Jenis Struktur

Jika xrStructureTypeToString asli digunakan untuk mengambil nama string untuk enumeran jenis struktur dengan panjang nama lebih dari 63 byte, perilakunya akan dijelaskan sebagai berikut. xrStructureTypeToString harus mengisi buffer dengan nama yang benar, kecuali bahwa string harus dipangkas pada batas titik kode agar sesuai dengan buffer yang tersedia. Artinya, string yang ditampilkan harus selalu berupa UTF-8 yang valid.

Fungsi xrStructureTypeToString2KHR ditentukan sebagai:

XrResult xrStructureTypeToString2KHR(
    XrInstance                                  instance,
    XrStructureType                             value,
    char                                        buffer[XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR]);

Deskripsi Parameter

  • instance adalah pengendali instance untuk meminta string.
  • value adalah nilai XrStructureType yang akan diubah menjadi string.
  • buffer adalah buffer yang akan digunakan untuk menampilkan string.

Menampilkan nama nilai XrStructureType yang disediakan dengan menyalin string UTF-8 yang dihentikan null yang valid ke dalam buffer .

Dalam semua kasus, string yang ditampilkan harus salah satu dari:

Nilai Output String Jenis Struktur

  • String literal yang ditentukan untuk nilai numerik yang disediakan dalam spesifikasi atau ekstensi inti. (misalnya, nilai XR_TYPE_INSTANCE_CREATE_INFO menghasilkan string XR_TYPE_INSTANCE_CREATE_INFO )
  • XR_UNKNOWN_STRUCTURE_TYPE_ digabungkan dengan nomor jenis struktur yang dinyatakan sebagai angka desimal.

Untuk enumeran jenis struktur yang namanya sesuai dengan batas ukuran asli 63 byte, xrStructureTypeToString2KHR harus menampilkan string hasil yang sama dengan xrStructureTypeToString , hingga terminator null.

Penggunaan yang Valid (Implisit)

  • Ekstensi XR_KHR_extended_struct_name_lengths harus diaktifkan sebelum memanggil xrStructureTypeToString2KHR
  • instance harus berupa pengendali XrInstance yang valid
  • value harus berupa nilai XrStructureType yang valid
  • buffer harus berupa array karakter dengan panjang XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR

Kode Status

Berhasil

  • XR_SUCCESS

Kegagalan

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_VALIDATION_FAILURE

Enumeran XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR menentukan ukuran buffer yang diteruskan ke xrStructureTypeToString2KHR .

#define XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR 256

Perintah Baru

Konstanta Enum Baru

  • XR_KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME
  • XR_KHR_extended_struct_name_lengths_SPEC_VERSION
  • XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR

Histori Versi

  • Revisi 1, 2024-02-29 (Matthew Langille)

    • Deskripsi ekstensi awal
  • Revisi 2, 2025-12-04 (Kenny Vercaemer)

    • Memperbaiki spesifikasi panjang nama struktur