···11+Make `xrt_system_compositor_info::supported_blend_modes` an array with an adjacent count field.
+7-1
src/xrt/include/xrt/xrt_compositor.h
···15481548 /*!
15491549 * Blend modes supported by the system (the combination of the
15501550 * compositor and the HMD capabilities), never changes.
15511551+ *
15521552+ * In preference order. Based on the modes reported by the device,
15531553+ * but the compositor has a chance to modify this.
15511554 */
15521552- enum xrt_blend_mode supported_blend_modes;
15551555+ enum xrt_blend_mode supported_blend_modes[XRT_BLEND_MODE_MAX_ENUM];
15561556+15571557+ //! Number of meaningful elements in xrt_system_compositor_info::supported_blend_modes
15581558+ uint8_t num_supported_blend_modes;
1553155915541560 //! The vk device as used by the compositor, never changes.
15551561 uint8_t compositor_vk_deviceUUID[XRT_GPU_UUID_SIZE];
+4-1
src/xrt/include/xrt/xrt_defines.h
···3333};
34343535/*!
3636- * Blend mode that the device supports, exact mirror of XrEnvironmentBlendMode
3636+ * Blend mode that the device supports, exact mirror of XrEnvironmentBlendMode.
3737+ *
3838+ * This is not a bitmask because we want to be able to express a preference order
3939+ * that may vary by device, etc.
3740 *
3841 * @ingroup xrt_iface
3942 */