Sunshine latest
Self-hosted game stream host for Moonlight.
display.h File Reference

Declarations for the Windows display backend. More...

#include <d3d11.h>
#include <d3d11_4.h>
#include <d3dcommon.h>
#include <dwmapi.h>
#include <dxgi.h>
#include <dxgi1_6.h>
#include <Unknwn.h>
#include <winrt/Windows.Graphics.Capture.h>
#include "src/platform/common.h"
#include "src/utility.h"
#include "src/video.h"
Include dependency graph for display.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  platf::dxgi::display_base_t::_D3DKMT_CLOSEADAPTER
 
struct  platf::dxgi::display_base_t::_D3DKMT_OPENADAPTERFROMLUID
 
struct  platf::dxgi::display_base_t::_D3DKMT_QUERYADAPTERINFO
 
struct  platf::dxgi::display_base_t::_D3DKMT_WDDM_2_7_CAPS
 
struct  platf::dxgi::cursor_t
 
class  platf::dxgi::display_base_t
 
class  platf::dxgi::display_ddup_ram_t
 
class  platf::dxgi::display_ddup_vram_t
 
class  platf::dxgi::display_ram_t
 
class  platf::dxgi::display_vram_t
 
class  platf::dxgi::display_wgc_ram_t
 
class  platf::dxgi::display_wgc_vram_t
 
class  platf::dxgi::duplication_t
 
class  platf::dxgi::gpu_cursor_t
 
class  platf::dxgi::wgc_capture_t
 

Typedefs

using platf::dxgi::adapter_t = util::safe_ptr<IDXGIAdapter1, Release<IDXGIAdapter1>>
 
using platf::dxgi::blend_t = util::safe_ptr<ID3D11BlendState, Release<ID3D11BlendState>>
 
using platf::dxgi::blob_t = util::safe_ptr<ID3DBlob, Release<ID3DBlob>>
 
using platf::dxgi::buf_t = util::safe_ptr<ID3D11Buffer, Release<ID3D11Buffer>>
 
using platf::dxgi::video::ctx_t = util::safe_ptr<ID3D11VideoContext, Release<ID3D11VideoContext>>
 
using platf::dxgi::depth_stencil_state_t = util::safe_ptr<ID3D11DepthStencilState, Release<ID3D11DepthStencilState>>
 
using platf::dxgi::depth_stencil_view_t = util::safe_ptr<ID3D11DepthStencilView, Release<ID3D11DepthStencilView>>
 
using platf::dxgi::device1_t = util::safe_ptr<ID3D11Device1, Release<ID3D11Device1>>
 
using platf::dxgi::device_ctx_t = util::safe_ptr<ID3D11DeviceContext, Release<ID3D11DeviceContext>>
 
using platf::dxgi::device_t = util::safe_ptr<ID3D11Device, Release<ID3D11Device>>
 
using platf::dxgi::video::device_t = util::safe_ptr<ID3D11VideoDevice, Release<ID3D11VideoDevice>>
 
using platf::dxgi::dup_t = util::safe_ptr<IDXGIOutputDuplication, Release<IDXGIOutputDuplication>>
 
using platf::dxgi::dxgi1_t = util::safe_ptr<IDXGIDevice1, Release<IDXGIDevice1>>
 
using platf::dxgi::dxgi_t = util::safe_ptr<IDXGIDevice, Release<IDXGIDevice>>
 
using platf::dxgi::factory1_t = util::safe_ptr<IDXGIFactory1, Release<IDXGIFactory1>>
 
using platf::dxgi::input_layout_t = util::safe_ptr<ID3D11InputLayout, Release<ID3D11InputLayout>>
 
using platf::dxgi::keyed_mutex_t = util::safe_ptr<IDXGIKeyedMutex, Release<IDXGIKeyedMutex>>
 
using platf::dxgi::multithread_t = util::safe_ptr<ID3D11Multithread, Release<ID3D11Multithread>>
 
using platf::dxgi::output1_t = util::safe_ptr<IDXGIOutput1, Release<IDXGIOutput1>>
 
using platf::dxgi::output5_t = util::safe_ptr<IDXGIOutput5, Release<IDXGIOutput5>>
 
using platf::dxgi::output6_t = util::safe_ptr<IDXGIOutput6, Release<IDXGIOutput6>>
 
using platf::dxgi::output_t = util::safe_ptr<IDXGIOutput, Release<IDXGIOutput>>
 
using platf::dxgi::video::processor_enum_t = util::safe_ptr<ID3D11VideoProcessorEnumerator, Release<ID3D11VideoProcessorEnumerator>>
 
using platf::dxgi::video::processor_in_t = util::safe_ptr<ID3D11VideoProcessorInputView, Release<ID3D11VideoProcessorInputView>>
 
using platf::dxgi::video::processor_out_t = util::safe_ptr<ID3D11VideoProcessorOutputView, Release<ID3D11VideoProcessorOutputView>>
 
using platf::dxgi::video::processor_t = util::safe_ptr<ID3D11VideoProcessor, Release<ID3D11VideoProcessor>>
 
using platf::dxgi::ps_t = util::safe_ptr<ID3D11PixelShader, Release<ID3D11PixelShader>>
 
using platf::dxgi::raster_state_t = util::safe_ptr<ID3D11RasterizerState, Release<ID3D11RasterizerState>>
 
using platf::dxgi::render_target_t = util::safe_ptr<ID3D11RenderTargetView, Release<ID3D11RenderTargetView>>
 
using platf::dxgi::resource1_t = util::safe_ptr<IDXGIResource1, Release<IDXGIResource1>>
 
using platf::dxgi::resource_t = util::safe_ptr<IDXGIResource, Release<IDXGIResource>>
 
using platf::dxgi::sampler_state_t = util::safe_ptr<ID3D11SamplerState, Release<ID3D11SamplerState>>
 
using platf::dxgi::shader_res_t = util::safe_ptr<ID3D11ShaderResourceView, Release<ID3D11ShaderResourceView>>
 
using platf::dxgi::texture1d_t = util::safe_ptr<ID3D11Texture1D, Release<ID3D11Texture1D>>
 
using platf::dxgi::texture2d_t = util::safe_ptr<ID3D11Texture2D, Release<ID3D11Texture2D>>
 
using platf::dxgi::vs_t = util::safe_ptr<ID3D11VertexShader, Release<ID3D11VertexShader>>
 

Functions

template<class T >
void platf::dxgi::Release (T *dxgi)
 

Variables

auto constexpr platf::dxgi::D3D11_CREATE_DEVICE_FLAGS = 0
 
const char * platf::dxgi::format_str []
 

Detailed Description

Declarations for the Windows display backend.