|
enum | _D3DKMT_SCHEDULINGPRIORITYCLASS {
D3DKMT_SCHEDULINGPRIORITYCLASS_IDLE
, D3DKMT_SCHEDULINGPRIORITYCLASS_BELOW_NORMAL
, D3DKMT_SCHEDULINGPRIORITYCLASS_NORMAL
, D3DKMT_SCHEDULINGPRIORITYCLASS_ABOVE_NORMAL
,
D3DKMT_SCHEDULINGPRIORITYCLASS_HIGH
, D3DKMT_SCHEDULINGPRIORITYCLASS_REALTIME
} |
|
typedef struct platf::dxgi::display_base_t::_D3DKMT_CLOSEADAPTER | D3DKMT_CLOSEADAPTER |
|
typedef UINT | D3DKMT_HANDLE |
|
typedef struct platf::dxgi::display_base_t::_D3DKMT_OPENADAPTERFROMLUID | D3DKMT_OPENADAPTERFROMLUID |
|
typedef struct platf::dxgi::display_base_t::_D3DKMT_QUERYADAPTERINFO | D3DKMT_QUERYADAPTERINFO |
|
typedef enum platf::dxgi::display_base_t::_D3DKMT_SCHEDULINGPRIORITYCLASS | D3DKMT_SCHEDULINGPRIORITYCLASS |
|
typedef struct platf::dxgi::display_base_t::_D3DKMT_WDDM_2_7_CAPS | D3DKMT_WDDM_2_7_CAPS |
|
typedef NTSTATUS(WINAPI * | PD3DKMTCloseAdapter) (D3DKMT_CLOSEADAPTER *) |
|
typedef NTSTATUS(WINAPI * | PD3DKMTOpenAdapterFromLuid) (D3DKMT_OPENADAPTERFROMLUID *) |
|
typedef NTSTATUS(WINAPI * | PD3DKMTQueryAdapterInfo) (D3DKMT_QUERYADAPTERINFO *) |
|
typedef NTSTATUS(WINAPI * | PD3DKMTSetProcessSchedulingPriorityClass) (HANDLE, D3DKMT_SCHEDULINGPRIORITYCLASS) |
|
using | pull_free_image_cb_t = std::function<bool(std::shared_ptr<img_t> &img_out)> |
| Get free image from pool. Calls must be synchronized. Blocks until there is free image in the pool or capture is interrupted.
|
|
using | push_captured_image_cb_t = std::function<bool(std::shared_ptr<img_t> &&img, bool frame_captured)> |
| Callback for when a new image is ready. When display has a new image ready or a timeout occurs, this callback will be called with the image. If a frame was captured, frame_captured will be true. If a timeout occurred, it will be false.
|
|
|
adapter_t | adapter |
|
DXGI_FORMAT | capture_format |
|
int | client_frame_rate |
|
device_t | device |
|
device_ctx_t | device_ctx |
|
DXGI_RATIONAL | display_refresh_rate |
|
int | display_refresh_rate_rounded |
|
DXGI_MODE_ROTATION | display_rotation = DXGI_MODE_ROTATION_UNSPECIFIED |
|
factory1_t | factory |
|
D3D_FEATURE_LEVEL | feature_level |
|
int | height_before_rotation |
|
const UINT | KMTQAITYPE_WDDM_2_7_CAPS = 70 |
|
output_t | output |
|
std::unique_ptr< high_precision_timer > | timer = create_high_precision_timer() |
|
int | width_before_rotation |
|
int | env_height |
|
int | env_width |
|
int | height |
|
int | offset_x |
|
int | offset_y |
|
int | width |
|
◆ _D3DKMT_SCHEDULINGPRIORITYCLASS
Enumerator |
---|
D3DKMT_SCHEDULINGPRIORITYCLASS_IDLE | Idle priority class.
|
D3DKMT_SCHEDULINGPRIORITYCLASS_BELOW_NORMAL | Below normal priority class.
|
D3DKMT_SCHEDULINGPRIORITYCLASS_NORMAL | Normal priority class.
|
D3DKMT_SCHEDULINGPRIORITYCLASS_ABOVE_NORMAL | Above normal priority class.
|
D3DKMT_SCHEDULINGPRIORITYCLASS_HIGH | High priority class.
|
D3DKMT_SCHEDULINGPRIORITYCLASS_REALTIME | Realtime priority class.
|
◆ capture()
Capture a frame.
- Parameters
-
push_captured_image_cb | The callback that is called with captured image, must be called from the same thread as capture() |
pull_free_image_cb | Capture backends call this callback to get empty image from the pool. If backend uses multiple threads, calls to this callback must be synchronized. Calls to this callback and push_captured_image_cb must be synchronized as well. |
cursor | A pointer to the flag that indicates whether the cursor should be captured as well. |
- Return values
-
Implements platf::display_t.
◆ get_hdr_metadata()
bool platf::dxgi::display_base_t::get_hdr_metadata |
( |
SS_HDR_METADATA & | metadata | ) |
|
|
overridevirtual |
◆ is_hdr()
bool platf::dxgi::display_base_t::is_hdr |
( |
| ) |
|
|
overridevirtual |
◆ snapshot()
virtual capture_e platf::dxgi::display_base_t::snapshot |
( |
const pull_free_image_cb_t & | pull_free_image_cb, |
|
|
std::shared_ptr< platf::img_t > & | img_out, |
|
|
std::chrono::milliseconds | timeout, |
|
|
bool | cursor_visible ) |
|
protectedpure virtual |
The documentation for this class was generated from the following files: