Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/brandonpollack23/sarekt
/ functions
Functions
225 in github.com/brandonpollack23/sarekt
⨍
Functions
225
◇
Types & classes
66
↓ 1 callers
Method
queue_present
Presents to the swapchain waiting on the device semaphore.
src/renderer/vulkan/vulkan_renderer/render_targets.rs:90
↓ 1 callers
Method
recreate_base_pipeline_bundle
Same as above but recreate default pipeline and its bundled storages and handles.
src/renderer/vulkan/vulkan_renderer/pipelines.rs:179
↓ 1 callers
Method
recreate_framebuffers
Same as above, recreates vulkan framebuffers
src/renderer/vulkan/vulkan_renderer/pipelines.rs:162
↓ 1 callers
Method
recreate_renderpasses
Recreates all render passes associated with the pipeline for swapchain recreation.
src/renderer/vulkan/vulkan_renderer/pipelines.rs:145
↓ 1 callers
Method
recreate_semaphores
Makes new semaphores for draw synchronization. Useful for swapchain recreation. Unsafe because they must not be in use.
src/renderer/vulkan/vulkan_renderer/draw_synchronization.rs:161
↓ 1 callers
Method
recreate_swapchain
(&mut self, width: u32, height: u32)
src/renderer/vulkan/vulkan_renderer/mod.rs:1030
↓ 1 callers
Method
reset_acquire_fence
(&self)
src/renderer/vulkan/vulkan_renderer/draw_synchronization.rs:66
↓ 1 callers
Method
set_image_to_in_flight_frame
Mark the image as in use by the given frame.
src/renderer/vulkan/vulkan_renderer/draw_synchronization.rs:136
↓ 1 callers
Method
take_shaders_and_layouts
TODO(issue#2) PIPELINES handle when there is more than one pipeline. Save the handles to the base shaders so they don't have to be recreated for no re
src/renderer/vulkan/vulkan_renderer/pipelines.rs:207
↓ 1 callers
Method
transfer_image_queue_ownership_if_necessary
When a memory barrier is inserted that transfers queue ownership, the accept end of the memory barrier must also be run in a command buffer of the que
src/renderer/vulkan/vulkan_buffer_image_functions.rs:396
↓ 1 callers
Function
update_uniforms
( renderer: &VulkanRenderer, object: &DrawableObject<VulkanRenderer, DefaultForwardShaderLayout>, position
examples/08_model_loading.rs:255
↓ 1 callers
Function
update_uniforms
( renderer: &VulkanRenderer, rect: &DrawableObject<VulkanRenderer, DefaultForwardShaderLayout>, start_time
examples/05_uniform_buffers.rs:134
↓ 1 callers
Function
update_uniforms
( renderer: &VulkanRenderer, rect: &DrawableObject<VulkanRenderer, DefaultForwardShaderLayout>, camera_hei
examples/06_textures.rs:179
↓ 1 callers
Function
update_uniforms
( renderer: &VulkanRenderer, object: &DrawableObject<VulkanRenderer, DefaultForwardShaderLayout>, position
examples/09_mip_levels.rs:262
↓ 1 callers
Function
update_uniforms
( renderer: &VulkanRenderer, object: &DrawableObject<VulkanRenderer, DefaultForwardShaderLayout>, position
examples/10_msaa.rs:276
↓ 1 callers
Method
wait_for_all_frames
Waits for all the in flight frames, ie device idle.
src/renderer/vulkan/vulkan_renderer/draw_synchronization.rs:147
Method
aaconfig_compatible
( instance: &Instance, physical_device: vk::PhysicalDevice, msaa_config: &MsaaConfig, )
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:487
Method
bind_descriptor_sets
( &self, uniform_buffer: vk::Buffer, texture_image: &Option<ImageAndMemory>, descriptor_pool: vk::Desc
src/renderer/vulkan/vulkan_renderer/mod.rs:694
Method
builder
()
src/renderer/config.rs:16
Method
builder
( renderer: &'r R, )
src/renderer/drawable_object.rs:53
Function
can_construct_renderer_with_new
()
src/renderer/vulkan/vulkan_renderer/mod.rs:1187
Function
can_construct_renderer_with_new_and_user_data
()
src/renderer/vulkan/vulkan_renderer/mod.rs:1204
Method
check_validation_layer_support
Checks if all the validation layers specified are supported supported in this machine.
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:178
Method
choose_presentation_mode
Selects Mailbox if available, but if not tries to fallback to FIFO. See the [spec](https://renderdoc.org/vkspec_chunked/chap32.html#VkPresentModeKHR)
src/renderer/vulkan/vulkan_renderer/render_targets.rs:274
Method
choose_swap_extent
Selects the resolution of the swap chain images. This is almost always equal to the resolution of the Surface we're drawing too, but we need to double
src/renderer/vulkan/vulkan_renderer/render_targets.rs:295
Method
choose_swap_surface_format
If drawing to a surface, chooses the best format from the ones available for the surface. Tries to use B8g8r8a8Srgb format with SRGB_NONLINEAR colors
src/renderer/vulkan/vulkan_renderer/render_targets.rs:258
Method
cleanup
Must be called by the backend when cleaning up all resources, if they are managed by the application (as in Vulkan/D3D12). # Safety Unsafe because af
src/renderer/buffers_and_images.rs:203
Method
cleanup
(&self)
src/renderer/vulkan/vulkan_buffer_image_functions.rs:754
Method
create_base_graphics_pipeline
( logical_device: &Device, shader_store: &Arc<RwLock<ShaderStore<VulkanShaderFunctions>>>, extent: vk:
src/renderer/vulkan/vulkan_renderer/pipelines.rs:442
Method
create_base_graphics_pipeline_and_shaders
Creates the base pipeline for Sarekt. A user can load custom shaders, etc, to create custom pipelines (passed back as opaque handles) based off this
src/renderer/vulkan/vulkan_renderer/pipelines.rs:380
Method
create_buffer_image_store
( vulkan_core: &VulkanCoreStructures, vulkan_device_bundle: &VulkanDeviceStructures, allocator: Arc<vk
src/renderer/vulkan/vulkan_renderer/mod.rs:625
Method
create_default_descriptor_set_layouts
( logical_device: &Device, )
src/renderer/vulkan/vulkan_renderer/pipelines.rs:423
Method
create_default_shaders
( shader_store: &Arc<RwLock<ShaderStore<VulkanShaderFunctions>>>, )
src/renderer/vulkan/vulkan_renderer/pipelines.rs:406
Method
create_forward_render_pass
================================================================================ Pipeline Helper Methods =============================================
src/renderer/vulkan/vulkan_renderer/pipelines.rs:270
Method
create_framebuffers
( logical_device: &Device, render_pass: vk::RenderPass, resolve_attachment: Option<&ResolveAttachment>
src/renderer/vulkan/vulkan_renderer/pipelines.rs:602
Method
create_instance
================================================================================ Instance Creation ===================================================
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:107
Method
create_logical_device_and_queues
================================================================================ Logical Device Helper Methods =======================================
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:513
Method
create_main_descriptor_pools
( instance: &Instance, physical_device: vk::PhysicalDevice, logical_device: &Device, render_targets: &
src/renderer/vulkan/vulkan_renderer/mod.rs:543
Method
create_main_gfx_command_buffers
Creates command buffer for main thread to make draw calls on. TODO(issue#1) MULTITHREADING one secondary per thread.
src/renderer/vulkan/vulkan_renderer/mod.rs:420
Method
create_memory_allocator
================================================================================ Storage Creation Methods ============================================
src/renderer/vulkan/vulkan_renderer/mod.rs:599
Method
create_primary_command_pools
================================================================================ Command & Descriptor Pool/Buffer Methods ============================
src/renderer/vulkan/vulkan_renderer/mod.rs:391
Method
create_render_target_image_views
Given the render target images and format, create an image view suitable for rendering on. (one level, no mipmapping, color bit access).
src/renderer/vulkan/vulkan_renderer/render_targets.rs:327
Method
create_shader_store
Creates a shader store in the vulkan backend configuration to load and delete shaders from.
src/renderer/vulkan/vulkan_renderer/mod.rs:618
Method
create_swapchain
================================================================================ Presentation and Swapchain Helper Methods ===========================
src/renderer/vulkan/vulkan_renderer/render_targets.rs:188
Method
create_uninitialized_image
( &self, dimensions: (u32, u32), format: ImageDataFormat, num_msaa_samples: NumSamples, )
src/renderer/vulkan/vulkan_buffer_image_functions.rs:972
Method
create_uninitialized_image_msaa
Same as above but allows for MSAA to be used, useful when creating internal render targets.
src/renderer/buffers_and_images.rs:328
Method
debug_callback
It is invariant in the vulkan renderer setup that p_user_data is of type DebugUserData, it is set up in new.
src/renderer/vulkan/vulkan_renderer/debug_utils_ext.rs:63
Method
default
()
src/renderer/config.rs:21
Method
default
()
src/renderer/vertex_bindings.rs:120
Method
default
()
src/renderer/vulkan/vulkan_renderer/debug_utils_ext.rs:140
Method
device_supports_required_extensions
Goes through and checks if the device supports all needed extensions for current configuration, such as swapchains when drawing to a window.
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:408
Method
drop
(&mut self)
src/renderer/buffers_and_images.rs:32
Method
drop
(&mut self)
src/renderer/shaders.rs:29
Method
drop
(&mut self)
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:233
Method
drop
(&mut self)
src/renderer/vulkan/vulkan_renderer/mod.rs:1105
Method
find_depth_format
( instance: &Instance, physical_device: vk::PhysicalDevice, )
src/renderer/vulkan/vulkan_renderer/render_attachments.rs:68
Method
find_queue_families
Finds the queue family indices to use for the rendering command submissions. Right now only picks the first suitable queue family for each type of co
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:429
Method
find_supported_format
( instance: &Instance, physical_device: vk::PhysicalDevice, format_candidates: &[vk::Format], tiling:
src/renderer/vulkan/vulkan_renderer/render_attachments.rs:48
Method
fmt
(&self, f: &mut fmt::Formatter)
src/error.rs:58
Method
from
(e: vk::Result)
src/error.rs:33
Method
from
(num_samples: NumSamples)
src/renderer/vulkan/mod.rs:21
Method
get_attribute_descriptions
()
src/renderer/vulkan/vulkan_vertex_bindings.rs:25
Method
get_bind_texture_info
()
src/renderer/vulkan/vulkan_vertex_bindings.rs:82
Method
get_bind_uniform_info
()
src/renderer/vulkan/vulkan_vertex_bindings.rs:74
Method
get_binding_description
()
src/renderer/vulkan/vulkan_vertex_bindings.rs:17
Method
get_descriptor_set_layout_bindings
()
src/renderer/vulkan/vulkan_vertex_bindings.rs:55
Method
get_frame_count
(&self)
src/renderer/vulkan/vulkan_renderer/mod.rs:1060
Method
get_image
( &self, handle: &BufferImageHandle<VulkanBufferImageFunctions>, )
src/renderer/vulkan/vulkan_renderer/mod.rs:1045
Method
get_required_extensions
================================================================================ Instance Helper Methods =============================================
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:163
Method
has_stencil_component
(format: vk::Format)
src/renderer/vulkan/vulkan_renderer/render_attachments.rs:88
Method
is_device_suitable
Tells us if this device is compatible with Sarekt. This means it has what is needed by this configuration in terms of: Supported Queue Families (Graph
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:365
Method
load_buffer_with_staging
Load a buffer and allocate memory into the backend/GPU and return a handle.
src/renderer/buffers_and_images.rs:211
Method
load_buffer_with_staging
I could create a buffer myself and allocate memory with VMA, but their recomended approach is to allow the library to create a buffer and bind the mem
src/renderer/vulkan/vulkan_buffer_image_functions.rs:779
Method
load_buffer_without_staging
Same as above but keeps the buffer in cpu accessible memory. Useful for things updated frequently like MVP uniforms.
src/renderer/buffers_and_images.rs:240
Method
load_buffer_without_staging
( &self, buffer_type: BufferType, buffer: &[BufElem], )
src/renderer/vulkan/vulkan_buffer_image_functions.rs:826
Method
load_image_with_staging_initialization
The procedure for loading an image in vulkan could use a staging image, but its just as well we use a staging buffer, which is easier and [could even
src/renderer/vulkan/vulkan_buffer_image_functions.rs:862
Method
load_image_with_staging_initialization
( &mut self, pixels: impl ImageData, magnification_filter: MagnificationMinificationFilter, minificati
src/renderer/vulkan/vulkan_renderer/mod.rs:923
Method
load_shader
Load a shader into the driver and return a handle.
src/renderer/shaders.rs:115
Method
load_shader
(&self, code: &ShaderCode)
src/renderer/vulkan/vulkan_shader_functions.rs:22
Method
load_shader
( &mut self, code: &ShaderCode, shader_type: ShaderType, )
src/renderer/vulkan/vulkan_renderer/mod.rs:907
Method
log_extensions_dialog
Logs extensions that are available and what was requested.
src/renderer/vulkan/vulkan_renderer/vulkan_core.rs:202
Function
main
()
examples/04_loading_indexed_vertices.rs:37
Function
main
()
examples/02_basic_loop.rs:126
Function
main
()
examples/08_model_loading.rs:34
Function
main
()
examples/01_init_instance.rs:12
Function
main
()
examples/05_uniform_buffers.rs:37
Function
main
()
examples/07_depth_buffer_test.rs:41
Function
main
()
examples/06_textures.rs:41
Function
main
()
examples/09_mip_levels.rs:36
Function
main
()
examples/10_msaa.rs:38
Function
main
()
examples/03_loading_vertices.rs:35
Function
main
()
examples/00_base_code.rs:15
Method
main_loop_window_event
( event: &WindowEvent, _id: &WindowId, control_flow: &mut winit::event_loop::ControlFlow, renderer: &m
examples/02_basic_loop.rs:90
Method
new
(r: u8, g: u8, b: u8, a: u8)
src/image_data.rs:99
Method
new
(major: u32, minor: u32, patch: u32)
src/renderer/config.rs:45
Method
new
(uniform_buffer_backend_handle: BL::UniformBufferHandle)
src/renderer/buffers_and_images.rs:106
Method
new
Create with a group of methods to load/destroy shaders.
src/renderer/shaders.rs:107
Method
new
( renderer: &R, vertex_buffer: &'a BufferImageHandle<R::BL>, index_buffer: Option<&'b BufferImageHandl
src/renderer/drawable_object.rs:65
Method
new
(pos: &[f32; 3], color: &[f32; 3], texture_coordinates: &[f32; 2])
src/renderer/vertex_bindings.rs:53
Method
new
Creates an image and imageview pairing, with a Drop implementation. Unsafe because you must clean up the vk::Image and vk::ImageView still.
src/renderer/vulkan/images.rs:11
← previous
next →
101–200 of 225, ranked by callers