summary refs log tree commit diff
diff options
context:
space:
mode:
authorGurchetan Singh <gurchetansingh@chromium.org>2019-08-28 16:18:43 -0700
committerCommit Bot <commit-bot@chromium.org>2019-09-20 16:55:27 +0000
commitb7da549c7ba8b883edc405068d3508f3d38c04e0 (patch)
tree1bbb7a4bbaa9708a6116eb517c1ae310f38d6341
parent9628f61e7125bb6ee2ae921756af185d83a9c2aa (diff)
downloadcrosvm-b7da549c7ba8b883edc405068d3508f3d38c04e0.tar
crosvm-b7da549c7ba8b883edc405068d3508f3d38c04e0.tar.gz
crosvm-b7da549c7ba8b883edc405068d3508f3d38c04e0.tar.bz2
crosvm-b7da549c7ba8b883edc405068d3508f3d38c04e0.tar.lz
crosvm-b7da549c7ba8b883edc405068d3508f3d38c04e0.tar.xz
crosvm-b7da549c7ba8b883edc405068d3508f3d38c04e0.tar.zst
crosvm-b7da549c7ba8b883edc405068d3508f3d38c04e0.zip
gpu_renderer: move capset3 out of VMM
In terms of layer and encapsulation, it's better that capset3 is
filled by the host rendering library.  With gbm inside virglrenderer
now, use that instead.

BUG=chromium:924405
TEST=compile

Change-Id: I7eb554074da98ab5d40aa53389124b3fd749474d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1790830
Reviewed-by: Zach Reizner <zachr@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
-rwxr-xr-xgpu_renderer/src/generated/generate.py1
-rw-r--r--gpu_renderer/src/generated/mod.rs1
-rw-r--r--gpu_renderer/src/generated/virtgpu_hw.rs131
-rw-r--r--gpu_renderer/src/lib.rs5
4 files changed, 0 insertions, 138 deletions
diff --git a/gpu_renderer/src/generated/generate.py b/gpu_renderer/src/generated/generate.py
index 1aa4519..4fd4f43 100755
--- a/gpu_renderer/src/generated/generate.py
+++ b/gpu_renderer/src/generated/generate.py
@@ -177,7 +177,6 @@ def main(argv):
     print('#![allow(non_upper_case_globals)]', file=f)
     for module in modules:
       print('pub mod', module[0] + ';', file=f)
-    print('pub mod virtgpu_hw;', file=f)
 
 
 if __name__ == '__main__':
diff --git a/gpu_renderer/src/generated/mod.rs b/gpu_renderer/src/generated/mod.rs
index 40c6f09..3e8bab1 100644
--- a/gpu_renderer/src/generated/mod.rs
+++ b/gpu_renderer/src/generated/mod.rs
@@ -7,4 +7,3 @@ pub mod p_defines;
 pub mod p_format;
 pub mod virgl_protocol;
 pub mod virglrenderer;
