public virtual DX11RenderContext GetRenderContext(DXGIScreen screen) { this.logger.Log(LogType.Message, "Creating DX11 Render Context"); T key = this.GetDeviceKey(screen); if (!contexts.ContainsKey(key)) { DX11RenderContext ctx; #if DEBUG try { ctx = new DX11RenderContext(this.displaymanager.Factory, screen, this.flags); } catch { this.logger.Log(LogType.Warning, "Could not create debug device, if you want debug informations make sure DirectX SDK is installed"); this.logger.Log(LogType.Warning, "Creating default DirectX 11 device"); this.flags = DeviceCreationFlags.BgraSupport; ctx = new DX11RenderContext(this.displaymanager.Factory, screen, this.flags); } #else ctx = new DX11RenderContext(this.displaymanager.Factory, screen, this.flags); #endif ctx.Initialize(); contexts.Add(key, ctx); if (this.RenderContextCreated != null) { this.RenderContextCreated(ctx); } } return(contexts[key]); }
private void SetDevice(ILogger logger, DX11DisplayManager displaymanager, int id) { Adapter1 adapter = this.DisplayManager.FindAdapter(0); logger.Log(LogType.Message, "Creating device for adapter " + adapter.Description.Description); DX11RenderContext context; #if DEBUG try { context = new DX11RenderContext(adapter, this.flags); } catch { logger.Log(LogType.Warning, "Could not create Debug device, if you want debug informations make sure DirectX SDK is installed"); logger.Log(LogType.Warning, "Creating default DirectX 11 device"); this.flags = DeviceCreationFlags.BgraSupport; context = new DX11RenderContext(adapter, this.flags); } #else context = new DX11RenderContext(adapter, this.flags); #endif context.Initialize(); this.contexts.Add(id, context); }