|
Monado OpenXR Runtime
|
All the pure data values associated with a composition layer. More...
#include <xrt/xrt_compositor.h>

Public Member Functions | |
| XRT_ALIGNAS (8) int64_t timestamp | |
| "Display no-earlier-than" timestamp for this layer. | |
Data Fields | ||
| enum xrt_layer_type | type | |
| Tag for compositor layer type. | ||
| enum xrt_input_name | name | |
| Often XRT_INPUT_GENERIC_HEAD_POSE. | ||
| enum xrt_layer_composition_flags | flags | |
| Composition flags. | ||
| struct xrt_layer_depth_test_data | depth_test | |
| Depth test data. | ||
| bool | flip_y | |
| Whether the main compositor should flip the direction of y when rendering. | ||
| struct xrt_colour_rgba_f32 | color_scale | |
| Modulate the color sourced from the images. | ||
| struct xrt_colour_rgba_f32 | color_bias | |
| Modulate the color sourced from the images. | ||
| struct xrt_layer_advanced_blend_data | advanced_blend | |
| Advanced blend factors. | ||
| union { | ||
| struct xrt_layer_projection_data proj | ||
| struct xrt_layer_projection_depth_data depth | ||
| struct xrt_layer_quad_data quad | ||
| struct xrt_layer_cube_data cube | ||
| struct xrt_layer_cylinder_data cylinder | ||
| struct xrt_layer_equirect1_data equirect1 | ||
| struct xrt_layer_equirect2_data equirect2 | ||
| struct xrt_layer_passthrough_data passthrough | ||
| }; | ||
| Union of data values for the various layer types. | ||
| uint32_t | view_count | |
All the pure data values associated with a composition layer.
The xrt_swapchain references and xrt_device are provided outside of this struct.
| xrt_layer_data::XRT_ALIGNAS | ( | 8 | ) |
"Display no-earlier-than" timestamp for this layer.
The layer may be displayed after this point, but must never be displayed before.
alignas for 32 bit client support,
| union { ... } xrt_layer_data |
Union of data values for the various layer types.
The initialized member of this union should match the value of xrt_layer_data::type. It also should be clear because of the layer function called between xrt_compositor::layer_begin and xrt_compositor::layer_commit where this data was passed.
| struct xrt_layer_advanced_blend_data xrt_layer_data::advanced_blend |
Advanced blend factors.
| struct xrt_colour_rgba_f32 xrt_layer_data::color_bias |
Modulate the color sourced from the images.
| struct xrt_colour_rgba_f32 xrt_layer_data::color_scale |
Modulate the color sourced from the images.
| struct xrt_layer_depth_test_data xrt_layer_data::depth_test |
Depth test data.
| enum xrt_layer_composition_flags xrt_layer_data::flags |
Composition flags.
Referenced by can_do_one_projection_layer_fast_path(), do_cs_cylinder_layer(), do_cs_equirect2_layer(), do_cs_projection_layer(), do_cs_quad_layer(), do_cylinder_layer(), do_equirect2_layer(), do_projection_layer(), and do_quad_layer().
| bool xrt_layer_data::flip_y |
Whether the main compositor should flip the direction of y when rendering.
This is actually an input only to the "main" compositor comp_compositor. It is overwritten by the various client implementations of the xrt_compositor interface depending on the conventions of the associated graphics API. Other xrt_compositor_native implementations that are not the main compositor just pass this field along unchanged to the "real" compositor.
| enum xrt_input_name xrt_layer_data::name |
Often XRT_INPUT_GENERIC_HEAD_POSE.
Referenced by ipcproto.common.Arg::__init__(), ipcproto.common.Call::__init__(), bindings.Profile::__init__(), ipcproto.common.Arg::dump(), ipcproto.common.Call::dump(), ipcproto.common.Arg::get_func_argument_in(), ipcproto.common.Arg::get_func_argument_out(), ipcproto.common.Arg::get_struct_field(), ipcproto.common.Call::write_call_decl(), ipcproto.common.Call::write_handler_decl(), ipcproto.common.Call::write_receive_decl(), and ipcproto.common.Call::write_send_decl().
| enum xrt_layer_type xrt_layer_data::type |
Tag for compositor layer type.
Referenced by can_do_one_projection_layer_fast_path(), comp_layer_accum::comp_layer_accum_get_depth_swapchain(), comp_layer::comp_layer_get_depth_swapchain(), comp_render_cs_dispatch(), comp_render_gfx_dispatch(), do_cs_projection_layer(), do_projection_layer(), and sdl_program_plus_render().