MXVK Vulkan Framework 0.24.0
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
mxvk::anonymous_namespace{mxvk_resource.cpp} Namespace Reference

Functions

void create_sampler (VkDevice device, TextureResource &texture)
void validate_context (const VulkanContext &context)
void validate_upload_context (const VulkanContext &context)

Function Documentation

◆ create_sampler()

void mxvk::anonymous_namespace{mxvk_resource.cpp}::create_sampler ( VkDevice device,
TextureResource & texture )

Definition at line 28 of file mxvk_resource.cpp.

28 {
29 VkSamplerCreateInfo sampler_info{};
30 sampler_info.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
31 sampler_info.magFilter = VK_FILTER_LINEAR;
32 sampler_info.minFilter = VK_FILTER_LINEAR;
33 sampler_info.addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
34 sampler_info.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
35 sampler_info.addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
36 sampler_info.anisotropyEnable = VK_FALSE;
37 sampler_info.borderColor = VK_BORDER_COLOR_INT_OPAQUE_BLACK;
38 sampler_info.unnormalizedCoordinates = VK_FALSE;
39 sampler_info.compareEnable = VK_FALSE;
40 sampler_info.compareOp = VK_COMPARE_OP_ALWAYS;
41 sampler_info.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR;
42 if (vkCreateSampler(device, &sampler_info, nullptr, &texture.sampler) != VK_SUCCESS) {
43 throw mxvk::Exception("mxvk resource helper failed to create texture sampler");
44 }
45 }
VkSampler sampler
Sampler configured for linear filtering and clamp-to-edge addressing.

◆ validate_context()

void mxvk::anonymous_namespace{mxvk_resource.cpp}::validate_context ( const VulkanContext & context)

Definition at line 15 of file mxvk_resource.cpp.

15 {
16 if (context.device == VK_NULL_HANDLE || context.physical_device == VK_NULL_HANDLE) {
17 throw mxvk::Exception("mxvk resource helper requires a valid Vulkan device");
18 }
19 }
VkDevice device
Logical device used to create and destroy resources.
VkPhysicalDevice physical_device
Physical device used for memory type queries.

◆ validate_upload_context()

void mxvk::anonymous_namespace{mxvk_resource.cpp}::validate_upload_context ( const VulkanContext & context)

Definition at line 21 of file mxvk_resource.cpp.

21 {
22 validate_context(context);
23 if (context.graphics_queue == VK_NULL_HANDLE || context.command_pool == VK_NULL_HANDLE) {
24 throw mxvk::Exception("mxvk upload helper requires a valid graphics queue and command pool");
25 }
26 }
void validate_context(const VulkanContext &context)
VkCommandPool command_pool
Command pool used for transient upload command buffers.
VkQueue graphics_queue
Queue used for one-shot upload command submission.