mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
107b2a8f27
Those casts were usually used to workaround switch warnings.
57 lines
1.6 KiB
C++
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);
|
|
}
|