···720720721721/*!
722722 * Each rendering (@ref render_gfx) render to one or more targets
723723- * (@ref render_gfx_target_resources), each target can have one or more
724724- * views (@ref render_gfx_view), this struct holds all the vulkan resources
725725- * that is specific to the target.
726726- *
727727- * Technically the framebuffer could be moved out of this struct and all of this
728728- * state be turned into a CSO object that depends only only the format and
729729- * external status of the target, but is combined to reduce the number of
730730- * objects needed to render.
723723+ * (@ref render_gfx_target_resources), the target points to one render pass and
724724+ * it's pipelines (@ref render_gfx_render_pass). It is up to the code using
725725+ * these to do reuse of render passes and ensure they match.
731726 */
732727struct render_gfx_target_resources
733728{
···772767 */
773768774769/*!
775775- * Each rendering (@ref render_gfx) render to one or more targets
776776- * (@ref render_gfx_target_resources), each target can have one or more
777777- * views (@ref render_gfx_view), this struct holds all the vulkan resources
778778- * that is specific to the view.
779779- */
780780-struct render_gfx_view
781781-{
782782- struct
783783- {
784784- VkDescriptorSet descriptor_set;
785785- } mesh;
786786-};
787787-788788-/*!
789770 * A rendering is used to create command buffers needed to do one frame of
790771 * compositor rendering, it holds onto resources used by the command buffer.
791772 */
···799780800781 //! The current target we are rendering too, can change during command building.
801782 struct render_gfx_target_resources *rtr;
802802-803803- //! Holds per view data.
804804- struct render_gfx_view views[2];
805805-806806- //! The current view we are rendering to.
807807- uint32_t current_view;
808783};
809784810785/*!