Microsoft DirectX Graphics Infrastructure (DXGI) is often used in combination with Direct3D and is responsible for enumerating graphics adapters and display modes, selecting buffer formats, sharing resources between processes and presenting rendered frames to the monitor.
Questions tagged [dxgi]
248 questions
3
votes
1 answer
How to present to a different window using IDXGISwapChain and ID3D11Device/ID3D11DeviceContext?
Previously, when I've built tools, I've used D3D version 9, where the call to Present() can take a target window and rectangle, and you can thus draw from a single device into many different windows. This is great when using D3D to accelerate…

Jon Watte
- 6,579
- 4
- 53
- 63
3
votes
1 answer
ways for Direct2D and Direct3D Interoperability
I want make a Direct2D GUI that will run on a DLL and will render with the Direct3D of the application that I inject into it.
I know that I can simply use ID2D1Factory::CreateDxgiSurfaceRenderTarget to make a DXGI surface and use it as d2d render…

mod Zz
- 49
- 6
3
votes
0 answers
Can vulkan interop with direct composition for window background blur effects?
Is it possible to use the Win10 compositor for 'acrylic blur' effects but use Vulkan for rendering? It seems it might be by creating a DXGI swapchain and somehow using the Vulkan external memory extensions. But I can't find any examples of…

iam
- 1,623
- 1
- 14
- 28
3
votes
1 answer
Determining which swap chain formats are supported
When calling IDXGIFactory1::CreateSwapChain with DXGI_FORMAT_B5G6R5_UNORM I get an error that this format isn't supported, specifically E_INVALIDARG One or more arguments are invalid. However, this works fine with a more standard format like…

Adam
- 1,122
- 9
- 21
3
votes
2 answers
Force Win32 common controls to draw on `ID2D1HwndRenderTarget`?
I draw most of my UI using ID2D1HwndRenderTarget, but I want some classic window controls: button, edit. How to
ID2D1HwndRenderTarget * canvas = nullptr; // it's global object
HWND button = nullptr; // it's global object
HWND edit = nullptr; // it's…

Sonny D
- 897
- 9
- 29
3
votes
0 answers
C++: How to find out used GPU of a process?
I want to find out which GPU is used by a process.
Since the Fall Creators Update the windows Task-Manager shows the used GPU per process:
Is there a way to get this information in C++?
I tried to search already existing solutions but did not…

Bennik2000
- 1,112
- 11
- 25
3
votes
1 answer
DesktopDuplication API produces black frames while certain applications are in fullscreen mode
I'm building an application that is used for taking and sharing screenshots in real time between multiple clients over network.
I'm using the MS Desktop Duplication API to get the image data and it's working smoothly except in some edge cases.
I…

MonzUn
- 53
- 1
- 9
3
votes
0 answers
C++ Capture Full screen in real time
I'm developing a software that should capture what is happening on the screen to make some processing. One of the requirements is that the software has to run at least 30FPS.
I've tried several options and I'm going to shopw you two, But none of…

Ricardo Alves
- 1,071
- 18
- 36
3
votes
1 answer
AcquireNextFrame not working (Desktop Duplication API & D3D11)
I've put together this code that takes a screenshot of the desktop and maps it for raw pixel data access, but the output is all zeros. I have no idea what i've done wrong. After looking at many examples of the Desktop Duplication Api online I don't…

M. Alvarez
- 33
- 3
3
votes
2 answers
DXGI monitors enumeration does not give full size for Dell P2715Q monitor
I make DXGI adapters and monitors enumeration. The second monitor connected to my computer is Dell P2715Q, which has 3840*2160 resolution:
However, the program reports it as 2560*1440, the second available resolution. Minimal code to reproduce:
int…

Alex F
- 42,307
- 41
- 144
- 212
3
votes
1 answer
Custom output resolution DuplicateOutput DXGI
I'm using AcquireNextFrame to make a screenshot of my desktop. Is it possible to set a dimension of the output image I want on the setup ?
I saw on the documentation this function IDXGIOutput::SetDisplaySurface that could help.
Here is my code…

X6Entrepreneur
- 971
- 2
- 10
- 30
3
votes
1 answer
How to reduce fullscreen swap chain presentation latency in UWP application?
I have DirectX11 UWP application. I create swap chain using IDXGIFactory2::CreateSwapChainForCoreWindow and usual parameters.
::DXGI_SWAP_CHAIN_DESC1 desc{};
desc.Width = back_buffer_width;
desc.Height =…

user7860670
- 35,849
- 4
- 58
- 84
3
votes
2 answers
IDXGIFactory versions
I am working with DXGI and DirectX 11 using C++.
At the moment I experimenting with IDXGIFactory.
After some research and reading the documentation I noticed there are different…

Michael
- 595
- 5
- 19
3
votes
2 answers
Retrieving ID3D11Texture2D data to be sent over network
I am modifying the desktop duplication api sample kindly provided by Microsoft to capture the screen and send updates over the network to my application. I know how to actually send the data; my problem is getting the data from the ID3D11Texture2D…

cilki
- 125
- 1
- 13
3
votes
2 answers
When does DXGI Desktop Duplication API identify a region as a moved region?
I have a program to capture the desktop screen using DXGI Desktop Duplication API.
I get frames with IDXGIOutputDuplication::AcquireNextFrame and I am able to capture my desktop frame by frame fine.
To move forward, I try to optimize my program and…

dynamic_cast
- 1,075
- 1
- 9
- 23