Apply labels to wgpu resources for improved debugging/profiling (#2912)

# Objective

$subj. All of these names show up in external tools when debugging/profiling frames, which is super useful.
This commit is contained in:
Robert Swain 2021-10-03 19:04:37 +00:00
parent 44ed7e32d8
commit 0eb11df394
5 changed files with 26 additions and 26 deletions

View File

@ -235,7 +235,7 @@ pub fn prepare_core_views_system(
let cached_texture = texture_cache.get( let cached_texture = texture_cache.get(
&render_device, &render_device,
TextureDescriptor { TextureDescriptor {
label: None, label: Some("view_depth_texture"),
size: Extent3d { size: Extent3d {
depth_or_array_layers: 1, depth_or_array_layers: 1,
width: view.width as u32, width: view.width as u32,

View File

@ -221,7 +221,7 @@ impl RenderAsset for StandardMaterial {
let value_std140 = value.as_std140(); let value_std140 = value.as_std140();
let buffer = render_device.create_buffer_with_data(&BufferInitDescriptor { let buffer = render_device.create_buffer_with_data(&BufferInitDescriptor {
label: None, label: Some("pbr_standard_material_uniform_buffer"),
usage: BufferUsage::UNIFORM | BufferUsage::COPY_DST, usage: BufferUsage::UNIFORM | BufferUsage::COPY_DST,
contents: value_std140.as_bytes(), contents: value_std140.as_bytes(),
}); });
@ -264,7 +264,7 @@ impl RenderAsset for StandardMaterial {
resource: BindingResource::Sampler(occlusion_sampler), resource: BindingResource::Sampler(occlusion_sampler),
}, },
], ],
label: None, label: Some("pbr_standard_material_bind_group"),
layout: &pbr_shaders.material_layout, layout: &pbr_shaders.material_layout,
}); });

View File

@ -133,17 +133,17 @@ impl FromWorld for ShadowShaders {
count: None, count: None,
}, },
], ],
label: None, label: Some("shadow_view_layout"),
}); });
let pipeline_layout = render_device.create_pipeline_layout(&PipelineLayoutDescriptor { let pipeline_layout = render_device.create_pipeline_layout(&PipelineLayoutDescriptor {
label: None, label: Some("shadow_pipeline_layout"),
push_constant_ranges: &[], push_constant_ranges: &[],
bind_group_layouts: &[&view_layout, &pbr_shaders.mesh_layout], bind_group_layouts: &[&view_layout, &pbr_shaders.mesh_layout],
}); });
let pipeline = render_device.create_render_pipeline(&RenderPipelineDescriptor { let pipeline = render_device.create_render_pipeline(&RenderPipelineDescriptor {
label: None, label: Some("shadow_pipeline"),
vertex: VertexState { vertex: VertexState {
buffers: &[VertexBufferLayout { buffers: &[VertexBufferLayout {
array_stride: 32, array_stride: 32,
@ -412,7 +412,7 @@ pub fn prepare_lights(
dimension: TextureDimension::D2, dimension: TextureDimension::D2,
format: SHADOW_FORMAT, format: SHADOW_FORMAT,
usage: TextureUsage::RENDER_ATTACHMENT | TextureUsage::SAMPLED, usage: TextureUsage::RENDER_ATTACHMENT | TextureUsage::SAMPLED,
label: None, label: Some("point_light_shadow_map_texture"),
}, },
); );
let directional_light_depth_texture = texture_cache.get( let directional_light_depth_texture = texture_cache.get(
@ -428,7 +428,7 @@ pub fn prepare_lights(
dimension: TextureDimension::D2, dimension: TextureDimension::D2,
format: SHADOW_FORMAT, format: SHADOW_FORMAT,
usage: TextureUsage::RENDER_ATTACHMENT | TextureUsage::SAMPLED, usage: TextureUsage::RENDER_ATTACHMENT | TextureUsage::SAMPLED,
label: None, label: Some("directional_light_shadow_map_texture"),
}, },
); );
let mut view_lights = Vec::new(); let mut view_lights = Vec::new();
@ -459,7 +459,7 @@ pub fn prepare_lights(
point_light_depth_texture point_light_depth_texture
.texture .texture
.create_view(&TextureViewDescriptor { .create_view(&TextureViewDescriptor {
label: None, label: Some("point_light_shadow_map_texture_view"),
format: None, format: None,
dimension: Some(TextureViewDimension::D2), dimension: Some(TextureViewDimension::D2),
aspect: TextureAspect::All, aspect: TextureAspect::All,
@ -549,7 +549,7 @@ pub fn prepare_lights(
directional_light_depth_texture directional_light_depth_texture
.texture .texture
.create_view(&TextureViewDescriptor { .create_view(&TextureViewDescriptor {
label: None, label: Some("directional_light_shadow_map_texture_view"),
format: None, format: None,
dimension: Some(TextureViewDimension::D2), dimension: Some(TextureViewDimension::D2),
aspect: TextureAspect::All, aspect: TextureAspect::All,
@ -581,7 +581,7 @@ pub fn prepare_lights(
point_light_depth_texture point_light_depth_texture
.texture .texture
.create_view(&TextureViewDescriptor { .create_view(&TextureViewDescriptor {
label: None, label: Some("point_light_shadow_map_array_texture_view"),
format: None, format: None,
dimension: Some(TextureViewDimension::CubeArray), dimension: Some(TextureViewDimension::CubeArray),
aspect: TextureAspect::All, aspect: TextureAspect::All,
@ -593,7 +593,7 @@ pub fn prepare_lights(
let directional_light_depth_texture_view = directional_light_depth_texture let directional_light_depth_texture_view = directional_light_depth_texture
.texture .texture
.create_view(&TextureViewDescriptor { .create_view(&TextureViewDescriptor {
label: None, label: Some("directional_light_shadow_map_array_texture_view"),
format: None, format: None,
dimension: Some(TextureViewDimension::D2Array), dimension: Some(TextureViewDimension::D2Array),
aspect: TextureAspect::All, aspect: TextureAspect::All,
@ -629,7 +629,7 @@ pub fn queue_shadow_view_bind_group(
binding: 0, binding: 0,
resource: view_binding, resource: view_binding,
}], }],
label: None, label: Some("shadow_view_bind_group"),
layout: &shadow_shaders.view_layout, layout: &shadow_shaders.view_layout,
})); }));
} }

View File

@ -202,7 +202,7 @@ impl FromWorld for PbrShaders {
count: None, count: None,
}, },
], ],
label: None, label: Some("pbr_view_layout"),
}); });
let material_layout = render_device.create_bind_group_layout(&BindGroupLayoutDescriptor { let material_layout = render_device.create_bind_group_layout(&BindGroupLayoutDescriptor {
@ -304,7 +304,7 @@ impl FromWorld for PbrShaders {
count: None, count: None,
}, },
], ],
label: None, label: Some("pbr_material_layout"),
}); });
let mesh_layout = render_device.create_bind_group_layout(&BindGroupLayoutDescriptor { let mesh_layout = render_device.create_bind_group_layout(&BindGroupLayoutDescriptor {
@ -320,17 +320,17 @@ impl FromWorld for PbrShaders {
}, },
count: None, count: None,
}], }],
label: None, label: Some("pbr_mesh_layout"),
}); });
let pipeline_layout = render_device.create_pipeline_layout(&PipelineLayoutDescriptor { let pipeline_layout = render_device.create_pipeline_layout(&PipelineLayoutDescriptor {
label: None, label: Some("pbr_pipeline_layout"),
push_constant_ranges: &[], push_constant_ranges: &[],
bind_group_layouts: &[&view_layout, &material_layout, &mesh_layout], bind_group_layouts: &[&view_layout, &material_layout, &mesh_layout],
}); });
let pipeline = render_device.create_render_pipeline(&RenderPipelineDescriptor { let pipeline = render_device.create_render_pipeline(&RenderPipelineDescriptor {
label: None, label: Some("pbr_pipeline"),
vertex: VertexState { vertex: VertexState {
buffers: &[VertexBufferLayout { buffers: &[VertexBufferLayout {
array_stride: 32, array_stride: 32,
@ -476,7 +476,7 @@ pub fn queue_transform_bind_group(
binding: 0, binding: 0,
resource: binding, resource: binding,
}], }],
label: None, label: Some("transform_bind_group"),
layout: &pbr_shaders.mesh_layout, layout: &pbr_shaders.mesh_layout,
}), }),
}); });
@ -546,7 +546,7 @@ pub fn queue_meshes(
), ),
}, },
], ],
label: None, label: Some("pbr_view_bind_group"),
layout: &pbr_shaders.view_layout, layout: &pbr_shaders.view_layout,
}); });

