Merge pull request #54405 from JFonS/fix_instance_index

Fix instance index in forward clustered shader
This commit is contained in:
Rémi Verschelde 2021-10-30 14:22:22 +02:00 committed by GitHub
commit 6b0b1a4c04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -108,13 +108,14 @@ void main() {
#endif
uint instance_index = draw_call.instance_index;
instance_index_interp = instance_index;
bool is_multimesh = bool(instances.data[instance_index].flags & INSTANCE_FLAGS_MULTIMESH);
if (!is_multimesh) {
instance_index += gl_InstanceIndex;
}
instance_index_interp = instance_index;
mat4 world_matrix = instances.data[instance_index].transform;
mat3 world_normal_matrix;
@ -565,12 +566,8 @@ void main() {
discard;
#endif
#ifdef USE_SUBGROUPS
//ensures instance_index is in sgpr
uint instance_index = subgroupBroadcastFirst(instance_index_interp);
#else
uint instance_index = instance_index_interp;
#endif
//lay out everything, whathever is unused is optimized away anyway
vec3 vertex = vertex_interp;
vec3 view = -normalize(vertex_interp);