anchor.diff:                  GL.Check "could not create texture"
   
                   let dim =
  -                    match orig.Dimension, orig.Count with
  -                        | TextureDimension.TextureCube, 1 -> 
  -                            if slices.Min <> slices.Max then failwithf "cannot take multiple slices from CubeMap"
  -                            TextureDimension.Texture2D
  -                        | d,_ -> d
  +                    match orig.Dimension with
  +                        | TextureDimension.TextureCube -> 
  +                            if isArray || slices.Min = slices.Max then 
  +                                // address TextureCube as array or a single slice
  +                                TextureDimension.Texture2D
  +                            else
  +                                if slices.Min <> 0 && slices.Max <> 5 then failwithf "cannot take multiple slices from CubeMap"
  +                                // allow to address certain levels
  +                                TextureDimension.TextureCube
  +                        | d -> d
   
                   let levelCount = 1 + levels.Max - levels.Min
                   let sliceCount =
  -                    if orig.IsArray && isArray then Some (1 + slices.Max - slices.Min)
  +                    // create array if requested -> allows to create single views of array texture and an array view of a single texture
  +                    if isArray then Some (1 + slices.Max - slices.Min) 
  +                    else if orig.Dimension <> TextureDimension.TextureCube && slices.Min <> slices.Max then failwithf "cannot create multi-slice view as not array"
                       else None
  -
  -
  +                    
                   let tex = Texture(x, handle, dim, levelCount, orig.Multisamples, orig.Size, sliceCount, orig.Format, 0L, true)
                   let target = TextureTarget.ofTexture tex
                     
  
positive.code: 
      [<Extension>]
      static member Blit(ctx : Context, src : Texture, srcLevel : int, srcSlice : int, srcRegion : Box2i, dst : Texture, dstLevel : int, dstSlice : int, dstRegion : Box2i, linear : bool) =
          ImplicitConversionHate.blit(ctx, src, srcLevel, srcSlice, srcRegion, dst, dstLevel, dstSlice, dstRegion, linear)
negative.code:                     orig.Handle,
                      unbox (int orig.Format),
                      levels.Min, 1 + levels.Max - levels.Min,
                      slices.Min, match sliceCount with | Some x -> x; | _ -> 1
                  )
                  GL.Check "could not create texture view"
  
  