Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vendor ID #319

Closed
wants to merge 2 commits into from
Closed

Add vendor ID #319

wants to merge 2 commits into from

Conversation

fredemmott
Copy link

Software that will use this vendor id: https://github.com/fredemmott/OpenKneeboard/ - currently uses XR_APILAYER_NOVENDOR_OpenKneeboard.

Spec notes that vendor IDs should be reserved, and can be used for API layers - and, if you have a vendor ID, it should be used for all your API layers. However, it's unclear if it's fine to publish an API layer without an assigned vendor ID:

This usually takes the form of:

An OpenXR API layer prefix string: "XR_APILAYER_"

The name of the vendor developing the API layer: e.g. "LUNARG_"

A short descriptive name of the API layer: e.g. "test"

If it is intended that api layers 'should' or 'must' register vendors, please approve this pull request, so I can use it in my software.

If this is not intended, perhaps the documentation should encourage the use of NOVENDOR or similar? This is used by several other projects, e.g. OpenXR toolkit

Software that will use this vendor id: https://github.com/fredemmott/OpenKneeboard/

Spec notes that vendor IDs should be reserved, and can be used for API layers - and, if you have a vendor ID, it *should* be used for all your API layers. However, it's unclear if it's fine to publish an API layer without an assigned vendor ID:

> This usually takes the form of:
>
> An OpenXR API layer prefix string: "XR_APILAYER_"
>
> The name of the vendor developing the API layer: e.g. "LUNARG_"
>
> A short descriptive name of the API layer: e.g. "test"

If it is intended that api layers 'should' or 'must' register vendors, please approve this pull request, so I can use it in my software, which currently uses `XR_APILAYER_NOVENDOR_OpenKneeboard`

If this is not intended, perhaps the documentation should encourage the use of `NOVENDOR` or similar? This is used by several other projects, e.g. OpenXR toolkit
@CLAassistant
Copy link

CLAassistant commented Jun 28, 2022

CLA assistant check
All committers have signed the CLA.

@rpavlik
Copy link
Contributor

rpavlik commented Jun 28, 2022

Very cool, thanks for submitting this! Happy to see more creative OpenXR software!

I think for API layers, if you aren't exposing a custom extension, you can just use a reverse-DNS-name style thing (io.github.fredemmott -> io_github_fredemmot) without registration:

Details on how to register an author ID are provided below. API layer authors not wishing to register an author ID with Khronos can instead use a fully-qualified domain name (FQDN) as the ID. The FQDN should be a domain name owned by the author. FQDNs cannot be used for extensions, only for API layers.

https://www.khronos.org/registry/OpenXR/specs/1.0/styleguide.html#extensions-naming-conventions-name-strings

(maybe it's not reverse order?)

@rpavlik
Copy link
Contributor

rpavlik commented Jun 28, 2022

oh, it is reverse order, it's just written further down.

Because API layers need not be registered with Khronos, an alternative mechanism is needed to allow creating unique API layer names without registering an author ID. API layer authors that prefer not to register an author ID can instead use a fully-qualified domain name (FQDN) in reverse-order as an author ID, replacing . (period) with _ (underscore) characters. The restriction that API layer names must be valid C identifiers means that some FQDNs cannot be used as part of API layer names.

This could probably use some cleanup so it's easier to find.

@fredemmott
Copy link
Author

Thanks, that works - though 'not wishing to register' implies this is a matter of author preference rather than necessarily the recommended approach?

@rpavlik
Copy link
Contributor

rpavlik commented Jun 28, 2022

I'll ask the WG what they think, and ping the OpenXR Toolkit layer author too since I know them.

@rpavlik-bot rpavlik-bot added the synced to gitlab Synchronized to OpenXR internal GitLab label Jun 29, 2022
@rpavlik-bot
Copy link
Collaborator

An issue (number 1749) has been filed to correspond to this pull request in the internal Khronos GitLab (Khronos members only: KHR:openxr/openxr#1749 ), to facilitate working group processes.

This GitHub pull request will continue to be the main site of discussion.

@rpavlik
Copy link
Contributor

rpavlik commented Jul 7, 2022

The group agrees that registering an author ID is preferred so we'll leave the text fundamentally alone.

Can you add a changelog fragment file in changes/registry/pr.319.gh.OpenXR-SDK-Source.md with something like "Register author ID for ..."

@rpavlik rpavlik added waiting for reporter needs changelog fragment Someone, preferably the submitter, needs to add a changelog fragment describing this. labels Jul 7, 2022
@fredemmott
Copy link
Author

Thanks, done :) I've just entered that as a line by itself, basing it on a few entries I saw in the git history. Let me know if you need the header block also containing pr.319.gh.OpenXR-SDK-Source as the README suggests

@rpavlik
Copy link
Contributor

rpavlik commented Jul 7, 2022

Oh, the readme shouldn't suggest that. You only need the header thing if you want to link more than one item to it. Looks good, thanks!

@fredemmott
Copy link
Author

Hi :) this still has 'waiting for reporter' and 'needs changelog fragment' - I think that's done, do you need anything else from me?

