Graphic driver memory leak

Repeat to create texture and release, it will lead to a memory leak.

my test environment:

  1. windows 8.1, directd3d 11
  2. hardware gtx970 and gtx770
  3. driver version 361.43

gtx770 with drvier 327.23 has no problem.

here’s my test code with c#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using SharpDX;
using SharpDX.DXGI;
using SharpDX.Direct3D;
using SharpDX.Direct3D11;

namespace NvidiaMemLeakCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //using(var dev = new SharpDX.Direct3D11.Device(SharpDX.Direct3D.DriverType.Warp, DeviceCreationFlags.None, FeatureLevel.Level_11_0))   // OK 
            using(var dev = new SharpDX.Direct3D11.Device(SharpDX.Direct3D.DriverType.Hardware, DeviceCreationFlags.None, FeatureLevel.Level_11_0))     // E_OUTOFMEMORY
            {
                var desc = new Texture2DDescription{
                    Usage = ResourceUsage.Default,
                    Width = 512,
                    Height = 512,
                    Format = Format.R8G8B8A8_UNorm,
                    ArraySize = 1,
                    BindFlags = BindFlags.ShaderResource,
                    MipLevels = 1,
                    CpuAccessFlags = CpuAccessFlags.None,
                    OptionFlags = ResourceOptionFlags.None,
                    SampleDescription = new SampleDescription{ Count = 1, Quality = 0 },
                };
                for (var i = 0L; ;++i )
                {
                    using (var tex = new Texture2D(dev, desc))
                    {
                        Console.WriteLine("iter: {0}", i);
                    }
                }
            }
        }
    }
}