![]() |
Sunshine latest
Self-hosted game stream host for Moonlight.
|
Definitions for the Windows display base code. More...
#include <cmath>#include <thread>#include <initguid.h>#include <boost/algorithm/string/join.hpp>#include <boost/process/v1.hpp>#include <MinHook.h>#include "utf_utils.h"#include "display.h"#include "misc.h"#include "src/config.h"#include "src/display_device.h"#include "src/logging.h"#include "src/platform/common.h"#include "src/video.h"Typedefs | |
| typedef enum _D3DKMT_GPU_PREFERENCE_QUERY_STATE | D3DKMT_GPU_PREFERENCE_QUERY_STATE |
| typedef long | NTSTATUS |
Functions | |
| std::shared_ptr< display_t > | platf::display (mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) |
| Get the display_t instance for the given hwdevice_type. If display_name is empty, use the first monitor that's compatible you can find If you require to use this parameter in a separate thread, make a copy of it. | |
| std::vector< std::string > | platf::display_names (mem_type_e hwdevice_type) |
| bool | platf::needs_encoder_reenumeration () |
| Check if GPUs/drivers have changed since the last call to this function. | |
| NTSTATUS __stdcall | platf::dxgi::NtGdiDdDDIGetCachedHybridQueryValueHook (D3DKMT_GPU_PREFERENCE_QUERY_STATE *gpuPreference) |
| Hook for NtGdiDdDDIGetCachedHybridQueryValue() from win32u.dll. | |
| bool | platf::dxgi::test_dxgi_duplication (adapter_t &adapter, output_t &output, bool enumeration_only) |
| Tests to determine if the Desktop Duplication API can capture the given output. | |
Definitions for the Windows display base code.
| enum _D3DKMT_GPU_PREFERENCE_QUERY_STATE : DWORD |
| std::shared_ptr< display_t > platf::display | ( | platf::mem_type_e | hwdevice_type, |
| const std::string & | display_name, | ||
| const video::config_t & | config ) |
Get the display_t instance for the given hwdevice_type. If display_name is empty, use the first monitor that's compatible you can find If you require to use this parameter in a separate thread, make a copy of it.
| display_name | The name of the monitor that SHOULD be displayed |
| config | Stream configuration |
Pick a display adapter and capture method.
| hwdevice_type | enables possible use of hardware encoder |
| bool platf::needs_encoder_reenumeration | ( | ) |
Check if GPUs/drivers have changed since the last call to this function.
Returns if GPUs/drivers have changed since the last call to this function.
true if a change has occurred or if it is unknown whether a change occurred. | NTSTATUS __stdcall platf::dxgi::NtGdiDdDDIGetCachedHybridQueryValueHook | ( | D3DKMT_GPU_PREFERENCE_QUERY_STATE * | gpuPreference | ) |
Hook for NtGdiDdDDIGetCachedHybridQueryValue() from win32u.dll.
| gpuPreference | A pointer to the location where the preference will be written. |
| bool platf::dxgi::test_dxgi_duplication | ( | adapter_t & | adapter, |
| output_t & | output, | ||
| bool | enumeration_only ) |
Tests to determine if the Desktop Duplication API can capture the given output.
When testing for enumeration only, we avoid resyncing the thread desktop.
| adapter | The DXGI adapter to use for capture. |
| output | The DXGI output to capture. |
| enumeration_only | Specifies whether this test is occurring for display enumeration. |