mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-11 12:35:26 +00:00
gpu_renderer: disable debug callback on arm
The vararg bindings are different for different architectures. Limit support to x86 and x86_64, since those are the bindings that are checked in. BUG=chromium:1063640 TEST=compiles Change-Id: Ic69753959684f55855fd7a8577a422638cd05f8b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2114633 Reviewed-by: Lepton Wu <lepton@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> Commit-Queue: David Stevens <stevensd@chromium.org> Tested-by: David Stevens <stevensd@chromium.org>
This commit is contained in:
parent
d5c1e968c9
commit
911e21e392
2 changed files with 10 additions and 1 deletions
|
@ -9,6 +9,7 @@ mod generated;
|
|||
mod vsnprintf;
|
||||
|
||||
use std::cell::RefCell;
|
||||
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||
use std::ffi::CString;
|
||||
use std::fmt::{self, Display};
|
||||
use std::fs::File;
|
||||
|
@ -33,6 +34,7 @@ use crate::generated::p_format::PIPE_FORMAT_B8G8R8X8_UNORM;
|
|||
use crate::generated::virglrenderer::*;
|
||||
|
||||
pub use crate::command_buffer::CommandBufferBuilder;
|
||||
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||
pub use crate::vsnprintf::vsnprintf;
|
||||
|
||||
/// Arguments used in `Renderer::create_resource`..
|
||||
|
@ -248,7 +250,10 @@ impl Renderer {
|
|||
fence_state: Rc::clone(&fence_state),
|
||||
}));
|
||||
|
||||
unsafe { virgl_set_debug_callback(Some(Renderer::debug_callback)) };
|
||||
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||
unsafe {
|
||||
virgl_set_debug_callback(Some(Renderer::debug_callback))
|
||||
};
|
||||
|
||||
// Safe because a valid cookie and set of callbacks is used and the result is checked for
|
||||
// error.
|
||||
|
@ -474,6 +479,7 @@ impl Renderer {
|
|||
Err(Error::Unsupported)
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||
extern "C" fn debug_callback(
|
||||
fmt: *const ::std::os::raw::c_char,
|
||||
ap: *mut generated::virglrenderer::__va_list_tag,
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
* -o vsnprintf.rs
|
||||
*/
|
||||
|
||||
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||
extern "C" {
|
||||
pub fn vsnprintf(
|
||||
__s: *mut ::std::os::raw::c_char,
|
||||
|
@ -20,6 +21,8 @@ extern "C" {
|
|||
__arg: *mut __va_list_tag,
|
||||
) -> ::std::os::raw::c_int;
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct __va_list_tag {
|
||||
|
|
Loading…
Reference in a new issue