summary refs log tree commit diff
path: root/gpu_renderer
diff options
context:
space:
mode:
authorDavid Stevens <stevensd@chromium.org>2020-03-23 14:38:34 +0900
committerCommit Bot <commit-bot@chromium.org>2020-03-23 10:56:31 +0000
commit911e21e3925634833cf91ca1dd688c6047dc4b47 (patch)
treed7eb0ce010bbaf92d7e5682ded1959097aa62d23 /gpu_renderer
parentd5c1e968c9454af0da573242a8dc3dcf63dd1820 (diff)
downloadcrosvm-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.rs8
-rw-r--r--gpu_renderer/src/vsnprintf.rs3
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 {