 data FunParam where
   IArg :: !Int             -> FunParam
   FArg :: !Float           -> FunParam
-  TArg :: !Texture         -> FunParam
   VArg :: Storable a => !a -> FunParam
 
 instance Storable FunParam where
   sizeOf (IArg _)       = sizeOf (undefined :: CUInt)
   sizeOf (FArg _)       = sizeOf (undefined :: CFloat)
   sizeOf (VArg v)       = sizeOf v
-  sizeOf (TArg _)       = 0
 
   alignment (IArg _)    = alignment (undefined :: CUInt)
   alignment (FArg _)    = alignment (undefined :: CFloat)
   alignment (VArg v)    = alignment v
-  alignment (TArg _)    = 0
 
   poke p (IArg i)       = poke (castPtr p) i
   poke p (FArg f)       = poke (castPtr p) f
   poke p (VArg v)       = poke (castPtr p) v
-  poke _ (TArg _)       = return ()
 
 
 --------------------------------------------------------------------------------

      IArg v -> with' v (f . castPtr)
      FArg v -> with' v (f . castPtr)
      VArg v -> with' v (f . castPtr)
      TArg _ -> error "launchKernel: TArg is deprecated"

    -- can't use the standard 'with' because 'alloca' will pass an undefined
    -- dummy argument when determining 'sizeOf' and 'alignment', but sometimes

  , castPtr `Ptr a'
  ,         `Int'   } -> `Status' cToEnum #}

