@@ -31,11 +31,6 @@ impl MappedGraphicsResource {
3131 }
3232
3333 pub fn get_mapped_array ( & mut self ) -> Result < cuda_sys:: CUarray , cuda_result:: DriverError > {
34- assert ! (
35- !self . resource. is_null( ) ,
36- "do not call GraphicsResource::get_mapped_array if no resource is actually registered"
37- ) ;
38-
3934 let mut array: cuda_sys:: CUarray = std:: ptr:: null_mut ( ) ;
4035
4136 unsafe {
@@ -50,11 +45,6 @@ impl MappedGraphicsResource {
5045 pub fn get_device_pointer (
5146 & mut self ,
5247 ) -> Result < cuda_sys:: CUdeviceptr , cuda_result:: DriverError > {
53- assert ! (
54- !self . resource. is_null( ) ,
55- "do not call GraphicsResource::get_mapped_array if no resource is actually registered"
56- ) ;
57-
5848 let mut array: cuda_sys:: CUdeviceptr = 0 ;
5949 let mut size: usize = 0 ;
6050
@@ -94,6 +84,8 @@ impl GraphicsResource {
9484
9585 /// Maps this resource.
9686 pub fn map ( & mut self ) -> Result < MappedGraphicsResource , cuda_result:: DriverError > {
87+ assert ! ( self . is_registered( ) , "Must register a resource before calling GraphicsResource::map()" ) ;
88+
9789 let mut res = MappedGraphicsResource :: new ( self . resource ) ;
9890 res. map ( ) ?;
9991
@@ -106,7 +98,7 @@ impl GraphicsResource {
10698 texture_kind : gl:: types:: GLuint ,
10799 ) -> Result < ( ) , cuda_result:: DriverError > {
108100 // better to be safe than leak memory? idk.
109- if ! self . resource . is_null ( ) {
101+ if self . is_registered ( ) {
110102 self . unregister ( ) ?;
111103 }
112104
@@ -124,10 +116,10 @@ impl GraphicsResource {
124116 }
125117
126118 pub fn unregister ( & mut self ) -> Result < ( ) , cuda_result:: DriverError > {
127- assert ! (
128- !self . resource . is_null ( ) ,
129- "do not call if no resource is actually registered"
130- ) ;
119+ // Don't need to unregister if nothing's actually registered
120+ if !self . is_registered ( ) {
121+ return Ok ( ( ) ) ;
122+ }
131123
132124 unsafe {
133125 cuda_sys:: lib ( )
0 commit comments