1 type GpuState = 2 | Draw command_buffer : VkCommandBuffer 3 pipeline : Pipeline 4 vertex_buffer : VertexBuffer 5 index_buffer : IndexBuffer 6 index_count : u32 7 index_offset : u32 8 descriptor_set_states : [DescriptorSetState; Renderer.max_uniform_sets] 9 pipeline_push_constant_stages : ShaderStageFlags 10 11 | Compute command_buffer : VkCommandBuffer 12 shader : ComputeShader 13 pipeline : ComputePipeline 14 local_group_size : [u32; 3] 15 descriptor_set_states : [DescriptorSetState; Renderer.max_uniform_sets] 16 images_back_to_read : mut Set<Image> 17 pipeline_push_constant_stages : ShaderStageFlags 18 | None 19 20 def draw = case self of 21 is GpuState/Draw -> self 22 else -> fail 23 24 def compute = case self of 25 is GpuState/Compute -> self 26 else -> fail 27 28 def draw_mut @mut = case self of 29 is GpuState/Draw -> self 30 else -> fail 31 32 def compute_mut @mut = case self of 33 is GpuState/Compute -> self 34 else -> fail 35 36 def is_none = self == None 37