@@ -219,6 +219,7 @@ impl RenderContextBuilder {
219219/// reconfiguration with preserved present mode and usage.
220220pub struct RenderContext {
221221 label : String ,
222+ #[ allow( dead_code) ]
222223 instance : instance:: Instance ,
223224 surface : targets:: surface:: WindowSurface ,
224225 gpu : gpu:: Gpu ,
@@ -243,6 +244,11 @@ pub struct RenderContext {
243244pub type ResourceId = usize ;
244245
245246impl RenderContext {
247+ /// Optional label assigned when constructing the context.
248+ pub fn label ( & self ) -> & str {
249+ return self . label . as_str ( ) ;
250+ }
251+
246252 /// Current surface size in pixels.
247253 ///
248254 /// This reflects the most recent configured surface dimensions and is used
@@ -428,25 +434,6 @@ impl RenderContext {
428434 return self . depth_format ;
429435 }
430436
431- pub ( crate ) fn supports_surface_sample_count (
432- & self ,
433- sample_count : u32 ,
434- ) -> bool {
435- return self
436- . gpu
437- . supports_sample_count_for_format ( self . config . format , sample_count) ;
438- }
439-
440- pub ( crate ) fn supports_depth_sample_count (
441- & self ,
442- format : texture:: DepthFormat ,
443- sample_count : u32 ,
444- ) -> bool {
445- return self
446- . gpu
447- . supports_sample_count_for_depth ( format, sample_count) ;
448- }
449-
450437 /// Device limit: maximum bytes that can be bound for a single uniform buffer binding.
451438 pub fn limit_max_uniform_buffer_binding_size ( & self ) -> u64 {
452439 return self . gpu . limit_max_uniform_buffer_binding_size ( ) ;
@@ -519,10 +506,7 @@ impl RenderContext {
519506 targets:: surface:: SurfaceError :: Lost
520507 | targets:: surface:: SurfaceError :: Outdated => {
521508 self . reconfigure_surface ( self . size ) ?;
522- self
523- . surface
524- . acquire_frame ( )
525- . map_err ( |e| RenderError :: Surface ( e) ) ?
509+ self . surface . acquire_frame ( ) . map_err ( RenderError :: Surface ) ?
526510 }
527511 _ => return Err ( RenderError :: Surface ( err) ) ,
528512 } ,
@@ -836,14 +820,14 @@ impl RenderContext {
836820 command_iter : & mut std:: vec:: IntoIter < RenderCommand > ,
837821 rp_encoder : & mut encoder:: RenderPassEncoder < ' _ > ,
838822 initial_viewport : & viewport:: Viewport ,
839- render_pipelines : & Vec < RenderPipeline > ,
840- bind_groups : & Vec < bind:: BindGroup > ,
841- buffers : & Vec < Rc < buffer:: Buffer > > ,
823+ render_pipelines : & [ RenderPipeline ] ,
824+ bind_groups : & [ bind:: BindGroup ] ,
825+ buffers : & [ Rc < buffer:: Buffer > ] ,
842826 min_uniform_buffer_offset_alignment : u32 ,
843827 ) -> Result < ( ) , RenderPassError > {
844828 rp_encoder. set_viewport ( initial_viewport) ;
845829
846- while let Some ( cmd) = command_iter. next ( ) {
830+ for cmd in command_iter. by_ref ( ) {
847831 match cmd {
848832 RenderCommand :: EndRenderPass => return Ok ( ( ) ) ,
849833 RenderCommand :: SetStencilReference { reference } => {
@@ -896,7 +880,7 @@ impl RenderContext {
896880 "Vertex buffer index {buffer} not found for pipeline {pipeline}"
897881 ) )
898882 } ) ?;
899- rp_encoder. set_vertex_buffer ( buffer as u32 , buffer_ref) ;
883+ rp_encoder. set_vertex_buffer ( buffer, buffer_ref) ;
900884 }
901885 RenderCommand :: BindIndexBuffer { buffer, format } => {
902886 let buffer_ref = buffers. get ( buffer) . ok_or_else ( || {
0 commit comments