Monado OpenXR Runtime
render_distortion.c File Reference

Code for handling distortion resources (not shaders). More...

#include "xrt/xrt_device.h"
#include "math/m_api.h"
#include "math/m_matrix_2x2.h"
#include "math/m_vec2.h"
#include "vk/vk_mini_helpers.h"
#include "render/render_interface.h"
Include dependency graph for render_distortion.c:

Data Structures

struct  texture
 Helper struct to make code easier to read. More...
 
struct  tan_angles_transforms
 

Functions

static XRT_CHECK_RESULT VkResult create_distortion_image_and_view (struct vk_bundle *vk, VkExtent2D extent, VkDeviceMemory *out_device_memory, VkImage *out_image, VkImageView *out_image_view)
 
static void queue_upload_for_first_level_and_layer_locked (struct vk_bundle *vk, VkCommandBuffer cmd, VkBuffer src, VkImage dst, VkExtent2D extent)
 
static XRT_CHECK_RESULT VkResult create_and_queue_upload_locked (struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBuffer cmd, VkBuffer src_buffer, VkDeviceMemory *out_image_device_memory, VkImage *out_image, VkImageView *out_image_view)
 
static XRT_CHECK_RESULT VkResult create_and_fill_in_distortion_buffer_for_view (struct vk_bundle *vk, struct xrt_device *xdev, struct render_buffer *r_buffer, struct render_buffer *g_buffer, struct render_buffer *b_buffer, uint32_t view, bool pre_rotate)
 
static bool render_distortion_buffer_init (struct render_resources *r, struct vk_bundle *vk, struct xrt_device *xdev, bool pre_rotate)
 
void render_distortion_images_close (struct render_resources *r)
 Free distortion images. More...
 
bool render_distortion_images_ensure (struct render_resources *r, struct vk_bundle *vk, struct xrt_device *xdev, bool pre_rotate)
 Creates or recreates the compute distortion textures if necessary. More...
 

Detailed Description

Code for handling distortion resources (not shaders).

Author
Jakob Bornecrantz jakob.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m