diff options
author | David Stevens <stevensd@chromium.org> | 2020-03-23 14:38:34 +0900 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-23 10:56:31 +0000 |
commit | 911e21e3925634833cf91ca1dd688c6047dc4b47 (patch) | |
tree | d7eb0ce010bbaf92d7e5682ded1959097aa62d23 /gpu_renderer | |
parent | d5c1e968c9454af0da573242a8dc3dcf63dd1820 (diff) | |
download | crosvm-911e21e3925634833cf91ca1dd688c6047dc4b47.tar crosvm-911e21e3925634833cf91ca1dd688c6047dc4b47.tar.gz crosvm-911e21e3925634833cf91ca1dd688c6047dc4b47.tar.bz2 crosvm-911e21e3925634833cf91ca1dd688c6047dc4b47.tar.lz crosvm-911e21e3925634833cf91ca1dd688c6047dc4b47.tar.xz crosvm-911e21e3925634833cf91ca1dd688c6047dc4b47.tar.zst crosvm-911e21e3925634833cf91ca1dd688c6047dc4b47.zip |
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>
Diffstat (limited to 'gpu_renderer')
-rw-r--r-- | gpu_renderer/src/lib.rs | 8 | ||||
-rw-r--r-- | gpu_renderer/src/vsnprintf.rs | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gpu_renderer/src/lib.rs b/gpu_renderer/src/lib.rs index 1c8461c..d75add1 100644 --- a/gpu_renderer/src/lib.rs +++ b/gpu_renderer/src/lib.rs @@ -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, diff --git a/gpu_renderer/src/vsnprintf.rs b/gpu_renderer/src/vsnprintf.rs index 72583c5..ec121ad 100644 --- a/gpu_renderer/src/vsnprintf.rs +++ b/gpu_renderer/src/vsnprintf.rs @@ -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 { |