@rpavlik
Copy link
Contributor

rpavlik commented Jul 22, 2022

Oh, no it just needs the target branch changed to staging, which I apparently can't do from mobile and the automation we have isn't working right. If you can do that, I can merge it very soon, otherwise I'll get to it when I'm back in the office here soon.

@rpavlik rpavlik removed waiting for reporter needs changelog fragment Someone, preferably the submitter, needs to add a changelog fragment describing this. labels Jul 22, 2022
@fredemmott
Copy link
Author

Thanks! it doesn't look like a staging branch exists at the moment, so I'm not able to do it:

image

@rpavlik
Copy link
Contributor

rpavlik commented Jul 22, 2022

Oh, rats. That's because this is the wrong repo, sorry. OpenXR-Docs is the place for modifying the registry. The only reason it matters is I think they have a different CLA.

fredemmott added a commit to fredemmott/OpenXR-Docs that referenced this pull request Jul 22, 2022
Original discussion: KhronosGroup/OpenXR-SDK-Source#319 (comment)

Software that will use this vendor id: https://github.com/fredemmott/OpenKneeboard/ - currently uses XR_APILAYER_NOVENDOR_OpenKneeboard.

Spec notes that vendor IDs should be reserved, and can be used for API layers - and, if you have a vendor ID, it *should* be used for all your API layers. However, it's unclear if it's fine to publish an API layer without an assigned vendor ID:

> This usually takes the form of:
>
> An OpenXR API layer prefix string: "XR_APILAYER_"
>
> The name of the vendor developing the API layer: e.g. "LUNARG_"
>
> A short descriptive name of the API layer: e.g. "test"

If it is intended that api layers 'should' or 'must' register vendors, please approve this pull request, so I can use it in my software.

If this is not intended, perhaps the documentation should encourage the use of `NOVENDOR` or similar? This is used by several other projects, e.g. OpenXR toolkit
@fredemmott
Copy link
Author

Thanks - closing in favor of KhronosGroup/OpenXR-Docs#131

@fredemmott fredemmott closed this Jul 22, 2022
@fredemmott fredemmott deleted the patch-1 branch July 22, 2022 15:33
rpavlik pushed a commit to KhronosGroup/OpenXR-Docs that referenced this pull request Jul 22, 2022
Original discussion: KhronosGroup/OpenXR-SDK-Source#319 (comment)

Software that will use this vendor id: https://github.com/fredemmott/OpenKneeboard/ - currently uses XR_APILAYER_NOVENDOR_OpenKneeboard.

Spec notes that vendor IDs should be reserved, and can be used for API layers - and, if you have a vendor ID, it *should* be used for all your API layers. However, it's unclear if it's fine to publish an API layer without an assigned vendor ID:

> This usually takes the form of:
>
> An OpenXR API layer prefix string: "XR_APILAYER_"
>
> The name of the vendor developing the API layer: e.g. "LUNARG_"
>
> A short descriptive name of the API layer: e.g. "test"

If it is intended that api layers 'should' or 'must' register vendors, please approve this pull request, so I can use it in my software.

If this is not intended, perhaps the documentation should encourage the use of `NOVENDOR` or similar? This is used by several other projects, e.g. OpenXR toolkit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
synced to gitlab Synchronized to OpenXR internal GitLab
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants