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;
|
mod vsnprintf;
|
||||||
|
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
|
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||||
use std::ffi::CString;
|
use std::ffi::CString;
|
||||||
use std::fmt::{self, Display};
|
use std::fmt::{self, Display};
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
@ -33,6 +34,7 @@ use crate::generated::p_format::PIPE_FORMAT_B8G8R8X8_UNORM;
|
||||||
use crate::generated::virglrenderer::*;
|
use crate::generated::virglrenderer::*;
|
||||||
|
|
||||||
pub use crate::command_buffer::CommandBufferBuilder;
|
pub use crate::command_buffer::CommandBufferBuilder;
|
||||||
|
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||||
pub use crate::vsnprintf::vsnprintf;
|
pub use crate::vsnprintf::vsnprintf;
|
||||||
|
|
||||||
/// Arguments used in `Renderer::create_resource`..
|
/// Arguments used in `Renderer::create_resource`..
|
||||||
|
@ -248,7 +250,10 @@ impl Renderer {
|
||||||
fence_state: Rc::clone(&fence_state),
|
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
|
// Safe because a valid cookie and set of callbacks is used and the result is checked for
|
||||||
// error.
|
// error.
|
||||||
|
@ -474,6 +479,7 @@ impl Renderer {
|
||||||
Err(Error::Unsupported)
|
Err(Error::Unsupported)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||||
extern "C" fn debug_callback(
|
extern "C" fn debug_callback(
|
||||||
fmt: *const ::std::os::raw::c_char,
|
fmt: *const ::std::os::raw::c_char,
|
||||||
ap: *mut generated::virglrenderer::__va_list_tag,
|
ap: *mut generated::virglrenderer::__va_list_tag,
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
* -o vsnprintf.rs
|
* -o vsnprintf.rs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
pub fn vsnprintf(
|
pub fn vsnprintf(
|
||||||
__s: *mut ::std::os::raw::c_char,
|
__s: *mut ::std::os::raw::c_char,
|
||||||
|
@ -20,6 +21,8 @@ extern "C" {
|
||||||
__arg: *mut __va_list_tag,
|
__arg: *mut __va_list_tag,
|
||||||
) -> ::std::os::raw::c_int;
|
) -> ::std::os::raw::c_int;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Copy, Clone)]
|
#[derive(Debug, Copy, Clone)]
|
||||||
pub struct __va_list_tag {
|
pub struct __va_list_tag {
|
||||||
|
|
Loading…
Reference in a new issue