Home | History | Annotate | Download | only in vulkan-validation-layers

Lines Matching full:indent

169     def incIndent(self, indent):
171 if indent:
172 return indent + inc
175 def decIndent(self, indent):
176 if indent and (len(indent) > self.INDENT_SPACES):
177 return indent[:-self.INDENT_SPACES]
367 def lock_guard(self, indent):
368 return '%sstd::lock_guard<std::mutex> lock(global_lock);\n' % indent
408 def generate_create_ndo_code(self, indent, proto, params, cmd_info):
418 create_ndo_code += '%sif (VK_SUCCESS == result) {\n' % (indent)
419 indent = self.incIndent(indent)
420 create_ndo_code += '%sstd::lock_guard<std::mutex> lock(global_lock);\n' % (indent)
423 create_ndo_code += '%sfor (uint32_t index0 = 0; index0 < %s; index0++) {\n' % (indent, cmd_info[-1].len)
424 indent = self.incIndent(indent)
426 create_ndo_code += '%suint64_t unique_id = global_unique_id++;\n' % (indent)
427 create_ndo_code += '%sdev_data->unique_id_mapping[unique_id] = reinterpret_cast<uint64_t &>(%s);\n' % (indent, ndo_dest)
428 create_ndo_code += '%s%s = reinterpret_cast<%s&>(unique_id);\n' % (indent, ndo_dest, handle_type.text)
430 indent = self.decIndent(indent)
431 create_ndo_code += '%s}\n' % indent
432 indent = self.decIndent(indent)
433 create_ndo_code += '%s}\n' % (indent)
437 def generate_destroy_ndo_code(self, indent, proto, cmd_info):
450 destroy_ndo_code += '%sif ((VK_SUCCESS == result) && (%s)) {\n' % (indent, cmd_info[param].name)
451 indent = self.incIndent(indent)
452 destroy_ndo_code += '%sstd::unique_lock<std::mutex> lock(global_lock);\n' % (indent)
453 destroy_ndo_code += '%sfor (uint32_t index0 = 0; index0 < %s; index0++) {\n' % (indent, cmd_info[param].len)
454 indent = self.incIndent(indent)
455 destroy_ndo_code += '%s%s handle = %s[index0];\n' % (indent, cmd_info[param].type, cmd_info[param].name)
456 destroy_ndo_code += '%suint64_t unique_id = reinterpret_cast<uint64_t &>(handle);\n' % (indent)
457 destroy_ndo_code += '%sdev_data->unique_id_mapping.erase(unique_id);\n' % (indent)
458 indent = self.decIndent(indent);
459 destroy_ndo_code += '%s}\n' % indent
460 indent = self.decIndent(indent);
461 destroy_ndo_code += '%s}\n' % indent
464 destroy_ndo_code += '%sstd::unique_lock<std::mutex> lock(global_lock);\n' % (indent)
465 destroy_ndo_code += '%suint64_t %s_id = reinterpret_cast<uint64_t &>(%s);\n' % (indent, cmd_info[param].name, cmd_info[param].name)
466 destroy_ndo_code += '%s%s = (%s)dev_data->unique_id_mapping[%s_id];\n' % (indent, cmd_info[param].name, cmd_info[param].type, cmd_info[param].name)
467 destroy_ndo_code += '%sdev_data->unique_id_mapping.erase(%s_id);\n' % (indent, cmd_info[param].name)
468 destroy_ndo_code += '%slock.unlock();\n' % (indent)
473 def cleanUpLocalDeclarations(self, indent, prefix, name, len):
474 cleanup = '%sif (local_%s%s)\n' % (indent, prefix, name)
476 cleanup += '%s delete[] local_%s%s;\n' % (indent, prefix, name)
478 cleanup += '%s delete local_%s%s;\n' % (indent, prefix, name)
482 def outputNDOs(self, ndo_type, ndo_name, ndo_count, prefix, index, indent, destroy_func, destroy_array, top_level):
488 decl_code += '%s%s *local_%s%s = NULL;\n' % (indent, ndo_type, prefix, ndo_name)
489 pre_call_code += '%s if (%s%s) {\n' % (indent, prefix, ndo_name)
490 indent = self.incIndent(indent)
492 pre_call_code += '%s local_%s%s = new %s[%s];\n' % (indent, prefix, ndo_name, ndo_type, ndo_count)
493 pre_call_code += '%s for (uint32_t %s = 0; %s < %s; ++%s) {\n' % (indent, index, index, ndo_count, index)
494 indent = self.incIndent(indent)
495 pre_call_code += '%s local_%s%s[%s] = (%s)dev_data->unique_id_mapping[reinterpret_cast<const uint64_t &>(%s[%s])];\n' % (indent, prefix, ndo_name, index, ndo_type, ndo_name, index)
497 pre_call_code += '%s for (uint32_t %s = 0; %s < %s; ++%s) {\n' % (indent, index, index, ndo_count, index)
498 indent = self.incIndent(indent)
499 pre_call_code += '%s %s%s[%s] = (%s)dev_data->unique_id_mapping[reinterpret_cast<const uint64_t &>(%s%s[%s])];\n' % (indent, prefix, ndo_name, index, ndo_type, prefix, ndo_name, index)
500 indent = self.decIndent(indent)
501 pre_call_code += '%s }\n' % indent
502 indent = self.decIndent(indent)
503 pre_call_code += '%s }\n' % indent
505 post_call_code += '%sif (local_%s%s)\n' % (indent, prefix, ndo_name)
506 indent = self.incIndent(indent)
507 post_call_code += '%sdelete[] local_%s;\n' % (indent, ndo_name)
511 pre_call_code += '%s %s = (%s)dev_data->unique_id_mapping[reinterpret_cast<uint64_t &>(%s)];\n' % (indent, ndo_name, ndo_type, ndo_name)
516 pre_call_code += '%s if (%s%s) {\n' % (indent, fix, ndo_name)
517 indent = self.incIndent(indent)
518 pre_call_code += '%s %s%s = (%s)dev_data->unique_id_mapping[reinterpret_cast<const uint64_t &>(%s%s)];\n' % (indent, prefix, ndo_name, ndo_type, fix, ndo_name)
519 indent = self.decIndent(indent)
520 pre_call_code += '%s }\n' % indent
527 def uniquify_members(self, members, indent, prefix, array_index, create_func, destroy_func, destroy_array, first_level_param):
544 (tmp_decl, tmp_pre, tmp_post) = self.outputNDOs(member.type, member.name, count_name, prefix, index, indent, destroy_func, destroy_array, first_level_param)
559 decls += '%ssafe_%s *%s = NULL;\n' % (indent, member.type, new_prefix)
562 pre_code += '%s if (%s%s) {\n' % (indent, prefix, member.name)
563 indent = self.incIndent(indent)
565 pre_code += '%s %s = new safe_%s[%s];\n' % (indent, new_prefix, member.type, member.len)
566 pre_code += '%s for (uint32_t %s = 0; %s < %s%s; ++%s) {\n' % (indent, index, index, prefix, member.len, index)
567 indent = self.incIndent(indent)
569 pre_code += '%s %s[%s].initialize(&%s[%s]);\n' % (indent, new_prefix, index, member.name, index)
572 (tmp_decl, tmp_pre, tmp_post) = self.uniquify_members(struct_info, indent, local_prefix, array_index, create_func, destroy_func, destroy_array, False)
576 indent = self.decIndent(indent)
577 pre_code += '%s }\n' % indent
578 indent = self.decIndent(indent)
579 pre_code += '%s }\n' % indent
581 post_code += self.cleanUpLocalDeclarations(indent, prefix, member.name, member.len)
587 decls += '%ssafe_%s *local_%s%s = NULL;\n' % (indent, member.type, prefix, member.name)
591 pre_code += '%s if (%s%s) {\n' % (indent, prefix, member.name)
592 indent = self.incIndent(indent)
594 pre_code += '%s local_%s%s = new safe_%s(%s);\n' % (indent, prefix, member.name, member.type, member.name)
596 (tmp_decl, tmp_pre, tmp_post) = self.uniquify_members(struct_info, indent, new_prefix, array_index, create_func, destroy_func, destroy_array, False)
600 indent = self.decIndent(indent)
601 pre_code += '%s }\n' % indent
603 post_code += self.cleanUpLocalDeclarations(indent, prefix, member.name, member.len)
608 indent = ' '
616 create_ndo_code = self.generate_create_ndo_code(indent, proto, params, cmd_info)
621 (destroy_array, destroy_ndo_code) = self.generate_destroy_ndo_code(indent, proto, cmd_info)
630 (paramdecl, param_pre_code, param_post_code) = self.uniquify_members(cmd_info, indent, '', 0, create_func, destroy_func, destroy_array, True)
639 param_pre_code = '%s{\n%s%s%s%s}\n' % (' ', indent, self.lock_guard(indent), param_pre_code, indent)