mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Small fixes to gpu profiling
This commit is contained in:
parent
9d076d3a89
commit
0d7e96e849
@ -160,7 +160,7 @@ impl Renderer {
|
|||||||
// TODO: make optional based on enabling profiling
|
// TODO: make optional based on enabling profiling
|
||||||
// NOTE: requires recreating the device/queue is this setting changes
|
// NOTE: requires recreating the device/queue is this setting changes
|
||||||
// alternatively it could be a compile time feature toggle
|
// alternatively it could be a compile time feature toggle
|
||||||
| super::scope::required_features(),
|
| wgpu_profiler::GpuProfiler::REQUIRED_WGPU_FEATURES,
|
||||||
limits,
|
limits,
|
||||||
},
|
},
|
||||||
None,
|
None,
|
||||||
@ -330,7 +330,7 @@ impl Renderer {
|
|||||||
&depth_sampler,
|
&depth_sampler,
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut profiler = wgpu_profiler::GpuProfiler::new(4, queue.get_timestamp_period());
|
let mut profiler = wgpu_profiler::GpuProfiler::new(1, queue.get_timestamp_period());
|
||||||
profiler.enable_timer = mode.profiler_enabled;
|
profiler.enable_timer = mode.profiler_enabled;
|
||||||
profiler.enable_debug_marker = mode.profiler_enabled;
|
profiler.enable_debug_marker = mode.profiler_enabled;
|
||||||
|
|
||||||
@ -1042,8 +1042,10 @@ impl Renderer {
|
|||||||
//pub fn create_screenshot(&mut self) -> Result<image::DynamicImage,
|
//pub fn create_screenshot(&mut self) -> Result<image::DynamicImage,
|
||||||
// RenderError> {
|
// RenderError> {
|
||||||
pub fn create_screenshot(&mut self) {
|
pub fn create_screenshot(&mut self) {
|
||||||
// TODO: check if enabled
|
// TODO: check if profiler enabled
|
||||||
// TODO: save alongside a screenshot
|
// TODO: save alongside a screenshot
|
||||||
|
// Ensure timestamp query data buffers are mapped
|
||||||
|
self.device.poll(wgpu::Maintain::Wait);
|
||||||
// Take profiler snapshot
|
// Take profiler snapshot
|
||||||
let profiling_data = if let Some(data) = self.profiler.process_finished_frame() {
|
let profiling_data = if let Some(data) = self.profiler.process_finished_frame() {
|
||||||
data
|
data
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
use wgpu_profiler::{GpuProfiler, ProfilerCommandRecorder};
|
use wgpu_profiler::{GpuProfiler, ProfilerCommandRecorder};
|
||||||
|
|
||||||
pub fn required_features() -> wgpu::Features { wgpu::Features::TIMESTAMP_QUERY }
|
|
||||||
|
|
||||||
pub struct Scope<'a, W: ProfilerCommandRecorder> {
|
pub struct Scope<'a, W: ProfilerCommandRecorder> {
|
||||||
profiler: &'a mut GpuProfiler,
|
profiler: &'a mut GpuProfiler,
|
||||||
wgpu_thing: &'a mut W,
|
wgpu_thing: &'a mut W,
|
||||||
|
Loading…
Reference in New Issue
Block a user