Class: Vulkan::CommandPool
- Inherits:
-
Object
- Object
- Vulkan::CommandPool
- Includes:
- Checks, Conversions, Finalizer
- Defined in:
- lib/vulkan/command_pool.rb
Constant Summary
Constants included from Conversions
Vulkan::Conversions::ACCESS_MASK_BITS, Vulkan::Conversions::BORDER_COLORS, Vulkan::Conversions::BUFFER_USAGE_BITS, Vulkan::Conversions::COMPARE_OPS, Vulkan::Conversions::DEPENDENCY_FLAG_BITS, Vulkan::Conversions::DESCRIPTOR_TYPES, Vulkan::Conversions::DYNAMIC_STATES, Vulkan::Conversions::FILTERS, Vulkan::Conversions::FORMAT_FEATURE_BITS, Vulkan::Conversions::IMAGE_ASPECT_BITS, Vulkan::Conversions::IMAGE_CREATE_BITS, Vulkan::Conversions::IMAGE_FORMATS, Vulkan::Conversions::IMAGE_TILING, Vulkan::Conversions::IMAGE_TYPES, Vulkan::Conversions::IMAGE_USAGE_BITS, Vulkan::Conversions::MEMORY_PROPERTIES, Vulkan::Conversions::PIPELINE_STAGE_BITS, Vulkan::Conversions::PRESENT_MODES, Vulkan::Conversions::SAMPLER_ADDRESS_MODES, Vulkan::Conversions::SAMPLER_MIPMAP_MODES, Vulkan::Conversions::SHADER_STAGE_BITS, Vulkan::Conversions::SHARING_MODES, Vulkan::Conversions::SURFACE_TRANSFORMS, Vulkan::Conversions::VERTEX_INPUT_RATES
Instance Method Summary collapse
- #create_command_buffer(**args, &block) ⇒ Object
- #create_command_buffers(count, **args, &block) ⇒ Object
-
#initialize(vk, queue_family:, transient: false, allow_reset: false) ⇒ CommandPool
constructor
A new instance of CommandPool.
Methods included from Finalizer
#finalize_with, #hexaddr, included, #to_ptr
Methods included from Conversions
#array_of_pointers, #array_of_structures, #array_of_uint32s, #bool_to_vk, #buffer_usage_flags_to_syms, #const_to_symbol, #cstr_to_rbstr, #flags_to_symbols, #flags_to_syms, #num_to_samples, #present_mode_to_sym, #queue_family_to_index, #struct_to_hash, #sym_to_blend_factor, #sym_to_blend_op, #sym_to_border_color, #sym_to_color_component_bit, #sym_to_command_buffer_level, #sym_to_command_buffer_usage, #sym_to_compare_op, #sym_to_cull_mode, #sym_to_descriptor_type, #sym_to_dynamic_state, #sym_to_filter, #sym_to_front_face, #sym_to_image_format, #sym_to_image_layout, #sym_to_image_tiling, #sym_to_image_type, #sym_to_index_type, #sym_to_load_op, #sym_to_pipeline_bind_point, #sym_to_polygon_mode, #sym_to_present_mode, #sym_to_sampler_address_mode, #sym_to_sampler_mipmap_mode, #sym_to_samples, #sym_to_sharing_mode, #sym_to_store_op, #sym_to_subpass_contents, #sym_to_topology, #sym_to_val, #sym_to_vertex_input_rate, #syms_to_access_mask, #syms_to_buffer_usage_flags, #syms_to_dependency_flags, #syms_to_descriptor_set_layout_type_flags, #syms_to_flags, #syms_to_format_feature_flags, #syms_to_image_aspect_flags, #syms_to_image_create_flags, #syms_to_image_usage_flags, #syms_to_memory_properties, #syms_to_pipeline_stage_flags, #syms_to_shader_stage_flags, #syms_to_surface_transforms, #vk_make_version, #vk_parse_version
Methods included from Checks
Constructor Details
#initialize(vk, queue_family:, transient: false, allow_reset: false) ⇒ CommandPool
Returns a new instance of CommandPool.
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/vulkan/command_pool.rb', line 7 def initialize(vk, queue_family:, transient: false, allow_reset: false) @vk = vk pool_info = VkCommandPoolCreateInfo.malloc pool_info.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO pool_info.queueFamilyIndex = queue_family_to_index(queue_family) pool_info.flags = (transient ? VK_COMMAND_POOL_CREATE_TRANSIENT_BIT : 0) | (allow_reset ? VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT : 0) command_pool_p = Vulkan.create_value('void *', nil) check_result @vk.vkCreateCommandPool(vk.device, pool_info, nil, command_pool_p) @handle = command_pool_p.value finalize_with vk, :vkDestroyCommandPool, vk.device, @handle, nil end |
Instance Method Details
#create_command_buffer(**args, &block) ⇒ Object
20 21 22 |
# File 'lib/vulkan/command_pool.rb', line 20 def create_command_buffer(**args, &block) create_command_buffers(1, **args, &block)[0] end |
#create_command_buffers(count, **args, &block) ⇒ Object
24 25 26 |
# File 'lib/vulkan/command_pool.rb', line 24 def create_command_buffers(count, **args, &block) Vulkan::CommandBuffer.create(@vk, self, count: count, **args, &block) end |