38 VkDeviceMemory memory;
39 VkDescriptorBufferInfo descriptor;
41 VkDeviceSize alignment;
43 VkBufferUsageFlags usageFlags;
44 VkMemoryPropertyFlags memoryPropertyFlags;
66 float hmd_warp_param[4];
68 float lens_center[2][4];
69 float viewport_scale[2];
75 float coefficients[2][3][4];
77 float undistort_r2_cutoff[4];
78 float aspect_x_over_y;
79 float grow_for_undistort;
88 size_t num_indices[2];
89 size_t offset_indices[2];
90 size_t total_num_indices;
100 VkPipelineLayout pipeline_layout;
103 VkDescriptorSetLayout descriptor_set_layout;
104 VkDescriptorSet descriptor_sets[2];
106 bool quirk_draw_lines;
124 VkRenderPass render_pass,
125 VkPipelineCache pipeline_cache,
128 VkDescriptorPool descriptor_pool,
157 VkCommandBuffer command_buffer,
162 VkCommandBuffer command_buffer,
Helper struct that encapsulate a distortion rendering code.
Definition: comp_distortion.h:52
Main compositor written using Vulkan header.
xrt_distortion_model
Which distortion model does the device expose, used both as a bitfield and value. ...
Definition: xrt_defines.h:47
Settings struct for compositor header.
Main compositor struct tying everything in the compositor together.
Definition: comp_compositor.h:70
void comp_distortion_init(struct comp_distortion *d, struct comp_compositor *c, VkRenderPass render_pass, VkPipelineCache pipeline_cache, enum xrt_distortion_model distortion_model, struct xrt_hmd_parts *parts, VkDescriptorPool descriptor_pool, bool flip_y)
Init a distortion, pass in the distortion so it can be embedded in a struct.
Definition: comp_distortion.c:181
void comp_distortion_destroy(struct comp_distortion *d)
Free and destroy all fields, does not free the destortion itself.
Definition: comp_distortion.c:227
All of the device components that deals with interfacing to a users head.
Definition: xrt_device.h:93
void comp_distortion_update_descriptor_set(struct comp_distortion *d, VkSampler sampler, VkImageView view, uint32_t eye)
Update the descriptor set to a new image.
Definition: comp_distortion.c:572
void comp_distortion_draw_quad(struct comp_distortion *d, VkCommandBuffer command_buffer, int eye)
Submit draw commands to the given command_buffer.
Definition: comp_distortion.c:682
A tightly packed 2x2 matrix of floats.
Definition: xrt_defines.h:253
A bundle of Vulkan functions and objects, used by both Compositor and Compositor client code...
Definition: vk_helpers.h:34