1*bb4ee6a4SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?> 2*bb4ee6a4SAndroid Build Coastguard Worker<protocol name="wp_virtio_gpu_metadata_v1"> 3*bb4ee6a4SAndroid Build Coastguard Worker <copyright> 4*bb4ee6a4SAndroid Build Coastguard Worker Copyright 2021 The Chromium Authors. 5*bb4ee6a4SAndroid Build Coastguard Worker Permission is hereby granted, free of charge, to any person obtaining a 6*bb4ee6a4SAndroid Build Coastguard Worker copy of this software and associated documentation files (the "Software"), 7*bb4ee6a4SAndroid Build Coastguard Worker to deal in the Software without restriction, including without limitation 8*bb4ee6a4SAndroid Build Coastguard Worker the rights to use, copy, modify, merge, publish, distribute, sublicense, 9*bb4ee6a4SAndroid Build Coastguard Worker and/or sell copies of the Software, and to permit persons to whom the 10*bb4ee6a4SAndroid Build Coastguard Worker Software is furnished to do so, subject to the following conditions: 11*bb4ee6a4SAndroid Build Coastguard Worker The above copyright notice and this permission notice (including the next 12*bb4ee6a4SAndroid Build Coastguard Worker paragraph) shall be included in all copies or substantial portions of the 13*bb4ee6a4SAndroid Build Coastguard Worker Software. 14*bb4ee6a4SAndroid Build Coastguard Worker THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*bb4ee6a4SAndroid Build Coastguard Worker IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*bb4ee6a4SAndroid Build Coastguard Worker FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*bb4ee6a4SAndroid Build Coastguard Worker THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18*bb4ee6a4SAndroid Build Coastguard Worker LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19*bb4ee6a4SAndroid Build Coastguard Worker FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20*bb4ee6a4SAndroid Build Coastguard Worker DEALINGS IN THE SOFTWARE. 21*bb4ee6a4SAndroid Build Coastguard Worker </copyright> 22*bb4ee6a4SAndroid Build Coastguard Worker 23*bb4ee6a4SAndroid Build Coastguard Worker <interface name="wp_virtio_gpu_metadata_v1" version="1"> 24*bb4ee6a4SAndroid Build Coastguard Worker <description summary="attach virtio gpu metadata"> 25*bb4ee6a4SAndroid Build Coastguard Worker The global interface which allows attaching virtio-gpu metadata 26*bb4ee6a4SAndroid Build Coastguard Worker to wl_surface objects. 27*bb4ee6a4SAndroid Build Coastguard Worker </description> 28*bb4ee6a4SAndroid Build Coastguard Worker 29*bb4ee6a4SAndroid Build Coastguard Worker <enum name="error"> 30*bb4ee6a4SAndroid Build Coastguard Worker <entry name="surface_metadata_exists" value="0" 31*bb4ee6a4SAndroid Build Coastguard Worker summary="the surface already has a metadata object associated"/> 32*bb4ee6a4SAndroid Build Coastguard Worker </enum> 33*bb4ee6a4SAndroid Build Coastguard Worker 34*bb4ee6a4SAndroid Build Coastguard Worker <request name="get_surface_metadata"> 35*bb4ee6a4SAndroid Build Coastguard Worker <description summary="extend surface interface for attaching metadata"> 36*bb4ee6a4SAndroid Build Coastguard Worker Instantiate an virtio_gpu_surface_metadata_v1 extension for the given 37*bb4ee6a4SAndroid Build Coastguard Worker wl_surface to attach virtio gpu metadata. If the given wl_surface 38*bb4ee6a4SAndroid Build Coastguard Worker already has a surface metadata object associated, the 39*bb4ee6a4SAndroid Build Coastguard Worker surface_metadata_exists protocol error is raised. 40*bb4ee6a4SAndroid Build Coastguard Worker </description> 41*bb4ee6a4SAndroid Build Coastguard Worker <arg name="id" type="new_id" interface="wp_virtio_gpu_surface_metadata_v1" 42*bb4ee6a4SAndroid Build Coastguard Worker summary="the new metadata interface id"/> 43*bb4ee6a4SAndroid Build Coastguard Worker <arg name="surface" type="object" interface="wl_surface" 44*bb4ee6a4SAndroid Build Coastguard Worker summary="the surface"/> 45*bb4ee6a4SAndroid Build Coastguard Worker </request> 46*bb4ee6a4SAndroid Build Coastguard Worker </interface> 47*bb4ee6a4SAndroid Build Coastguard Worker 48*bb4ee6a4SAndroid Build Coastguard Worker <interface name="wp_virtio_gpu_surface_metadata_v1" version="1"> 49*bb4ee6a4SAndroid Build Coastguard Worker <description summary="interface to attach virtio gpu metadata to a wl_surface"> 50*bb4ee6a4SAndroid Build Coastguard Worker An additional interface to a wl_surface object, which allows the 51*bb4ee6a4SAndroid Build Coastguard Worker client to attach additional metadata to the surface. 52*bb4ee6a4SAndroid Build Coastguard Worker 53*bb4ee6a4SAndroid Build Coastguard Worker If the wl_surface associated with the virtio_gpu_surface_metadata_v1 is 54*bb4ee6a4SAndroid Build Coastguard Worker destroyed, all virtio_gpu_surface_metadata_v1 requests except 'destroy' 55*bb4ee6a4SAndroid Build Coastguard Worker raise the protocol error no_surface. 56*bb4ee6a4SAndroid Build Coastguard Worker 57*bb4ee6a4SAndroid Build Coastguard Worker If the virtio_gpu_surface_metadata_v1 object is destroyed, the metadata 58*bb4ee6a4SAndroid Build Coastguard Worker state is removed from the wl_surface. The change will be applied 59*bb4ee6a4SAndroid Build Coastguard Worker on the next wl_surface.commit. 60*bb4ee6a4SAndroid Build Coastguard Worker </description> 61*bb4ee6a4SAndroid Build Coastguard Worker 62*bb4ee6a4SAndroid Build Coastguard Worker <enum name="error"> 63*bb4ee6a4SAndroid Build Coastguard Worker <entry name="no_surface" value="0" 64*bb4ee6a4SAndroid Build Coastguard Worker summary="the wl_surface was destroyed"/> 65*bb4ee6a4SAndroid Build Coastguard Worker </enum> 66*bb4ee6a4SAndroid Build Coastguard Worker 67*bb4ee6a4SAndroid Build Coastguard Worker <request name="set_scanout_id"> 68*bb4ee6a4SAndroid Build Coastguard Worker <description summary="set the virtio gpu scanout id of the surface"> 69*bb4ee6a4SAndroid Build Coastguard Worker Set the virtio gpu scanout id of the associated wl_surface. 70*bb4ee6a4SAndroid Build Coastguard Worker </description> 71*bb4ee6a4SAndroid Build Coastguard Worker <arg name="scanout_id" type="uint" summary="virtio gpu scanout id"/> 72*bb4ee6a4SAndroid Build Coastguard Worker </request> 73*bb4ee6a4SAndroid Build Coastguard Worker </interface> 74*bb4ee6a4SAndroid Build Coastguard Worker 75*bb4ee6a4SAndroid Build Coastguard Worker</protocol> 76