@@ -69,6 +69,11 @@ use surfman::SurfaceInfo;
6969use surfman:: SurfaceType ;
7070use surfman_chains:: SwapChains ;
7171use surfman_chains_api:: SwapChainsAPI ;
72+ use webrender_api:: {
73+ units:: DeviceIntSize , DirtyRect , DocumentId , ExternalImageData , ExternalImageId ,
74+ ExternalImageType , ImageData , ImageDescriptor , ImageDescriptorFlags , ImageFormat , ImageKey ,
75+ RenderApi , RenderApiSender , TextureTarget , Transaction ,
76+ } ;
7277use webrender_traits:: { WebrenderExternalImageRegistry , WebrenderImageHandlerType } ;
7378use webxr:: SurfmanGL as WebXRSurfman ;
7479use webxr_api:: ContextId as WebXRContextId ;
@@ -229,9 +234,9 @@ impl Default for GLState {
229234pub ( crate ) struct WebGLThread {
230235 /// The GPU device.
231236 device : Device ,
232- /// Channel used to generate/update or delete `webrender_api:: ImageKey`s.
233- webrender_api : webrender_api :: RenderApi ,
234- webrender_doc : webrender_api :: DocumentId ,
237+ /// Channel used to generate/update or delete `ImageKey`s.
238+ webrender_api : RenderApi ,
239+ webrender_doc : DocumentId ,
235240 /// Map of live WebGLContexts.
236241 contexts : FnvHashMap < WebGLContextId , GLContextData > ,
237242 /// Cached information for WebGLContexts.
@@ -255,8 +260,8 @@ pub(crate) struct WebGLThread {
255260
256261/// The data required to initialize an instance of the WebGLThread type.
257262pub ( crate ) struct WebGLThreadInit {
258- pub webrender_api_sender : webrender_api :: RenderApiSender ,
259- pub webrender_doc : webrender_api :: DocumentId ,
263+ pub webrender_api_sender : RenderApiSender ,
264+ pub webrender_doc : DocumentId ,
260265 pub external_images : Arc < Mutex < WebrenderExternalImageRegistry > > ,
261266 pub sender : WebGLSender < WebGLMsg > ,
262267 pub receiver : WebGLReceiver < WebGLMsg > ,
@@ -744,7 +749,7 @@ impl WebGLThread {
744749 fn remove_webgl_context ( & mut self , context_id : WebGLContextId ) {
745750 // Release webrender image keys.
746751 if let Some ( info) = self . cached_context_info . remove ( & context_id) {
747- let mut txn = webrender_api :: Transaction :: new ( ) ;
752+ let mut txn = Transaction :: new ( ) ;
748753 txn. delete_image ( info. image_key ) ;
749754 self . webrender_api . send_transaction ( self . webrender_doc , txn)
750755 }
@@ -923,66 +928,63 @@ impl WebGLThread {
923928
924929 /// Creates a `webrender_api::ImageKey` that uses shared textures.
925930 fn create_wr_external_image (
926- webrender_api : & mut webrender_api :: RenderApi ,
927- webrender_doc : webrender_api :: DocumentId ,
931+ webrender_api : & mut RenderApi ,
932+ webrender_doc : DocumentId ,
928933 size : Size2D < i32 > ,
929934 alpha : bool ,
930935 context_id : WebGLContextId ,
931- target : webrender_api :: TextureTarget ,
932- ) -> webrender_api :: ImageKey {
936+ target : TextureTarget ,
937+ ) -> ImageKey {
933938 let descriptor = Self :: image_descriptor ( size, alpha) ;
934939 let data = Self :: external_image_data ( context_id, target) ;
935940
936941 let image_key = webrender_api. generate_image_key ( ) ;
937- let mut txn = webrender_api :: Transaction :: new ( ) ;
942+ let mut txn = Transaction :: new ( ) ;
938943 txn. add_image ( image_key, descriptor, data, None ) ;
939944 webrender_api. send_transaction ( webrender_doc, txn) ;
940945
941946 image_key
942947 }
943948
944- /// Updates a `webrender_api:: ImageKey` that uses shared textures.
949+ /// Updates a `ImageKey` that uses shared textures.
945950 fn update_wr_external_image (
946- webrender_api : & mut webrender_api :: RenderApi ,
947- webrender_doc : webrender_api :: DocumentId ,
951+ webrender_api : & mut RenderApi ,
952+ webrender_doc : DocumentId ,
948953 size : Size2D < i32 > ,
949954 alpha : bool ,
950955 context_id : WebGLContextId ,
951- image_key : webrender_api :: ImageKey ,
952- target : webrender_api :: TextureTarget ,
956+ image_key : ImageKey ,
957+ target : TextureTarget ,
953958 ) {
954959 let descriptor = Self :: image_descriptor ( size, alpha) ;
955960 let data = Self :: external_image_data ( context_id, target) ;
956961
957- let mut txn = webrender_api :: Transaction :: new ( ) ;
958- txn. update_image ( image_key, descriptor, data, & webrender_api :: DirtyRect :: All ) ;
962+ let mut txn = Transaction :: new ( ) ;
963+ txn. update_image ( image_key, descriptor, data, & DirtyRect :: All ) ;
959964 webrender_api. send_transaction ( webrender_doc, txn) ;
960965 }
961966
962- /// Helper function to create a `webrender_api:: ImageDescriptor`.
963- fn image_descriptor ( size : Size2D < i32 > , alpha : bool ) -> webrender_api :: ImageDescriptor {
964- let mut flags = webrender_api :: ImageDescriptorFlags :: empty ( ) ;
965- flags. set ( webrender_api :: ImageDescriptorFlags :: IS_OPAQUE , !alpha) ;
966- webrender_api :: ImageDescriptor {
967- size : webrender_api :: units :: DeviceIntSize :: new ( size. width , size. height ) ,
967+ /// Helper function to create a `ImageDescriptor`.
968+ fn image_descriptor ( size : Size2D < i32 > , alpha : bool ) -> ImageDescriptor {
969+ let mut flags = ImageDescriptorFlags :: empty ( ) ;
970+ flags. set ( ImageDescriptorFlags :: IS_OPAQUE , !alpha) ;
971+ ImageDescriptor {
972+ size : DeviceIntSize :: new ( size. width , size. height ) ,
968973 stride : None ,
969- format : webrender_api :: ImageFormat :: BGRA8 ,
974+ format : ImageFormat :: BGRA8 ,
970975 offset : 0 ,
971976 flags,
972977 }
973978 }
974979
975- /// Helper function to create a `webrender_api::ImageData::External` instance.
976- fn external_image_data (
977- context_id : WebGLContextId ,
978- target : webrender_api:: TextureTarget ,
979- ) -> webrender_api:: ImageData {
980- let data = webrender_api:: ExternalImageData {
981- id : webrender_api:: ExternalImageId ( context_id. 0 as u64 ) ,
980+ /// Helper function to create a `ImageData::External` instance.
981+ fn external_image_data ( context_id : WebGLContextId , target : TextureTarget ) -> ImageData {
982+ let data = ExternalImageData {
983+ id : ExternalImageId ( context_id. 0 as u64 ) ,
982984 channel_index : 0 ,
983- image_type : webrender_api :: ExternalImageType :: TextureHandle ( target) ,
985+ image_type : ExternalImageType :: TextureHandle ( target) ,
984986 } ;
985- webrender_api :: ImageData :: External ( data)
987+ ImageData :: External ( data)
986988 }
987989
988990 /// Gets the GLSL Version supported by a GLContext.
@@ -1006,14 +1008,14 @@ impl WebGLThread {
10061008/// Helper struct to store cached WebGLContext information.
10071009struct WebGLContextInfo {
10081010 /// Currently used WebRender image key.
1009- image_key : webrender_api :: ImageKey ,
1011+ image_key : ImageKey ,
10101012}
10111013
10121014// TODO(pcwalton): Add `GL_TEXTURE_EXTERNAL_OES`?
1013- fn current_wr_texture_target ( device : & Device ) -> webrender_api :: TextureTarget {
1015+ fn current_wr_texture_target ( device : & Device ) -> TextureTarget {
10141016 match device. surface_gl_texture_target ( ) {
1015- gl:: TEXTURE_RECTANGLE => webrender_api :: TextureTarget :: Rect ,
1016- _ => webrender_api :: TextureTarget :: Default ,
1017+ gl:: TEXTURE_RECTANGLE => TextureTarget :: Rect ,
1018+ _ => TextureTarget :: Default ,
10171019 }
10181020}
10191021
0 commit comments