DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709;
gboolean hdr10_aware = FALSE;
gboolean have_hdr10_meta = FALSE;
- ComPtr < IDXGIFactory5 > factory5;
- IDXGIFactory1 *factory_handle;
- BOOL allow_tearing = FALSE;
GstVideoMasteringDisplayInfo mdcv;
GstVideoContentLightLevel cll;
ComPtr < IDXGISwapChain3 > swapchain3;
/* Step 3: Create swapchain
* (or reuse old swapchain if the format is not changed) */
- window->allow_tearing = FALSE;
-
- factory_handle = gst_d3d11_device_get_dxgi_factory_handle (device);
- hr = factory_handle->QueryInterface (IID_PPV_ARGS (&factory5));
- if (SUCCEEDED (hr)) {
- hr = factory5->CheckFeatureSupport (DXGI_FEATURE_PRESENT_ALLOW_TEARING,
- (void *) &allow_tearing, sizeof (allow_tearing));
- }
-
- if (SUCCEEDED (hr) && allow_tearing)
- window->allow_tearing = allow_tearing;
-
- if (window->allow_tearing) {
- GST_DEBUG_OBJECT (window, "device supports tearing");
- swapchain_flags |= DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING;
- }
-
GstD3D11DeviceLockGuard lk (device);
window->dxgi_format = chosen_format->dxgi_format;
{
GstD3D11WindowClass *klass = GST_D3D11_WINDOW_GET_CLASS (self);
GstFlowReturn ret = GST_FLOW_OK;
- guint present_flags = 0;
GstVideoCropMeta *crop_meta;
RECT input_rect = self->input_rect;
RECT *prev_rect = &self->prev_input_rect;
gst_d3d11_overlay_compositor_upload (self->compositor, buffer);
gst_d3d11_overlay_compositor_draw_unlocked (self->compositor, &rtv);
- if (self->allow_tearing && self->fullscreen)
- present_flags |= DXGI_PRESENT_ALLOW_TEARING;
-
if (klass->present) {
if (self->emit_present) {
g_signal_emit (self, d3d11_window_signals[SIGNAL_PRESENT], 0,
self->device, rtv, nullptr);
}
- ret = klass->present (self, present_flags);
+ ret = klass->present (self, 0);
}
self->first_present = FALSE;