-pub mod virtgpu_hw;
diff --git a/gpu_renderer/src/generated/virtgpu_hw.rs b/gpu_renderer/src/generated/virtgpu_hw.rs
deleted file mode 100644
index be62df9..0000000
--- a/gpu_renderer/src/generated/virtgpu_hw.rs
+++ /dev/null
@@ -1,131 +0,0 @@
-/* automatically generated by rust-bindgen */
-
-pub const VIRTGPU_NAME_DWORDS: u32 = 4;
-pub const VIRTGPU_MAX_MEMORY_TYPES: u32 = 8;
-pub const VIRTGPU_MAX_MEMORY_HEAPS: u32 = 8;
-pub type __uint32_t = ::std::os::raw::c_uint;
-pub type __uint64_t = ::std::os::raw::c_ulong;
-pub const VIRTGPU_MEMORY_NONE_BIT: virtgpu_memory_flagbits = 0;
-pub const VIRTGPU_MEMORY_DEVICE_LOCAL_BIT: virtgpu_memory_flagbits = 1;
-pub const VIRTGPU_MEMORY_HOST_VISIBLE_BIT: virtgpu_memory_flagbits = 2;
-pub const VIRTGPU_MEMORY_HOST_COHERENT_BIT: virtgpu_memory_flagbits = 4;
-pub const VIRTGPU_MEMORY_HOST_CACHED_BIT: virtgpu_memory_flagbits = 8;
-pub const VIRTGPU_MEMORY_LAZILY_ALLOCATED_BIT: virtgpu_memory_flagbits = 16;
-pub const VIRTGPU_MEMORY_PROTECTED_BIT: virtgpu_memory_flagbits = 32;
-pub const VIRTGPU_MEMORY_HOST_WRITECOMBINE_BIT: virtgpu_memory_flagbits = 64;
-pub type virtgpu_memory_flagbits = u32;
-pub const VIRTGPU_HEAP_NONE_BIT: virtgpu_heap_flagbits = 0;
-pub const VIRTGPU_HEAP_DEVICE_LOCAL_BIT: virtgpu_heap_flagbits = 1;
-pub const VIRTGPU_HEAP_MULTI_INSTANCE_BIT: virtgpu_heap_flagbits = 2;
-pub type virtgpu_heap_flagbits = u32;
-pub const VIRTGPU_HOST_ALLOCATOR_NONE: virtgpu_host_allocator = 0;
-pub const VIRTGPU_HOST_ALLOCATOR_GPU: virtgpu_host_allocator = 1;
-pub const VIRTGPU_HOST_ALLOCATOR_GBM: virtgpu_host_allocator = 2;
-pub const VIRTGPU_HOST_ALLOCATOR_UDMABUF: virtgpu_host_allocator = 3;
-pub type virtgpu_host_allocator = u32;
-pub const VIRTGPU_STRUCTURE_TYPE_NONE: virtgpu_structure_type_v0 = 0;
-pub const VIRTGPU_STRUCTURE_TYPE_RESOURCE_CREATE_V2: virtgpu_structure_type_v0 = 1;
-pub const VIRTGPU_STRUCTURE_TYPE_RESOURCE_CREATE_V2_RESPONSE: virtgpu_structure_type_v0 = 2;
-pub const VIRTGPU_STRUCTURE_TYPE_MEMORY_CREATE: virtgpu_structure_type_v0 = 4;
-pub type virtgpu_structure_type_v0 = u32;
-pub const VIRTGPU_EXTERNAL_HANDLE_TYPE_NONE: virtgpu_external_handle_flagbits = 0;
-pub const VIRTGPU_EXTERNAL_HANDLE_TYPE_OPAQUE_FD_BIT: virtgpu_external_handle_flagbits = 1;
-pub const VIRTGPU_EXTERNAL_HANDLE_TYPE_HOST_ALLOCATION_BIT: virtgpu_external_handle_flagbits = 128;
-pub const VIRTGPU_EXTERNAL_HANDLE_TYPE_MAPPED_FOREIGN_MEMORY: virtgpu_external_handle_flagbits =
-    256;
-pub const VIRTGPU_EXTERNAL_HANDLE_TYPE_DMA_BUF_BIT: virtgpu_external_handle_flagbits = 512;
-pub type virtgpu_external_handle_flagbits = u32;
-pub const VIRTGPU_EXTERNAL_HANDLE_FEATURE_NONE: virtgpu_external_handle_feature_flagbits = 0;
-pub const VIRTGPU_EXTERNAL_HANDLE_FEATURE_DEDICATED_ONLY_BIT:
-    virtgpu_external_handle_feature_flagbits = 1;
-pub const VIRTGPU_EXTERNAL_HANDLE_FEATURE_EXPORTABLE_BIT: virtgpu_external_handle_feature_flagbits =
-    2;
-pub const VIRTGPU_EXTERNAL_HANDLE_FEATURE_IMPORTABLE_BIT: virtgpu_external_handle_feature_flagbits =
-    4;
-pub type virtgpu_external_handle_feature_flagbits = u32;
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_memory_heap {
-    pub allocator: u32,
-    pub heap_flags: u32,
-    pub size: u64,
-    pub heap_budget: u64,
-    pub heap_usage: u64,
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_memory_type {
-    pub property_flags: u32,
-    pub heap_index: u32,
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_memory_properties {
-    pub memory_type_count: u32,
-    pub memory_heap_count: u32,
-    pub memory_types: [virtgpu_memory_type; 8usize],
-    pub memory_heaps: [virtgpu_memory_heap; 8usize],
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_hdr {
-    pub stype: u32,
-    pub stype_version: u32,
-    pub size: u32,
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_resource_create_v2 {
-    pub hdr: virtgpu_hdr,
-    pub flags: u32,
-    pub type_: u32,
-    pub format: u32,
-    pub width: u32,
-    pub height: u32,
-    pub depth: u32,
-    pub last_level: u32,
-    pub array_size: u32,
-    pub nr_samples: u32,
-    pub tiling: u32,
-    pub usage: u32,
-    pub sharing_mode: u32,
-    pub queue_idx_count: u32,
-    pub layout: u32,
-    pub allocator: u32,
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_resource_create_v2_response {
-    pub hdr: virtgpu_hdr,
-    pub memory_bits: u32,
-    pub offsets: [u32; 4usize],
-    pub strides: [u32; 4usize],
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_external_create_info {
-    pub hdr: virtgpu_hdr,
-    pub handle_types: u32,
-    pub pad: u32,
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_dedicated_allocate_info {
-    pub hdr: virtgpu_hdr,
-    pub buffer: u32,
-    pub image: u32,
-    pub pad: u32,
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_memory_create {
-    pub hdr: virtgpu_hdr,
-    pub host_memory_index: u32,
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Clone)]
-pub struct virtgpu_caps {
-    pub supported_structures_mask_v0: u32,
-    pub drm_driver_name: [u32; 4usize],
-    pub memory_properties: virtgpu_memory_properties,
-}
diff --git a/gpu_renderer/src/lib.rs b/gpu_renderer/src/lib.rs
index 8c42e9f..eae9f8a 100644
--- a/gpu_renderer/src/lib.rs
+++ b/gpu_renderer/src/lib.rs
@@ -29,7 +29,6 @@ use crate::generated::p_format::PIPE_FORMAT_B8G8R8X8_UNORM;
 use crate::generated::virglrenderer::*;
 
 pub use crate::command_buffer::CommandBufferBuilder;
-pub use crate::generated::virtgpu_hw::virtgpu_caps;
 
 /// Arguments used in `Renderer::create_resource`..
 pub type ResourceCreateArgs = virgl_renderer_resource_create_args;
@@ -260,10 +259,6 @@ impl Renderer {
 
     /// Gets the version and size for the given capability set ID.
     pub fn get_cap_set_info(&self, id: u32) -> (u32, u32) {
-        if id == 3 {
-            return (0 as u32, size_of::<virtgpu_caps>() as u32);
-        }
-
         let mut version = 0;
         let mut size = 0;
         // Safe because virglrenderer is initialized by now and properly size stack variables are