It is invalid if the same decoration is applied to the same id multiple times. This adds a check before adding a decoration that the decoration is not already in the list. If it is, then the duplicate is not added. Fixes #3627
Uses SPV_KHR_workgroup_memory_explicit_layout. Note that if GL_EXT_scalar_block_layout is enabled, Workgroup blocks can also use scalar layout.