А ну хотя пустые скобки могут быть, это не будет ошибкой, но это при условии, что ты чему-то эти скобки присваиваешь, но если ты заводишь массив, который должен иметь размер, но ты ни чему не присваиваешь, тогда тут уже либо не будет работать, либо будет неопределённое поведение. Это что касается объявлений переменных в самом шейдере, но униформа по идее она всегда должна иметь чёткий размер.