コード例 #1
0
        static void CreateComputeDevice()
        {
            var options = new DeviceResourcesOptions();

#if DEBUG
            options.Debug = true;
#endif

            deviceResources = new RenderTargetDeviceResources(1, 1, D3D11FeatureLevel.FeatureLevel110, options);

#if TEST_DOUBLE
            // Double-precision support is an optional feature of CS 5.0
            D3D11FeatureDataDoubles supportDoubles = deviceResources.D3DDevice.CheckFeatureSupportDoubles();
            if (!supportDoubles.IsDoublePrecisionFloatShaderOperationsSupported)
            {
                Console.WriteLine("No hardware double-precision capable device found, trying to create ref device.");

                deviceResources.Release();
                deviceResources = null;

                options.ForceWarp = true;
                deviceResources   = new RenderTargetDeviceResources(1, 1, D3D11FeatureLevel.FeatureLevel110, options);
            }
#endif
        }
コード例 #2
0
        static void CleanupResources()
        {
            D3D11Utils.ReleaseAndNull(ref g_pBuf0SRV);
            D3D11Utils.ReleaseAndNull(ref g_pBuf1SRV);
            D3D11Utils.ReleaseAndNull(ref g_pBufResultUAV);
            D3D11Utils.ReleaseAndNull(ref g_pBuf0);
            D3D11Utils.ReleaseAndNull(ref g_pBuf1);
            D3D11Utils.ReleaseAndNull(ref g_pBufResult);
            D3D11Utils.ReleaseAndNull(ref g_pCS);

            deviceResources?.Release();
            deviceResources = null;
        }
コード例 #3
0
        static void CleanupResources()
        {
            D3D11Utils.ReleaseAndNull(ref g_pReadBackBuffer);
            D3D11Utils.ReleaseAndNull(ref g_pBuffer2UAV);
            D3D11Utils.ReleaseAndNull(ref g_pBuffer1UAV);
            D3D11Utils.ReleaseAndNull(ref g_pBuffer2SRV);
            D3D11Utils.ReleaseAndNull(ref g_pBuffer1SRV);
            D3D11Utils.ReleaseAndNull(ref g_pBuffer2);
            D3D11Utils.ReleaseAndNull(ref g_pBuffer1);
            D3D11Utils.ReleaseAndNull(ref g_pCB);
            D3D11Utils.ReleaseAndNull(ref g_pComputeShaderTranspose);
            D3D11Utils.ReleaseAndNull(ref g_pComputeShaderBitonic);

            deviceResources.Release();
            deviceResources = null;
        }