/// <summary> /// Queries for the number of multisample quality levels are supported for the sample count. /// </summary> /// <param name="format">Specified format</param> /// <param name="multiSamplecount">Sample count</param> /// <returns>Number of supported quality levels </returns> public int QueryMultiSampleQualityLevels(SurfaceFormat format, int multiSamplecount) { return(_graphicsDevice.CheckMultisampleQualityLevels(D3D10Helper.ToD3DSurfaceFormat(format), multiSamplecount)); }
/// <summary> /// Initializes a new instance of the <see cref="D3D10GraphicsAdapter"/> class. /// </summary> /// <param name="graphicsDevice">The graphics device.</param> /// <param name="factory">The DXGI factory.</param> /// <param name="adapterIndex">Index of the adapter.</param> internal D3D10GraphicsAdapter(D3D.Device graphicsDevice, DXGI.Factory factory, int adapterIndex) { _graphicsDevice = graphicsDevice; _adapterIndex = adapterIndex; List <DisplayMode> modes = new List <DisplayMode>(); DXGI.Adapter adapter = factory.GetAdapter(adapterIndex); if (adapter != null) { DXGI.AdapterDescription adDesc = adapter.Description; _desc = adDesc.Description; _devId = adDesc.DeviceId; _rev = adDesc.Revision; _subsystemId = adDesc.SubsystemId; _vendorId = adDesc.VendorId; DXGI.Output output = adapter.GetOutput(0); if (output != null) { foreach (SurfaceFormat format in Enum.GetValues(typeof(SurfaceFormat))) { try { System.Collections.ObjectModel.ReadOnlyCollection <DXGI.ModeDescription> modeList = output.GetDisplayModeList(D3D10Helper.ToD3DSurfaceFormat(format), 0); if (modeList == null) { continue; } foreach (DXGI.ModeDescription modeDesc in modeList) { DisplayMode displayMode = new DisplayMode(modeDesc.Width, modeDesc.Height, format); if (!modes.Contains(displayMode)) { modes.Add(displayMode); } } } catch (Exception e) { String s = e.StackTrace; continue; } } _displayModes = new DisplayModeCollection(modes); output.Dispose(); } adapter.Dispose(); } }