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

Regenerate with SPIRV-Headers sdk-1.2.198 #226

Merged
merged 4 commits into from
Feb 1, 2022
Merged

Conversation

MarijnS95
Copy link
Collaborator

No description provided.

@MarijnS95
Copy link
Collaborator Author

I really don't remember if we should update is_type in rspirv/grammar/reflect.rs or why this is not autogenerated from class: Type-Declaration?

@msiglreith
Copy link
Contributor

msiglreith commented Nov 25, 2021

I noticed that OpSamplerImageAddressingModeNV is treated as 'normal' instruction as it's tagged reserved (like all extension ops I guess) - can this be excluded as it should be in the module header or requires this upstream changes?

(sorry my finger slipped..)

@msiglreith msiglreith closed this Nov 25, 2021
@msiglreith msiglreith reopened this Nov 25, 2021
@MarijnS95
Copy link
Collaborator Author

@msiglreith I think with "module header" you are referring to types_global_values?

It seems this operand best fits the constants, it's not really a type but simply representing a constant Bit Width. Adding yet another exception for that was easy enough.

Any other such ops I should be aware of? Seems there's a lot of new spec to go through :(

@MarijnS95
Copy link
Collaborator Author

Actually, a type is better since this operand doesn't have a result_type which is common/required across constants.

@msiglreith
Copy link
Contributor

Any other such ops I should be aware of? Seems there's a lot of new spec to go through :(

Looking trough the latest extensions since the raytracing stuff, I didn't see something requiring special attention so far.

Actually, a type is better since this operand doesn't have a result_type which is common/required across constants.

IMO this instruction requires a bit of special treatment similar to OpMemoryModel for example. Not sure where this instruction would land when parsing the reencoding it using rspirv if it's part of the type list. Removing it from the normal instruction list seems to good enough to me - I can make also a PR once this lands as the extensions is quite niche anyway

@MarijnS95
Copy link
Collaborator Author

@msiglreith Looks like OpMemoryModel is implemented by hand in rspirv/dr/build/mod.rs because all Mode-Setting (Class:Mode-Setting) instructions are ignored.

You're right that this requires more changes - seems I only updated the data-representation builder part but not the loader/parser in fn consume_instruction(). I can ignore it from there (ie. write a todo!() to panic on this instead of doing the wrong thing) then you take it over in a separate PR? Will have to see what to do with the builder though. Alternatively I can skip Consider OpSamplerImageAddressingModeNV to be a constant and let you deal with and test the entire thing?

MarijnS95 added a commit to MarijnS95/rspirv that referenced this pull request Feb 1, 2022
This op is not a normal instruction nor does it fit any of the other
categories such as a constant or type.  Ignore it for now and allow
someone to make a custom implementation down the line.

gfx-rs#226 (comment)
MarijnS95 added a commit to MarijnS95/rspirv that referenced this pull request Feb 1, 2022
This op is not a normal instruction nor does it fit any of the other
categories such as a constant or type.  Ignore it for now and allow
someone to make a custom implementation down the line.

gfx-rs#226 (comment)
MarijnS95 added a commit to MarijnS95/rspirv that referenced this pull request Feb 1, 2022
This op is not a normal instruction nor does it fit any of the other
categories such as a constant or type.  Ignore it for now and allow
someone to make a custom implementation down the line.

gfx-rs#226 (comment)
@MarijnS95
Copy link
Collaborator Author

@msiglreith Completely ignoring the type for now. Shall we get #223 in and then get this PR on top?

@msiglreith
Copy link
Contributor

Does this pass the clippy checks introduced in #223?

MarijnS95 and others added 4 commits February 1, 2022 23:50
This op is not a normal instruction nor does it fit any of the other
categories such as a constant or type.  Ignore it for now and allow
someone to make a custom implementation down the line.

gfx-rs#226 (comment)
@MarijnS95
Copy link
Collaborator Author

@msiglreith Yeah it does, I just wanted to make sure that both PRs were merged separately :)

@msiglreith msiglreith merged commit ca3779b into gfx-rs:master Feb 1, 2022
@MarijnS95 MarijnS95 deleted the regen branch February 1, 2022 23:23
MarijnS95 added a commit that referenced this pull request 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.
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

Successfully merging this pull request may close these issues.

2 participants