use crate::metal::{RafxRenderCommandEncoderMetal, RafxRenderpassMetal, RafxTextureMetal};
use crate::{RafxCommandBufferDef, RafxResult};
#[derive(Debug)]
pub struct RafxCommandBufferMetal {
command_buffer: Option<metal::CommandBuffer>, }
impl RafxCommandBufferMetal {
pub fn new(
_command_queue: &metal::CommandQueue,
_command_buffer_def: &RafxCommandBufferDef,
) -> Self {
RafxCommandBufferMetal {
command_buffer: None,
}
}
pub fn begin(&self) -> RafxResult<()> {
Ok(())
}
pub fn end(&self) -> RafxResult<()> {
Ok(())
}
pub fn begin_renderpass(
&self,
renderpass: &RafxRenderpassMetal,
attachments: &[&RafxTextureMetal],
) -> RafxRenderCommandEncoderMetal {
RafxRenderCommandEncoderMetal::new(
self.command_buffer.as_ref().unwrap(),
&renderpass.def,
attachments,
)
}
}