mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-02-16 17:02:32 +00:00
Merge pull request #1987 from cwfitzgerald/fix-renderdoc-captures-master
This commit is contained in:
commit
075b52ebfa
@ -1041,9 +1041,8 @@ impl crate::Device<super::Api> for super::Device {
|
||||
unsafe fn start_capture(&self) -> bool {
|
||||
#[cfg(feature = "renderdoc")]
|
||||
{
|
||||
//Note: it doesn't look like the device pointer is used by RD
|
||||
self.render_doc
|
||||
.start_frame_capture(ptr::null_mut(), ptr::null_mut())
|
||||
.start_frame_capture(self.shared.context.egl_context.as_ptr(), ptr::null_mut())
|
||||
}
|
||||
#[cfg(not(feature = "renderdoc"))]
|
||||
false
|
||||
|
@ -236,7 +236,7 @@ pub struct AdapterContext {
|
||||
glow_context: Mutex<glow::Context>,
|
||||
egl: Arc<egl::DynamicInstance<egl::EGL1_4>>,
|
||||
egl_display: egl::Display,
|
||||
egl_context: egl::Context,
|
||||
pub(super) egl_context: egl::Context,
|
||||
egl_pbuffer: Option<egl::Surface>,
|
||||
}
|
||||
|
||||
|
@ -1598,20 +1598,27 @@ impl crate::Device<super::Api> for super::Device {
|
||||
unsafe fn start_capture(&self) -> bool {
|
||||
#[cfg(feature = "renderdoc")]
|
||||
{
|
||||
self.render_doc.start_frame_capture(
|
||||
ash::vk::Handle::as_raw(self.shared.raw.handle()) as *mut _,
|
||||
ptr::null_mut(),
|
||||
)
|
||||
// Renderdoc requires us to give us the pointer that vkInstance _points to_.
|
||||
let raw_vk_instance =
|
||||
ash::vk::Handle::as_raw(self.shared.instance.raw.handle()) as *mut *mut _;
|
||||
let raw_vk_instance_dispatch_table = *raw_vk_instance;
|
||||
self.render_doc
|
||||
.start_frame_capture(raw_vk_instance_dispatch_table, ptr::null_mut())
|
||||
}
|
||||
#[cfg(not(feature = "renderdoc"))]
|
||||
false
|
||||
}
|
||||
unsafe fn stop_capture(&self) {
|
||||
#[cfg(feature = "renderdoc")]
|
||||
self.render_doc.end_frame_capture(
|
||||
ash::vk::Handle::as_raw(self.shared.raw.handle()) as *mut _,
|
||||
ptr::null_mut(),
|
||||
)
|
||||
{
|
||||
// Renderdoc requires us to give us the pointer that vkInstance _points to_.
|
||||
let raw_vk_instance =
|
||||
ash::vk::Handle::as_raw(self.shared.instance.raw.handle()) as *mut *mut _;
|
||||
let raw_vk_instance_dispatch_table = *raw_vk_instance;
|
||||
|
||||
self.render_doc
|
||||
.end_frame_capture(raw_vk_instance_dispatch_table, ptr::null_mut())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user