From 2f158b77762556c9f8b513e4879a19057b28216f Mon Sep 17 00:00:00 2001 From: Andrzej Janik Date: Sat, 13 Apr 2024 23:12:05 +0000 Subject: [PATCH] Fix cuSurfObjectDestroy and guard cuSurfObjectCreate --- zluda/src/cuda.rs | 2 +- zluda/src/impl/surface.rs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/zluda/src/cuda.rs b/zluda/src/cuda.rs index 1d054c3..1f37dbf 100644 --- a/zluda/src/cuda.rs +++ b/zluda/src/cuda.rs @@ -1245,7 +1245,7 @@ mod definitions { pub(crate) unsafe fn cuSurfObjectDestroy( surfObject: hipSurfaceObject_t, ) -> hipError_t { - hipDestroySurfaceObject(surfObject) + surface::destroy(surfObject) } pub(crate) unsafe fn cuTexObjectCreate( diff --git a/zluda/src/impl/surface.rs b/zluda/src/impl/surface.rs index 5d11f7b..cb7ec2b 100644 --- a/zluda/src/impl/surface.rs +++ b/zluda/src/impl/surface.rs @@ -31,6 +31,12 @@ pub(crate) unsafe fn create( Ok(()) } +pub(crate) unsafe fn destroy(surf_object: hipSurfaceObject_t) -> hipError_t { + hipDestroySurfaceObject( + (((surf_object as usize) << IMAGE_RESERVED_TOP_BITS) >> IMAGE_RESERVED_TOP_BITS) as _, + ) +} + pub(crate) fn format_size(f: hipArray_Format) -> Result { Ok(match f { hipArray_Format::HIP_AD_FORMAT_UNSIGNED_INT8