View File

@ -50,7 +50,7 @@ impl FromWorld for SpriteShaders {
}, },
count: None, count: None,
}], }],
label: None, label: Some("sprite_view_layout"),
}); });
let material_layout = render_device.create_bind_group_layout(&BindGroupLayoutDescriptor { let material_layout = render_device.create_bind_group_layout(&BindGroupLayoutDescriptor {
@ -75,17 +75,17 @@ impl FromWorld for SpriteShaders {
count: None, count: None,
}, },
], ],
label: None, label: Some("sprite_material_layout"),
}); });
let pipeline_layout = render_device.create_pipeline_layout(&PipelineLayoutDescriptor { let pipeline_layout = render_device.create_pipeline_layout(&PipelineLayoutDescriptor {
label: None, label: Some("sprite_pipeline_layout"),
push_constant_ranges: &[], push_constant_ranges: &[],
bind_group_layouts: &[&view_layout, &material_layout], bind_group_layouts: &[&view_layout, &material_layout],
}); });
let pipeline = render_device.create_render_pipeline(&RenderPipelineDescriptor { let pipeline = render_device.create_render_pipeline(&RenderPipelineDescriptor {
label: None, label: Some("sprite_pipeline"),
depth_stencil: None, depth_stencil: None,
vertex: VertexState { vertex: VertexState {
buffers: &[VertexBufferLayout { buffers: &[VertexBufferLayout {
@ -339,7 +339,7 @@ pub fn queue_sprites(
binding: 0, binding: 0,
resource: view_binding, resource: view_binding,
}], }],
label: None, label: Some("sprite_view_bind_group"),
layout: &sprite_shaders.view_layout, layout: &sprite_shaders.view_layout,
})); }));
let draw_sprite_function = draw_functions.read().get_id::<DrawSprite>().unwrap(); let draw_sprite_function = draw_functions.read().get_id::<DrawSprite>().unwrap();
@ -361,7 +361,7 @@ pub fn queue_sprites(
resource: BindingResource::Sampler(&gpu_image.sampler), resource: BindingResource::Sampler(&gpu_image.sampler),
}, },
], ],
label: None, label: Some("sprite_material_bind_group"),
layout: &sprite_shaders.material_layout, layout: &sprite_shaders.material_layout,
}) })
}); });