From afeb78e02289fb15c921cde9ab39eae452477048 Mon Sep 17 00:00:00 2001 From: jpark37 Date: Tue, 6 Sep 2022 20:12:04 -0700 Subject: [PATCH] graphics-hook: Print DXGI swap chain desc --- .../graphics-hook/d3d10-capture.cpp | 2 ++ .../graphics-hook/d3d11-capture.cpp | 2 ++ .../graphics-hook/d3d12-capture.cpp | 5 ++-- .../graphics-hook/dxgi-helpers.hpp | 28 +++++++++++++++++++ 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/plugins/win-capture/graphics-hook/d3d10-capture.cpp b/plugins/win-capture/graphics-hook/d3d10-capture.cpp index 932486316..1b03f8277 100644 --- a/plugins/win-capture/graphics-hook/d3d10-capture.cpp +++ b/plugins/win-capture/graphics-hook/d3d10-capture.cpp @@ -172,6 +172,8 @@ static inline bool d3d10_init_format(IDXGISwapChain *swap, HWND &window) return false; } + print_swap_desc(&desc); + data.format = strip_dxgi_format_srgb(desc.BufferDesc.Format); data.multisampled = desc.SampleDesc.Count > 1; window = desc.OutputWindow; diff --git a/plugins/win-capture/graphics-hook/d3d11-capture.cpp b/plugins/win-capture/graphics-hook/d3d11-capture.cpp index 63b488721..a8d0e2cfd 100644 --- a/plugins/win-capture/graphics-hook/d3d11-capture.cpp +++ b/plugins/win-capture/graphics-hook/d3d11-capture.cpp @@ -174,6 +174,8 @@ static inline bool d3d11_init_format(IDXGISwapChain *swap, HWND &window) return false; } + print_swap_desc(&desc); + data.format = strip_dxgi_format_srgb(desc.BufferDesc.Format); data.multisampled = desc.SampleDesc.Count > 1; window = desc.OutputWindow; diff --git a/plugins/win-capture/graphics-hook/d3d12-capture.cpp b/plugins/win-capture/graphics-hook/d3d12-capture.cpp index fdda556e4..883202890 100644 --- a/plugins/win-capture/graphics-hook/d3d12-capture.cpp +++ b/plugins/win-capture/graphics-hook/d3d12-capture.cpp @@ -236,6 +236,8 @@ static inline bool d3d12_init_format(IDXGISwapChain *swap, HWND &window, return false; } + print_swap_desc(&desc); + data.format = strip_dxgi_format_srgb(desc.BufferDesc.Format); data.multisampled = desc.SampleDesc.Count > 1; window = desc.OutputWindow; @@ -249,9 +251,6 @@ static inline bool d3d12_init_format(IDXGISwapChain *swap, HWND &window, swap3->Release(); } - hlog("Buffer count: %d, swap effect: %d", (int)desc.BufferCount, - (int)desc.SwapEffect); - bb.count = desc.SwapEffect == DXGI_SWAP_EFFECT_DISCARD ? 1 : desc.BufferCount; diff --git a/plugins/win-capture/graphics-hook/dxgi-helpers.hpp b/plugins/win-capture/graphics-hook/dxgi-helpers.hpp index 353b4220b..f23bdccf2 100644 --- a/plugins/win-capture/graphics-hook/dxgi-helpers.hpp +++ b/plugins/win-capture/graphics-hook/dxgi-helpers.hpp @@ -1,5 +1,7 @@ #pragma once +#include "graphics-hook.h" + static inline DXGI_FORMAT strip_dxgi_format_srgb(DXGI_FORMAT format) { switch ((unsigned long)format) { @@ -26,3 +28,29 @@ static inline DXGI_FORMAT apply_dxgi_format_typeless(DXGI_FORMAT format, return format; } + +static void print_swap_desc(const DXGI_SWAP_CHAIN_DESC *desc) +{ + hlog("DXGI_SWAP_CHAIN_DESC:\n" + " BufferDesc.Width: %u\n" + " BufferDesc.Height: %u\n" + " BufferDesc.RefreshRate.Numerator: %u\n" + " BufferDesc.RefreshRate.Denominator: %u\n" + " BufferDesc.Format: %u\n" + " BufferDesc.ScanlineOrdering: %u\n" + " BufferDesc.Scaling: %u\n" + " SampleDesc.Count: %u\n" + " SampleDesc.Quality: %u\n" + " BufferUsage: %u\n" + " BufferCount: %u\n" + " Windowed: %u\n" + " SwapEffect: %u\n" + " Flags: %u", + desc->BufferDesc.Width, desc->BufferDesc.Height, + desc->BufferDesc.RefreshRate.Numerator, + desc->BufferDesc.RefreshRate.Denominator, desc->BufferDesc.Format, + desc->BufferDesc.ScanlineOrdering, desc->BufferDesc.Scaling, + desc->SampleDesc.Count, desc->SampleDesc.Quality, + desc->BufferUsage, desc->BufferCount, desc->Windowed, + desc->SwapEffect, desc->Flags); +}