Class: Vulkan::DescriptorSet::DescriptorWrite
- Inherits:
-
Object
- Object
- Vulkan::DescriptorSet::DescriptorWrite
show all
- Includes:
- Conversions
- Defined in:
- lib/vulkan/descriptor_set.rb
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
#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
Returns a new instance of DescriptorWrite.
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/vulkan/descriptor_set.rb', line 9
def initialize(owner, layout)
@changed = false
@writer = VkWriteDescriptorSet.malloc
@writer.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET
@writer.dstSet = owner.to_ptr
@writer.dstBinding = layout.binding
@writer.dstArrayElement = 0
@writer.descriptorType = layout.descriptorType
@writer.descriptorCount = layout.descriptorCount
@writer.pBufferInfo = nil
@writer.pImageInfo = nil
@writer.pTexelBufferView = nil
end
|
Instance Method Details
#changed? ⇒ Boolean
49
50
51
|
# File 'lib/vulkan/descriptor_set.rb', line 49
def changed?
@changed
end
|
#set_buffer(buffer, offset: 0, range: buffer.size, array_element: 0) ⇒ Object
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/vulkan/descriptor_set.rb', line 23
def set_buffer(buffer, offset: 0, range: buffer.size, array_element: 0)
@changed = true
@info = VkDescriptorBufferInfo.malloc
@info.buffer = buffer.to_ptr
@info.offset = offset
@info.range = range
@writer.pImageInfo = @writer.pTexelBufferView = nil
@writer.pBufferInfo = @info
@writer.dstArrayElement = array_element
end
|
#set_image_view_and_sampler(image_view, sampler, layout: :shader_read_only_optimal, array_element: 0) ⇒ Object
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/vulkan/descriptor_set.rb', line 34
def set_image_view_and_sampler(image_view, sampler, layout: :shader_read_only_optimal, array_element: 0)
@changed = true
@info = VkDescriptorImageInfo.malloc
@info.imageLayout = sym_to_image_layout(layout)
@info.imageView = image_view.to_ptr
@info.sampler = sampler.to_ptr
@writer.pBufferInfo = @writer.pTexelBufferView = nil
@writer.pImageInfo = @info
@writer.dstArrayElement = array_element
end
|
#to_ptr ⇒ Object
45
46
47
|
# File 'lib/vulkan/descriptor_set.rb', line 45
def to_ptr
@writer.to_ptr
end
|