Skip to content

Conversation

@jzadnik
Copy link
Contributor

@jzadnik jzadnik commented Aug 26, 2025

This PR adds OpDeviceRegistryVersionINTEL to specify which version of the device registry was used when producing a module. This allows a consumer to correctly interpret OpSpecConstantArchitectureINTEL and OpSpecConstantTargetINTEL instructions without any knowledge about the producer. Currently, the producer implemented in SPIRV-Tools adds an OpModuleProcessed note with the version, but since the version carries a semantic information (ie. determines the result of the OpSpecConstantArchitecture/TargetINTEL instructions), I think it should be a separate, non-debug, instruction.

Other changes:

  • Rename the "targets registry" to "device registry" to disambiguate from the "target" used in OpSpecConstantTargetINTEL.
  • Allow annotating OpExtInst with ConditionalINTEL because it can be in the types section outside a function in the case of non-semantic instructions.
  • Update to SPIRV spec. version 1.6 rev. 6 which changes the numbering.
  • Misc wording and cosmetic changes.

To be merged after #19782

@jzadnik jzadnik requested a review from a team as a code owner August 26, 2025 10:15
@jzadnik jzadnik changed the title Add OpDeviceRegistryVersionINTEL; Misc changes [SYCL][Doc] Add OpDeviceRegistryVersionINTEL; Misc changes Aug 26, 2025
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.

1 participant