Skip to content

Commit

Permalink
Merge pull request #54405 from JFonS/fix_instance_index
Browse files Browse the repository at this point in the history
Fix instance index in forward clustered shader
  • Loading branch information
akien-mga authored Oct 30, 2021
2 parents 78f86ff + 6db13d3 commit 6b0b1a4
Showing 1 changed file with 3 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 6b0b1a4

Please sign in to comment.