Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/adrien-ben/vulkan-tutorial-rs
/ functions
Functions
92 in github.com/adrien-ben/vulkan-tutorial-rs
⨍
Functions
92
◇
Types & classes
12
↓ 32 callers
Method
device
(&self)
src/context.rs:30
↓ 5 callers
Function
load
(path: P)
src/fs.rs:4
↓ 4 callers
Method
destroy
(&self, device: &Device)
src/main.rs:2312
↓ 2 callers
Method
cleanup_swapchain
Clean up the swapchain and all resources that depends on it.
src/main.rs:2212
↓ 2 callers
Function
create_debug_create_info
()
src/debug.rs:89
↓ 2 callers
Method
get_mem_properties
(&self)
src/context.rs:36
↓ 2 callers
Method
instance
(&self)
src/context.rs:14
↓ 2 callers
Method
physical_device
(&self)
src/context.rs:26
↓ 2 callers
Method
surface
(&self)
src/context.rs:18
↓ 2 callers
Method
surface_khr
(&self)
src/context.rs:22
↓ 2 callers
Method
wait_gpu_idle
(&self)
src/main.rs:2037
↓ 1 callers
Function
check_validation_layer_support
Check if the required validation set in `REQUIRED_LAYERS` are supported by the Vulkan instance. # Panics Panic if at least one on the layer is not s
src/debug.rs:54
↓ 1 callers
Function
clamp
Clamp `value` between `min` and `max`.
src/math.rs:48
↓ 1 callers
Function
compile_shaders
()
build.rs:22
↓ 1 callers
Method
draw_frame
(&mut self)
src/main.rs:2041
↓ 1 callers
Method
find_supported_format
Find the first compatible format from `candidates`.
src/context.rs:44
↓ 1 callers
Method
forward
(&mut self, r: f32)
src/camera.rs:28
↓ 1 callers
Method
get_ideal_swapchain_properties
( &self, preferred_dimensions: [u32; 2], )
src/swapchain.rs:41
↓ 1 callers
Function
get_layer_names_and_pointers
Get the pointers to the validation layers names. Also return the corresponding `CString` to avoid dangling pointers.
src/debug.rs:36
↓ 1 callers
Method
get_max_usable_sample_count
Return the maximim sample count supported.
src/context.rs:62
↓ 1 callers
Function
get_root_path
()
build.rs:56
↓ 1 callers
Function
get_shader_source_dir_path
()
build.rs:50
↓ 1 callers
Function
handle_program_result
(result: Result<Output>)
build.rs:60
↓ 1 callers
Method
next
(&mut self)
src/main.rs:2342
↓ 1 callers
Function
perspective
Perspective matrix that is suitable for Vulkan. It inverts the projected y-axis. And set the depth range to 0..1 instead of -1..1. Mind the vertex wi
src/math.rs:8
↓ 1 callers
Method
position
(&self)
src/camera.rs:12
↓ 1 callers
Method
recreate_swapchain
Recreates the swapchain. If the window has been resized, then the new size is used otherwise, the size of the current swapchain is used. If the wind
src/main.rs:2130
↓ 1 callers
Method
rotate
(&mut self, theta: f32, phi: f32)
src/camera.rs:22
↓ 1 callers
Function
setup_debug_messenger
Setup the debug message if validation layers are enabled.
src/debug.rs:70
↓ 1 callers
Function
should_skip_shader_compilation
()
build.rs:16
↓ 1 callers
Method
update_uniform_buffers
(&mut self, current_image: u32)
src/main.rs:2231
Method
about_to_wait
(&mut self, _: &ActiveEventLoop)
src/main.rs:108
Method
check_device_extension_support
(instance: &Instance, device: vk::PhysicalDevice)
src/main.rs:458
Method
choose_swapchain_extent
Choose the swapchain extent. If a current extent is defined it will be returned. Otherwise the surface extent clamped between the min and max image e
src/swapchain.rs:99
Method
choose_swapchain_surface_format
Choose the swapchain surface format. Will choose B8G8R8A8_UNORM/SRGB_NONLINEAR if possible or the first available otherwise.
src/swapchain.rs:59
Method
choose_swapchain_surface_present_mode
Choose the swapchain present mode. Will favor MAILBOX if present otherwise FIFO. If none is present it will fallback to IMMEDIATE.
src/swapchain.rs:82
Method
copy_buffer
Copy the `size` first bytes of `src` into `dst`. It's done using a command buffer allocated from `command_pool`. The command buffer is cubmitted tp `
src/main.rs:1806
Method
copy_buffer_to_image
( device: &Device, command_pool: vk::CommandPool, transition_queue: vk::Queue,
src/main.rs:1420
Method
create_and_register_command_buffers
( device: &Device, pool: vk::CommandPool, framebuffers: &[vk::Framebuffer], re
src/main.rs:1899
Method
create_buffer
Create a buffer and allocate its memory. # Returns The buffer, its memory and the actual size in bytes of the allocated memory since in may differ f
src/main.rs:1767
Method
create_color_texture
( vk_context: &VkContext, command_pool: vk::CommandPool, transition_queue: vk::Queue,
src/main.rs:1069
Method
create_command_pool
( device: &Device, queue_families_indices: QueueFamiliesIndices, create_flags: vk::Com
src/main.rs:1053
Method
create_depth_texture
Create the depth buffer texture (image, memory and view). This function also transitions the image to be ready to be used as a depth/stencil attachem
src/main.rs:1114
Method
create_descriptor_pool
Create a descriptor pool to allocate the descriptor sets.
src/main.rs:808
Method
create_descriptor_set_layout
(device: &Device)
src/main.rs:789
Method
create_descriptor_sets
Create one descriptor set for each uniform buffer.
src/main.rs:828
Method
create_device_local_buffer_with_data
Create a buffer and it's gpu memory and fill it. This function internally creates an host visible staging buffer and a device local buffer. The data
src/main.rs:1690
Method
create_framebuffers
( device: &Device, image_views: &[vk::ImageView], color_texture: Texture, dept
src/main.rs:1030
Method
create_image
( vk_context: &VkContext, mem_properties: vk::MemoryPropertyFlags, extent: vk::Extent2
src/main.rs:1280
Method
create_image_view
( device: &Device, image: vk::Image, mip_levels: u32, format: vk::Format,
src/main.rs:690
Method
create_index_buffer
( vk_context: &VkContext, command_pool: vk::CommandPool, transfer_queue: vk::Queue,
src/main.rs:1669
Method
create_instance
(entry: &Entry, window: &Window)
src/main.rs:357
Method
create_logical_device_with_graphics_queue
Create the logical device to interact with `device`, a graphics queue and a presentation queue. # Returns Return a tuple containing the logical devi
src/main.rs:537
Method
create_pipeline
( device: &Device, swapchain_properties: SwapchainProperties, msaa_samples: vk::Sample
src/main.rs:880
Method
create_render_pass
( device: &Device, swapchain_properties: SwapchainProperties, msaa_samples: vk::Sample
src/main.rs:712
Method
create_shader_module
(device: &Device, code: &[u32])
src/main.rs:1025
Method
create_swapchain_and_images
Create the swapchain with optimal settings possible with `device`. # Returns A tuple containing the swapchain loader and the actual swapchain.
src/main.rs:596
Method
create_swapchain_image_views
Create one image view for each image of the swapchain.
src/main.rs:671
Method
create_sync_objects
(device: &Device)
src/main.rs:2007
Method
create_texture_image
( vk_context: &VkContext, command_pool: vk::CommandPool, copy_queue: vk::Queue, )
src/main.rs:1169
Method
create_uniform_buffers
( vk_context: &VkContext, count: usize, )
src/main.rs:1739
Method
create_vertex_buffer
( vk_context: &VkContext, command_pool: vk::CommandPool, transfer_queue: vk::Queue,
src/main.rs:1654
Method
default
()
src/camera.rs:34
Method
destroy
(&mut self, device: &Device)
src/texture.rs:26
Method
drop
(&mut self)
src/main.rs:2272
Method
drop
(&mut self)
src/context.rs:112
Method
execute_one_time_commands
Create a one time use command buffer and pass it to `executor`.
src/main.rs:1827
Method
exiting
(&mut self, _: &ActiveEventLoop)
src/main.rs:124
Method
find_depth_format
(vk_context: &VkContext)
src/main.rs:1150
Method
find_memory_type
Find a memory type in `mem_properties` that is suitable for `requirements` and supports `required_properties`. # Returns The index of the memory typ
src/main.rs:1882
Method
find_queue_families
Find a queue family with at least one graphics queue and one with at least one presentation queue from `device`. #Returns Return a tuple (Option<gra
src/main.rs:497
Method
generate_mipmaps
( vk_context: &VkContext, command_pool: vk::CommandPool, transfer_queue: vk::Queue,
src/main.rs:1458
Method
get_attribute_descriptions
()
src/main.rs:2368
Method
get_binding_description
()
src/main.rs:2361
Method
get_descriptor_set_layout_binding
()
src/main.rs:2397
Method
get_required_device_extensions
()
src/main.rs:482
Method
has_stencil_component
(format: vk::Format)
src/main.rs:1165
Method
is_device_suitable
( instance: &Instance, surface: &surface::Instance, surface_khr: vk::SurfaceKHR,
src/main.rs:438
Method
load_model
()
src/main.rs:1616
Function
main
()
build.rs:10
Function
main
()
src/main.rs:34
Method
new
(window: &Window)
src/main.rs:175
Method
new
( image: vk::Image, memory: vk::DeviceMemory, view: vk::ImageView, sampler: Op
src/texture.rs:12
Method
new
( device: vk::PhysicalDevice, surface: &surface::Instance, surface_khr: vk::SurfaceKHR
src/swapchain.rs:11
Method
new
( entry: Entry, instance: Instance, debug_report_callback: Option<(debug_utils::Instan
src/context.rs:90
Method
new_events
(&mut self, _: &ActiveEventLoop, _: StartCause)
src/main.rs:64
Method
pick_physical_device
Pick the first suitable physical device. # Requirements - At least one queue family with one queue supportting graphics. - At least one queue family
src/main.rs:413
Method
read_shader_from_file
(path: P)
src/main.rs:1019
Method
resumed
(&mut self, event_loop: &ActiveEventLoop)
src/main.rs:51
Method
transition_image_layout
( device: &Device, command_pool: vk::CommandPool, transition_queue: vk::Queue,
src/main.rs:1328
Function
vulkan_debug_callback
( flag: vk::DebugUtilsMessageSeverityFlagsEXT, typ: vk::DebugUtilsMessageTypeFlagsEXT, p_callback_
src/debug.rs:14
Method
window_event
(&mut self, event_loop: &ActiveEventLoop, _: WindowId, event: WindowEvent)
src/main.rs:71