Lines Matching refs:layer_list

398 VkResult loader_append_layer_property(const struct loader_instance *inst, struct loader_layer_list *layer_list,
401 if (layer_list->capacity == 0) {
402 res = loader_init_generic_list(inst, (struct loader_generic_list *)layer_list, sizeof(struct loader_layer_properties));
409 if ((layer_list->count + 1) * sizeof(struct loader_layer_properties) > layer_list->capacity) {
410 void *new_ptr = loader_instance_heap_realloc(inst, layer_list->list, layer_list->capacity, layer_list->capacity * 2,
417 layer_list->list = new_ptr;
418 memset((uint8_t *)layer_list->list + layer_list->capacity, 0, layer_list->capacity);
419 layer_list->capacity *= 2;
421 memcpy(&layer_list->list[layer_list->count], layer_property, sizeof(struct loader_layer_properties));
422 layer_list->count++;
432 struct loader_layer_properties *loader_find_layer_property(const char *name, const struct loader_layer_list *layer_list) {
433 for (uint32_t i = 0; i < layer_list->count; i++) {
434 const VkLayerProperties *item = &layer_list->list[i].info;
435 if (strcmp(name, item->layerName) == 0) return &layer_list->list[i];
441 const struct loader_pointer_layer_list *layer_list) {
442 for (uint32_t i = 0; i < layer_list->count; i++) {
443 const VkLayerProperties *item = &layer_list->list[i]->info;
444 if (strcmp(name, item->layerName) == 0) return layer_list->list[i];
450 bool loader_find_layer_name_in_list(const char *name, const struct loader_pointer_layer_list *layer_list) {
451 if (NULL == layer_list) {
454 if (NULL != loader_find_pointer_layer_property(name, layer_list)) {
462 struct loader_layer_list *layer_list, struct loader_layer_properties *meta_layer_props) {
468 loader_find_layer_property(meta_layer_props->component_layer_names.list[comp_layer], layer_list);
470 return loader_find_layer_name_in_meta_layer(inst, layer_name, layer_list, comp_layer_props);
487 void loader_delete_layer_list_and_properties(const struct loader_instance *inst, struct loader_layer_list *layer_list) {
489 if (!layer_list) return;
491 for (i = 0; i < layer_list->count; i++) {
492 if (layer_list->list[i].lib_handle) {
493 loader_platform_close_library(layer_list->list[i].lib_handle);
495 layer_list->list[i].lib_name);
496 layer_list->list[i].lib_handle = NULL;
498 loader_free_layer_properties(inst, &(layer_list->list[i]));
500 layer_list->count = 0;
502 if (layer_list->capacity > 0) {
503 layer_list->capacity = 0;
504 loader_instance_heap_free(inst, layer_list->list);
506 memset(layer_list, 0, sizeof(struct loader_layer_list));
509 void loader_remove_layer_in_list(const struct loader_instance *inst, struct loader_layer_list *layer_list,
511 if (layer_list == NULL || layer_to_remove >= layer_list->count) {
514 loader_free_layer_properties(inst, &(layer_list->list[layer_to_remove]));
518 memmove(&layer_list->list[layer_to_remove], &layer_list->list[layer_to_remove + 1],
519 sizeof(struct loader_layer_properties) * (layer_list->count - 1 - layer_to_remove));
523 layer_list->count--;
528 void loader_remove_layers_in_blacklist(const struct loader_instance *inst, struct loader_layer_list *layer_list) {
529 struct loader_layer_properties *override_prop = loader_find_layer_property(VK_OVERRIDE_LAYER_NAME, layer_list);
534 for (int32_t j = 0; j < (int32_t)(layer_list->count); j++) {
535 struct loader_layer_properties cur_layer_prop = layer_list->list[j];
549 loader_remove_layer_in_list(inst, layer_list, j);
553 override_prop = loader_find_layer_property(VK_OVERRIDE_LAYER_NAME, layer_list);
559 void loader_remove_layers_not_in_implicit_meta_layers(const struct loader_instance *inst, struct loader_layer_list *layer_list) {
562 int32_t layer_count = (int32_t)(layer_list->count);
565 layer_list->list[i].keep = false;
569 struct loader_layer_properties *cur_layer_prop = &layer_list->list[i];
576 struct loader_layer_properties *layer_to_check = &layer_list->list[j];
584 if (loader_find_layer_name_in_meta_layer(inst, cur_layer_prop->info.layerName, layer_list, layer_to_check)) {
593 for (i = 0; i < (int32_t)(layer_list->count); i++) {
594 struct loader_layer_properties *cur_layer_prop = &layer_list->list[i];
601 loader_remove_layer_in_list(inst, layer_list, i);
837 void loader_destroy_pointer_layer_list(const struct loader_instance *inst, struct loader_pointer_layer_list *layer_list) {
838 loader_instance_heap_free(inst, layer_list->list);
839 memset(layer_list, 0, sizeof(struct loader_pointer_layer_list));
893 // output layer_list.
2652 // file, add entry to the layer_list. Fill out the layer_properties in this list
2657 // layer_list has a new entry and initialized accordingly.