KhronosGroup / KhronosGroup/glslang

glslangValidator incorrectly gives error on use of member name length

Open
#2,750 2 comments 0 reactions 1 assignee Claimed by @greg-lunarg View on GitHub
bug GLSL/ESSL
Dominant language
C++
Stars
3.6k
Forks
989
Avg merge
1d 2h
Merged PRs (30d)
31

Description

I have a compute shader that looks like

```
#version 450

layout (local_size_x = 32) in;

struct A{
uint length;
uint contents[7];
};

restrict layout(std430, set = 0, binding = 2) buffer SuperBuffer{
A collision_grid[1024];
};

void main()
{
uint gID = gl_GlobalInvocationID.x;
atomicAdd(collision_grid[gID].length, 1);
}
```

When I run `glslc my_shader.comp -o o.spv` I get `Segmentation fault (core dumped)`. However, if I rename `length` variable to something else, the compilation passes successfully.

My compiler version

```
$ glslc --version
shaderc v2021.2-dev unknown hash, 2021-06-25
spirv-tools v2021.3-dev unknown hash, 2021-06-25
glslang unknown hash, 2021-06-25

Target: SPIR-V 1.0
```

My system

```
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
```

Vulkan

```
Vulkan Instance Version: 1.2.182
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.