Skip to content

Commit 2c76c8f

Browse files
ziga-lunargspencer-lunarg
authored andcommitted
layers: Fix 01419 message
1 parent 2321629 commit 2c76c8f

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

layers/core_checks/cc_device.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,15 @@ bool CoreChecks::ValidatePhysicalDeviceQueueFamilies(uint32_t queue_family_count
6464
const Location& loc, const char* vuid) const {
6565
bool skip = false;
6666
if (queue_families) {
67-
vvl::unordered_set<uint32_t> set;
67+
vvl::unordered_map<uint32_t, uint32_t> first_queue_family_index;
6868
for (uint32_t i = 0; i < queue_family_count; ++i) {
69-
if (set.count(queue_families[i])) {
70-
skip |= LogError(vuid, device, loc.dot(Field::pQueueFamilyIndices, i),
71-
"(%" PRIu32 ") is also in pQueueFamilyIndices[0].", queue_families[i]);
69+
if (const auto duplicate = first_queue_family_index.find(queue_families[i]);
70+
duplicate != first_queue_family_index.end()) {
71+
skip |=
72+
LogError(vuid, device, loc.dot(Field::pQueueFamilyIndices, i),
73+
"(%" PRIu32 ") is also in pQueueFamilyIndices[%" PRIu32 "].", queue_families[i], duplicate->second);
7274
} else {
73-
set.insert(queue_families[i]);
75+
first_queue_family_index.emplace(queue_families[i], i);
7476
if (queue_families[i] == VK_QUEUE_FAMILY_IGNORED) {
7577
skip |= LogError(vuid, device, loc.dot(Field::pQueueFamilyIndices, i),
7678
"is VK_QUEUE_FAMILY_IGNORED, but it is required to provide a valid queue family index value.");

0 commit comments

Comments
 (0)