0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00
obs-studio/plugins/win-capture/graphics-hook/dxgi-helpers.hpp
tytan652 107b2a8f27 libobs-d3d11,libobs-opengl,plugins: Remove unneeded cast in switches
Those casts were usually used to workaround switch warnings.
2023-01-16 11:52:26 +01:00

57 lines
1.6 KiB
C++

#pragma once
#include "graphics-hook.h"
static inline DXGI_FORMAT strip_dxgi_format_srgb(DXGI_FORMAT format)
{
switch (format) {
case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB:
return DXGI_FORMAT_B8G8R8A8_UNORM;
case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB:
return DXGI_FORMAT_R8G8B8A8_UNORM;
}
return format;
}
static inline DXGI_FORMAT apply_dxgi_format_typeless(DXGI_FORMAT format,
bool allow_srgb_alias)
{
if (allow_srgb_alias) {
switch (format) {
case DXGI_FORMAT_B8G8R8A8_UNORM:
return DXGI_FORMAT_B8G8R8A8_TYPELESS;
case DXGI_FORMAT_R8G8B8A8_UNORM:
return DXGI_FORMAT_R8G8B8A8_TYPELESS;
}
}
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);
}