zed main
telemetry.rs metal_renderer.rs settings.json -/.config/zed
crates/gpui/src/platform/mac/metal_renderer.rs impl MetalRenderer pub fn draw
367
368
369
370
371
3
log:: info! (
"increased instance buffer size to {}",
instance_buffer_pool.buffer_size
);
Thorsten Ball, 3 months ago
372
373
374
}
375
376 fn draw_primitives(
377 &mut self,
378 scene: &Scene,
379 instance_buffer: &mut InstanceBuffer,
380 drawable: &metal:: MetalDrawableRef,
381 viewport_size: Size<DevicePixels>,
382 ) → Result<metal:: CommandBuffer> {
383 let command_queue self.command_queue.clone();
384 let command_buffer command_queue.new_command_buffer();
385 let mut instance_offset = 0;
386
387 let Some (path_tiles) = self.rasterize_paths(
388 scene.paths(),
389 instance_buffer,
390 &mut instance_offset,
391 command_buffer,
392 ) else {
393 return Err(anyhow! ("failed to rasterize {} paths", scene.paths().len()));
394 };
395
396 let render_pass_descriptor metal:: RenderPass Descriptor:: new();
397 let color_attachment render_pass_descriptor
398 .color_attachments()
399 .object_at(0)
400 .unwrap();
401
402 color_attachment.set_texture (Some (drawable.texture()));
403 color attachment set load action(metal:: MTL LoadAction:: Clear)
New Context
QIS New Context
Claude 3.5 Sonnet 2.4k/200k
You
In Default
Explain what the 'draw_primitives'
function is doing:
Send
371:18 Rust
Explanation
The image shows code written in Rust within the Zed editor. The code is part of the `metal_renderer.rs` file and includes a function called `draw_primitives`. The code involves drawing primitives using Metal, Apple's graphics framework. The user is prompting a language model about what the draw_primitives function is doing.