godotengine / godotengine/godot

LightmapGI creating a new LightmapGIData results in a wall of errors (Vulcan)

Open
#92,736 2 comments 0 reactions 0 assignees View on GitHub
bug topic:3d topic:editor topic:rendering
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproducible in v4.2.2.stable.official
- Reproducible in v4.3.beta1.official

### System information

Godot v4.3.beta1.official - Windows 10 - Vulcan Forward+ / Mobile

### Issue description

# Info

Creating a new LightmapGIData results in a wall of errors. Only on Vulcan!

![gg](https://github.com/godotengine/godot/assets/224215/a339fa9f-46b8-43f4-b956-9d133c36cfc2)

## Forward+ (Vulcan)

```
Set light_data
Texture (binding: 7) is an array of (8) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 7).
servers/rendering/renderer_rd/uniform_set_cache_rd.h:130 - Condition "rid.is_null()" is true. Returning: rid
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Texture (binding: 7) is an array of (8) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 7).
servers/rendering/renderer_rd/uniform_set_cache_rd.h:130 - Condition "rid.is_null()" is true. Returning: rid
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Texture (binding: 7) is an array of (8) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 7).
servers/rendering/renderer_rd/uniform_set_cache_rd.h:130 - Condition "rid.is_null()" is true. Returning: rid
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Texture (binding: 7) is an array of (8) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 7).
servers/rendering/renderer_rd/uniform_set_cache_rd.h:130 - Condition "rid.is_null()" is true. Returning: rid
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Texture (binding: 7) is an array of (8) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 7).
servers/rendering/renderer_rd/uniform_set_cache_rd.h:130 - Condition "rid.is_null()" is true. Returning: rid
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Texture (binding: 7) is an array of (8) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 7).
servers/rendering/renderer_rd/uniform_set_cache_rd.h:130 - Condition "rid.is_null()" is true. Returning: rid
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
[...]
```

## Mobile (Vulcan)

```
Set light_data
Texture (binding: 6) is an array of (2) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 1).
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline.
Texture (binding: 6) is an array of (2) textures, so it should be provided equal number of texture IDs to satisfy it (IDs provided: 1).
servers/rendering/rendering_device.cpp:3633 - Parameter "uniform_set" is null.
Uniforms supplied for set (1):
Set: 1 Binding: 0 Type: UniformBuffer Writable: N Length: 128
Set: 1 Binding: 1 Type: Texture Writable: N Length: 1
are not the same format as required by the pipeline shader. Pipeline shader requires the following bindings:
Set: 0 Binding: 2 Type: Sampler Writable: N Length: 1
Set: 0 Binding: 3 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 4 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 5 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 6 Type: UniformBuffer Writable: N Length: 3712
Set: 0 Binding: 7 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 8 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 9 Type: Texture Writable: N Length: 1
Set: 0 Binding: 10 Type: Texture Writable: N Length: 1
Set: 0 Binding: 11 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 12 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 13 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 0 Type: UniformBuffer Writable: N Length: 5792
Set: 1 Binding: 1 Type: StorageBuffer Writable: N Length: 0
Set: 1 Binding: 2 Type: Texture Writable: N Length: 1
Set: 1 Binding: 3 Type: Texture Writable: N Length: 1
Set: 1 Binding: 4 Type: Texture Writable: N Length: 1
Set: 1 Binding: 5 Type: Texture Writable: N Length: 1
Set: 1 Binding: 6 Type: Texture Writable: N Length: 2
Set: 1 Binding: 9 Type: Texture Writable: N Length: 1
Set: 1 Binding: 10 Type: Texture Writable: N Length: 1
Set: 1 Binding: 11 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 12 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 13 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 14 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 15 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 16 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 17 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 18 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 19 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 20 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 21 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 22 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 23 Type: Sampler Writable: N Length: 1
Set: 1 Binding: 24 Type: Sampler Writable: N Length: 1
Set: 2 Binding: 0 Type: StorageBuffer Writable: N Length: 0
[...]
```

## Compatibility

```
Set light_data
```

(no errors)

### Steps to reproduce

1. new 3d scene (Node3D)
2. add LightmapGI
3. click Data - Light Data - New LightmapGIData

### Minimal reproduction project (MRP)

not needed

Contributor guide

Open the contributing guide

Research direction

Reproduce the LightmapGIData creation steps with Forward+ and Mobile, then compare against Compatibility, which produces no errors. Start by tracing the reported paths in servers/rendering/renderer_rd/uniform_set_cache_rd.h and servers/rendering/rendering_device.cpp; done means creating new LightmapGIData no longer produces the reported uniform and texture-binding errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.