Class: Vulkan::DescriptorSet
- Inherits:
-
Object
- Object
- Vulkan::DescriptorSet
- Includes:
- Conversions, Finalizer
- Defined in:
- lib/vulkan/descriptor_set.rb
Defined Under Namespace
Classes: DescriptorWrite
Constant Summary
Constants included from Conversions
Conversions::ACCESS_MASK_BITS, Conversions::BORDER_COLORS, Conversions::BUFFER_USAGE_BITS, Conversions::COMPARE_OPS, Conversions::DEPENDENCY_FLAG_BITS, Conversions::DESCRIPTOR_TYPES, Conversions::DYNAMIC_STATES, Conversions::FILTERS, Conversions::FORMAT_FEATURE_BITS, Conversions::IMAGE_ASPECT_BITS, Conversions::IMAGE_CREATE_BITS, Conversions::IMAGE_FORMATS, Conversions::IMAGE_TILING, Conversions::IMAGE_TYPES, Conversions::IMAGE_USAGE_BITS, Conversions::MEMORY_PROPERTIES, Conversions::PIPELINE_STAGE_BITS, Conversions::PRESENT_MODES, Conversions::SAMPLER_ADDRESS_MODES, Conversions::SAMPLER_MIPMAP_MODES, Conversions::SHADER_STAGE_BITS, Conversions::SHARING_MODES, Conversions::SURFACE_TRANSFORMS, Conversions::VERTEX_INPUT_RATES
Instance Method Summary collapse
- #[](index) ⇒ Object
- #commit ⇒ Object
-
#initialize(vk, pool, layout, handle, freeable) ⇒ DescriptorSet
constructor
A new instance of DescriptorSet.
- #update_image(image) ⇒ Object
- #update_texel_view ⇒ Object
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
Constructor Details
#initialize(vk, pool, layout, handle, freeable) ⇒ DescriptorSet
Returns a new instance of DescriptorSet.
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/vulkan/descriptor_set.rb', line 54 def initialize(vk, pool, layout, handle, freeable) @vk = vk @handle = handle if freeable handle_p = Vulkan.create_value('void *', handle) finalize_with vk, :vkFreeDescriptorSets, vk.device, pool, 1, handle_p end @descriptor_writes = layout.descriptors.each_with_index.map do |desc_layout, i| DescriptorWrite.new(self, desc_layout) end end |
Instance Method Details
#[](index) ⇒ Object
67 68 69 |
# File 'lib/vulkan/descriptor_set.rb', line 67 def [](index) @descriptor_writes[index] end |
#commit ⇒ Object
71 72 73 74 75 76 |
# File 'lib/vulkan/descriptor_set.rb', line 71 def commit writes = @descriptor_writes.select { |write| write.changed? } return unless writes.any? writes_p = array_of_structures(writes) @vk.vkUpdateDescriptorSets(@vk.device, writes.size, writes_p, 0, nil) end |
#update_image(image) ⇒ Object
82 83 84 |
# File 'lib/vulkan/descriptor_set.rb', line 82 def update_image(image) raise NotImplemented end |
#update_texel_view ⇒ Object
78 79 80 |
# File 'lib/vulkan/descriptor_set.rb', line 78 def update_texel_view(*, **) raise NotImplemented end |