KhronosGroup / KhronosGroup/SPIRV-Reflect

What about support multiple OpSource in SpvReflectShaderModule?

Open
#116 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
873
Forks
188
Avg merge
19m
Merged PRs (30d)
1

Description

At the moment, several embedded source files are incorrectly processed, each next one overwrites the previous one, which is not the desired behavior, this is also reflected in the API, GetSourceFile, it is assumed that there is only one include per source file when it is far from the truth. At least from the point of view of correct behavior, this is not permissible, I would like to see a complete list of included files.

From the point of view of the correctness of the API, it should at least look something like this:

  uint32_t                GetSourceFileCount() const;
  const char*           GetSourceFile(uint32_t  index) const;

this would correspond to the API of receiving an entry point:

  uint32_t                      GetEntryPointCount() const;
  const char*                   GetEntryPointName(uint32_t index) const;

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the implementation and API around GetSourceFile, then compare its handling with GetEntryPointCount and GetEntryPointName. Done means multiple embedded source files are retained and the public API can enumerate the complete list through a count and indexed lookup.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cpp
Domain
computer-graphics, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.