KhronosGroup / KhronosGroup/SPIRV-Cross

C api for pointer types

Open
#1,978 2 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
GLSL
Stars
2.5k
Forks
713
Avg merge
2d 18h
Merged PRs (30d)
16

Description

Sometimes there is a need to check whether a type is pointer or not. For example, the only difference between a stage in/out block and a stage in/out variable of a struct type is that the block is represented as a pointer to a struct. Therefore, in order to check that a stage in/out is a block or a simple variable of a struct type, it's necessary to know whether it's a pointer type or not.

glsl:

```
1)
in InputBlock
{
float member;
} input;

2)
struct InputBlockStruct
{
float member;
}

in InputBlockStruct input;
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing C API and the two GLSL examples in the issue to understand how stage blocks and struct variables are represented. The work is complete when callers can determine whether a reflected type is a pointer type and distinguish these two cases through the C API.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.