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

Release with SPIR-V 1.6? #252

Closed
tareksander opened this issue Nov 4, 2024 · 3 comments
Closed

Release with SPIR-V 1.6? #252

tareksander opened this issue Nov 4, 2024 · 3 comments

Comments

@tareksander
Copy link

tareksander commented Nov 4, 2024

Vulkan 1.3 now supports SPIR-V 1.6, the spirv crate is still at version 1.3. Is there a reason for that?

@MarijnS95 MarijnS95 changed the title New spirv versions? Release with SPIR-V 1.6? Nov 4, 2024
@MarijnS95
Copy link
Collaborator

MarijnS95 commented Nov 4, 2024

Vulkan 1.6 doesn't exist yet.

The latest rspirv crate release is 0.12.0 which was generated from the sdk-1.3.268.0 SPIRV-Headers release. This release already defines SPIR-V 1.6.1:

https://github.com/KhronosGroup/SPIRV-Headers/blob/e867c06631767a2d96424cbec530f9ee5e78180f/include/spirv/unified1/spirv.core.grammar.json#L28-L30

A newer regeneration on tag sdk-1.3.296.0 with SPIR-V revision 1.6.4 is being worked on and considered in #251.

Given that we already have a published rspirv on the requested SPIR-V version 1.6, I think we can close this as "stale".

@MarijnS95 MarijnS95 closed this as not planned Won't fix, can't repro, duplicate, stale Nov 4, 2024
@MarijnS95
Copy link
Collaborator

MarijnS95 commented Nov 4, 2024

Separate from that, how do maintainers feel about changing the version metadata from the Vulkan SDK tag that this SPIR-V release was shipped with, to the SPIR-V revision itself, i.e. +spirv-1.6.4?

I'm unsure what we settled on last time.

EDIT: We changed away from that because SPIR-V versions/revisions didn't get bumped in the past, see i.e. #225.

@tareksander
Copy link
Author

Oh, I get it now. In that case the spirv crate readme should probably be changed, that's what confused me:

Version

Note that the major and minor version of this create is tracking the SPIR-V spec, while the patch number is used for bugfixes for the crate itself. So version 1.4.2 is tracking SPIR-V 1.4 but not necessarily revision 2. Major client APIs like Vulkan/OpenCL pin to a specific major and minor version, regardless of the revision.

MarijnS95 added a commit that referenced this issue Nov 5, 2024
Since inheriting the `spirv` crate and dropping the `spirv_headers`
crate in #204, and following up on a choice in #197 to no longer have
the SPIR-V major/minor version in our crate version which disallows us
from making any breaking changes to the crate, we reset the version to
`0.1.0` and embedded the SPIR-V version via _version metadata_ instead.
This stale comment in the README was still indicating as such though,
confusing users in e.g. #252 that our `spirv` crate was somehow exposing
SPIR-V 1.3 (should have been 0.3 by that logic which is the current
latest version).  Remove it entirely.

Note also that since #225 / #226 our version metadata is no longer the
SPIR-V version/revision but the Vulkan SDK tag that it was released
with.  The SPIR-V version isn't bumped often enough to match extensions
in new SDK releases, making the SDK tag more indicative of the included
API surface instead.
MarijnS95 added a commit that referenced this issue Dec 28, 2024
Since inheriting the `spirv` crate and dropping the `spirv_headers`
crate in #204, and following up on a choice in #197 to no longer have
the SPIR-V major/minor version in our crate version which disallows us
from making any breaking changes to the crate, we reset the version to
`0.1.0` and embedded the SPIR-V version via _version metadata_ instead.
This stale comment in the README was still indicating as such though,
confusing users in e.g. #252 that our `spirv` crate was somehow exposing
SPIR-V 1.3 (should have been 0.3 by that logic which is the current
latest version).  Remove it entirely.

Note also that since #225 / #226 our version metadata is no longer the
SPIR-V version/revision but the Vulkan SDK tag that it was released
with.  The SPIR-V version isn't bumped often enough to match extensions
in new SDK releases, making the SDK tag more indicative of the included
API surface instead.
MarijnS95 added a commit that referenced this issue Dec 28, 2024
Since inheriting the `spirv` crate and dropping the `spirv_headers`
crate in #204, and following up on a choice in #197 to no longer have
the SPIR-V major/minor version in our crate version which disallows us
from making any breaking changes to the crate, we reset the version to
`0.1.0` and embedded the SPIR-V version via _version metadata_ instead.
This stale comment in the README was still indicating as such though,
confusing users in e.g. #252 that our `spirv` crate was somehow exposing
SPIR-V 1.3 (should have been 0.3 by that logic which is the current
latest version).  Remove it entirely.

Note also that since #225 / #226 our version metadata is no longer the
SPIR-V version/revision but the Vulkan SDK tag that it was released
with.  The SPIR-V version isn't bumped often enough to match extensions
in new SDK releases, making the SDK tag more indicative of the included
API surface instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants