ReactOS 0.4.17-dev-934-g091855f
utils.c File Reference
#include "dxgi_private.h"
Include dependency graph for utils.c:

Go to the source code of this file.

Macros

#define WINE_DXGI_TO_STR(x)   case x: return #x
 
#define DXGI_WINED3D_SWAPCHAIN_FLAGS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (dxgi)
 
static const char * debug_feature_level (D3D_FEATURE_LEVEL feature_level)
 
const char * debug_dxgi_format (DXGI_FORMAT format)
 
DXGI_FORMAT dxgi_format_from_wined3dformat (enum wined3d_format_id format)
 
enum wined3d_format_id wined3dformat_from_dxgi_format (DXGI_FORMAT format)
 
const char * debug_dxgi_mode (const DXGI_MODE_DESC *desc)
 
const char * debug_dxgi_mode1 (const DXGI_MODE_DESC1 *desc)
 
void dump_feature_levels (const D3D_FEATURE_LEVEL *feature_levels, unsigned int level_count)
 
static unsigned int dxgi_rational_to_uint (const DXGI_RATIONAL *rational)
 
static enum wined3d_scanline_ordering wined3d_scanline_ordering_from_dxgi (DXGI_MODE_SCANLINE_ORDER scanline_order)
 
void dxgi_sample_desc_from_wined3d (DXGI_SAMPLE_DESC *desc, enum wined3d_multisample_type wined3d_type, unsigned int wined3d_quality)
 
void wined3d_sample_desc_from_dxgi (enum wined3d_multisample_type *wined3d_type, unsigned int *wined3d_quality, const DXGI_SAMPLE_DESC *dxgi_desc)
 
void wined3d_display_mode_from_dxgi (struct wined3d_display_mode *wined3d_mode, const DXGI_MODE_DESC *mode)
 
void wined3d_display_mode_from_dxgi1 (struct wined3d_display_mode *wined3d_mode, const DXGI_MODE_DESC1 *mode)
 
DXGI_USAGE dxgi_usage_from_wined3d_bind_flags (unsigned int wined3d_bind_flags)
 
unsigned int wined3d_bind_flags_from_dxgi_usage (DXGI_USAGE dxgi_usage)
 
unsigned int dxgi_swapchain_flags_from_wined3d (unsigned int wined3d_flags)
 
static unsigned int wined3d_swapchain_flags_from_dxgi (unsigned int flags)
 
HRESULT wined3d_swapchain_desc_from_dxgi (struct wined3d_swapchain_desc *wined3d_desc, IDXGIOutput *dxgi_containing_output, HWND window, const DXGI_SWAP_CHAIN_DESC1 *dxgi_desc, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *dxgi_fullscreen_desc)
 
HRESULT dxgi_get_private_data (struct wined3d_private_store *store, REFGUID guid, UINT *data_size, void *data)
 
HRESULT dxgi_set_private_data (struct wined3d_private_store *store, REFGUID guid, UINT data_size, const void *data)
 
HRESULT dxgi_set_private_data_interface (struct wined3d_private_store *store, REFGUID guid, const IUnknown *object)
 

Macro Definition Documentation

◆ DXGI_WINED3D_SWAPCHAIN_FLAGS

#define DXGI_WINED3D_SWAPCHAIN_FLAGS
Value:
#define WINED3D_SWAPCHAIN_RESTORE_WINDOW_RECT
Definition: wined3d.h:899
#define WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE
Definition: wined3d.h:904
#define WINED3D_SWAPCHAIN_REGISTER_STATE
Definition: wined3d.h:902
#define WINED3D_SWAPCHAIN_USE_CLOSEST_MATCHING_MODE
Definition: wined3d.h:898

Definition at line 521 of file utils.c.

◆ WINE_DXGI_TO_STR

#define WINE_DXGI_TO_STR (   x)    case x: return #x

Definition at line 24 of file utils.c.

Function Documentation

◆ debug_dxgi_format()

const char * debug_dxgi_format ( DXGI_FORMAT  format)

Definition at line 47 of file utils.c.

48{
49 switch(format)
50 {
154 default:
155 FIXME("Unrecognized DXGI_FORMAT %#x.\n", format);
156 return "unrecognized";
157 }
158}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define WINE_DXGI_TO_STR(x)
Definition: utils.c:24
@ DXGI_FORMAT_R16_UINT
Definition: dxgiformat.idl:80
@ DXGI_FORMAT_B8G8R8A8_UNORM
Definition: dxgiformat.idl:110
@ DXGI_FORMAT_R8_TYPELESS
Definition: dxgiformat.idl:83
@ DXGI_FORMAT_BC3_UNORM_SRGB
Definition: dxgiformat.idl:101
@ DXGI_FORMAT_R8G8_B8G8_UNORM
Definition: dxgiformat.idl:91
@ DXGI_FORMAT_R32G32B32_TYPELESS
Definition: dxgiformat.idl:28
@ DXGI_FORMAT_BC3_TYPELESS
Definition: dxgiformat.idl:99
@ DXGI_FORMAT_R16G16_SNORM
Definition: dxgiformat.idl:60
@ DXGI_FORMAT_D32_FLOAT_S8X24_UINT
Definition: dxgiformat.idl:43
@ DXGI_FORMAT_R32G32B32A32_SINT
Definition: dxgiformat.idl:27
@ DXGI_FORMAT_BC5_UNORM
Definition: dxgiformat.idl:106
@ DXGI_FORMAT_BC1_UNORM
Definition: dxgiformat.idl:94
@ DXGI_FORMAT_R8G8_UINT
Definition: dxgiformat.idl:73
@ DXGI_FORMAT_R32G32B32A32_UINT
Definition: dxgiformat.idl:26
@ DXGI_FORMAT_R16G16B16A16_SNORM
Definition: dxgiformat.idl:36
@ DXGI_FORMAT_R32_FLOAT
Definition: dxgiformat.idl:64
@ DXGI_FORMAT_R16G16B16A16_UNORM
Definition: dxgiformat.idl:34
@ DXGI_FORMAT_R32_SINT
Definition: dxgiformat.idl:66
@ DXGI_FORMAT_R8G8_UNORM
Definition: dxgiformat.idl:72
@ DXGI_FORMAT_R16G16_UNORM
Definition: dxgiformat.idl:58
@ DXGI_FORMAT_BC1_UNORM_SRGB
Definition: dxgiformat.idl:95
@ DXGI_FORMAT_R16G16_SINT
Definition: dxgiformat.idl:61
@ DXGI_FORMAT_R24_UNORM_X8_TYPELESS
Definition: dxgiformat.idl:69
@ DXGI_FORMAT_R8G8B8A8_TYPELESS
Definition: dxgiformat.idl:50
@ DXGI_FORMAT_BC2_TYPELESS
Definition: dxgiformat.idl:96
@ DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
Definition: dxgiformat.idl:44
@ DXGI_FORMAT_R32G32B32_FLOAT
Definition: dxgiformat.idl:29
@ DXGI_FORMAT_R32G32B32_SINT
Definition: dxgiformat.idl:31
@ DXGI_FORMAT_R32G32B32A32_TYPELESS
Definition: dxgiformat.idl:24
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
Definition: dxgiformat.idl:114
@ DXGI_FORMAT_B8G8R8X8_TYPELESS
Definition: dxgiformat.idl:115
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
Definition: dxgiformat.idl:113
@ DXGI_FORMAT_UNKNOWN
Definition: dxgiformat.idl:23
@ DXGI_FORMAT_X24_TYPELESS_G8_UINT
Definition: dxgiformat.idl:70
@ DXGI_FORMAT_R16_SINT
Definition: dxgiformat.idl:82
@ DXGI_FORMAT_R1_UNORM
Definition: dxgiformat.idl:89
@ DXGI_FORMAT_R16G16B16A16_UINT
Definition: dxgiformat.idl:35
@ DXGI_FORMAT_R16_UNORM
Definition: dxgiformat.idl:79
@ DXGI_FORMAT_R8G8B8A8_SINT
Definition: dxgiformat.idl:55
@ DXGI_FORMAT_D24_UNORM_S8_UINT
Definition: dxgiformat.idl:68
@ DXGI_FORMAT_R8G8B8A8_SNORM
Definition: dxgiformat.idl:54
@ DXGI_FORMAT_A8_UNORM
Definition: dxgiformat.idl:88
@ DXGI_FORMAT_R8G8B8A8_UINT
Definition: dxgiformat.idl:53
@ DXGI_FORMAT_R10G10B10A2_TYPELESS
Definition: dxgiformat.idl:46
@ DXGI_FORMAT_R32G32_FLOAT
Definition: dxgiformat.idl:39
@ DXGI_FORMAT_BC6H_UF16
Definition: dxgiformat.idl:118
@ DXGI_FORMAT_BC6H_SF16
Definition: dxgiformat.idl:119
@ DXGI_FORMAT_R10G10B10A2_UNORM
Definition: dxgiformat.idl:47
@ DXGI_FORMAT_R8_SNORM
Definition: dxgiformat.idl:86
@ DXGI_FORMAT_R9G9B9E5_SHAREDEXP
Definition: dxgiformat.idl:90
@ DXGI_FORMAT_R16G16B16A16_TYPELESS
Definition: dxgiformat.idl:32
@ DXGI_FORMAT_R16G16B16A16_FLOAT
Definition: dxgiformat.idl:33
@ DXGI_FORMAT_BC7_TYPELESS
Definition: dxgiformat.idl:120
@ DXGI_FORMAT_R32_TYPELESS
Definition: dxgiformat.idl:62
@ DXGI_FORMAT_R8_UNORM
Definition: dxgiformat.idl:84
@ DXGI_FORMAT_R32G32_UINT
Definition: dxgiformat.idl:40
@ DXGI_FORMAT_R11G11B10_FLOAT
Definition: dxgiformat.idl:49
@ DXGI_FORMAT_R8G8B8A8_UNORM
Definition: dxgiformat.idl:51
@ DXGI_FORMAT_G8R8_G8B8_UNORM
Definition: dxgiformat.idl:92
@ DXGI_FORMAT_YUY2
Definition: dxgiformat.idl:130
@ DXGI_FORMAT_D16_UNORM
Definition: dxgiformat.idl:78
@ DXGI_FORMAT_R16_FLOAT
Definition: dxgiformat.idl:77
@ DXGI_FORMAT_R10G10B10A2_UINT
Definition: dxgiformat.idl:48
@ DXGI_FORMAT_BC6H_TYPELESS
Definition: dxgiformat.idl:117
@ DXGI_FORMAT_BC7_UNORM
Definition: dxgiformat.idl:121
@ DXGI_FORMAT_BC5_TYPELESS
Definition: dxgiformat.idl:105
@ DXGI_FORMAT_R32G32_SINT
Definition: dxgiformat.idl:41
@ DXGI_FORMAT_BC2_UNORM_SRGB
Definition: dxgiformat.idl:98
@ DXGI_FORMAT_R16_SNORM
Definition: dxgiformat.idl:81
@ DXGI_FORMAT_R8_SINT
Definition: dxgiformat.idl:87
@ DXGI_FORMAT_BC5_SNORM
Definition: dxgiformat.idl:107
@ DXGI_FORMAT_R32_UINT
Definition: dxgiformat.idl:65
@ DXGI_FORMAT_BC4_TYPELESS
Definition: dxgiformat.idl:102
@ DXGI_FORMAT_R32G32B32A32_FLOAT
Definition: dxgiformat.idl:25
@ DXGI_FORMAT_R24G8_TYPELESS
Definition: dxgiformat.idl:67
@ DXGI_FORMAT_R8G8_SINT
Definition: dxgiformat.idl:75
@ DXGI_FORMAT_R16_TYPELESS
Definition: dxgiformat.idl:76
@ DXGI_FORMAT_BC3_UNORM
Definition: dxgiformat.idl:100
@ DXGI_FORMAT_R32G32B32_UINT
Definition: dxgiformat.idl:30
@ DXGI_FORMAT_R16G16_TYPELESS
Definition: dxgiformat.idl:56
@ DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
Definition: dxgiformat.idl:52
@ DXGI_FORMAT_R16G16_UINT
Definition: dxgiformat.idl:59
@ DXGI_FORMAT_D32_FLOAT
Definition: dxgiformat.idl:63
@ DXGI_FORMAT_R8G8_TYPELESS
Definition: dxgiformat.idl:71
@ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
Definition: dxgiformat.idl:112
@ DXGI_FORMAT_R16G16B16A16_SINT
Definition: dxgiformat.idl:37
@ DXGI_FORMAT_BC1_TYPELESS
Definition: dxgiformat.idl:93
@ DXGI_FORMAT_BC7_UNORM_SRGB
Definition: dxgiformat.idl:122
@ DXGI_FORMAT_BC2_UNORM
Definition: dxgiformat.idl:97
@ DXGI_FORMAT_R32G32_TYPELESS
Definition: dxgiformat.idl:38
@ DXGI_FORMAT_R32G8X24_TYPELESS
Definition: dxgiformat.idl:42
@ DXGI_FORMAT_B4G4R4A4_UNORM
Definition: dxgiformat.idl:138
@ DXGI_FORMAT_R16G16_FLOAT
Definition: dxgiformat.idl:57
@ DXGI_FORMAT_B5G6R5_UNORM
Definition: dxgiformat.idl:108
@ DXGI_FORMAT_BC4_UNORM
Definition: dxgiformat.idl:103
@ DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
Definition: dxgiformat.idl:45
@ DXGI_FORMAT_R8G8_SNORM
Definition: dxgiformat.idl:74
@ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
Definition: dxgiformat.idl:116
@ DXGI_FORMAT_R8_UINT
Definition: dxgiformat.idl:85
@ DXGI_FORMAT_BC4_SNORM
Definition: dxgiformat.idl:104
@ DXGI_FORMAT_NV12
Definition: dxgiformat.idl:126
@ DXGI_FORMAT_B5G5R5A1_UNORM
Definition: dxgiformat.idl:109
@ DXGI_FORMAT_B8G8R8X8_UNORM
Definition: dxgiformat.idl:111

Referenced by d3d10_device_CheckFormatSupport(), d3d10_device_CheckMultisampleQualityLevels(), d3d10_device_IASetIndexBuffer(), d3d10_device_ResolveSubresource(), d3d11_device_CheckMultisampleQualityLevels(), d3d11_device_context_IASetIndexBuffer(), d3d11_device_context_ResolveSubresource(), d3d11_swapchain_ResizeBuffers(), d3d11_swapchain_ResizeBuffers1(), d3d12_swapchain_ResizeBuffers(), d3d12_swapchain_ResizeBuffers1(), dxgi_output_GetDisplayModeList(), dxgi_output_GetDisplayModeList1(), and select_vk_format().

◆ debug_dxgi_mode()

const char * debug_dxgi_mode ( const DXGI_MODE_DESC *  desc)

Definition at line 388 of file utils.c.

389{
390 if (!desc)
391 return "(null)";
392
393 return wine_dbg_sprintf("resolution %ux%u, refresh rate %u / %u, "
394 "format %s, scanline ordering %#x, scaling %#x",
395 desc->Width, desc->Height, desc->RefreshRate.Numerator, desc->RefreshRate.Denominator,
396 debug_dxgi_format(desc->Format), desc->ScanlineOrdering, desc->Scaling);
397}
const char * debug_dxgi_format(DXGI_FORMAT format)
Definition: utils.c:47
const char * wine_dbg_sprintf(const char *format,...)
Definition: compat.c:296
D3D11_SHADER_VARIABLE_DESC desc
Definition: reflection.c:1683

Referenced by dxgi_output_FindClosestMatchingMode(), and dxgi_swapchain_resize_target().

◆ debug_dxgi_mode1()

const char * debug_dxgi_mode1 ( const DXGI_MODE_DESC1 *  desc)

Definition at line 399 of file utils.c.

400{
401 if (!desc)
402 return "(null)";
403
404 return wine_dbg_sprintf("resolution %ux%u, refresh rate %u / %u, "
405 "format %s, scanline ordering %#x, scaling %#x, stereo %#x",
406 desc->Width, desc->Height, desc->RefreshRate.Numerator, desc->RefreshRate.Denominator,
407 debug_dxgi_format(desc->Format), desc->ScanlineOrdering, desc->Scaling, desc->Stereo);
408}

Referenced by dxgi_output_FindClosestMatchingMode1().

◆ debug_feature_level()

static const char * debug_feature_level ( D3D_FEATURE_LEVEL  feature_level)
static

Definition at line 26 of file utils.c.

27{
28 switch (feature_level)
29 {
41 default:
42 FIXME("Unrecognized D3D_FEATURE_LEVEL %#x.\n", feature_level);
43 return "unrecognized";
44 }
45}
@ D3D_FEATURE_LEVEL_10_0
Definition: d3dcommon.idl:107
@ D3D_FEATURE_LEVEL_9_1
Definition: d3dcommon.idl:104
@ D3D_FEATURE_LEVEL_12_2
Definition: d3dcommon.idl:113
@ D3D_FEATURE_LEVEL_9_2
Definition: d3dcommon.idl:105
@ D3D_FEATURE_LEVEL_9_3
Definition: d3dcommon.idl:106
@ D3D_FEATURE_LEVEL_10_1
Definition: d3dcommon.idl:108
@ D3D_FEATURE_LEVEL_1_0_CORE
Definition: d3dcommon.idl:103
@ D3D_FEATURE_LEVEL_12_1
Definition: d3dcommon.idl:112
@ D3D_FEATURE_LEVEL_12_0
Definition: d3dcommon.idl:111
@ D3D_FEATURE_LEVEL_11_0
Definition: d3dcommon.idl:109
@ D3D_FEATURE_LEVEL_11_1
Definition: d3dcommon.idl:110

Referenced by dump_feature_levels().

◆ dump_feature_levels()

void dump_feature_levels ( const D3D_FEATURE_LEVEL *  feature_levels,
unsigned int  level_count 
)

Definition at line 410 of file utils.c.

411{
412 unsigned int i;
413
414 if (!feature_levels || !level_count)
415 {
416 TRACE("Feature levels: (null).\n");
417 return;
418 }
419
420 TRACE("Feature levels (count = %u):\n", level_count);
421 for (i = 0; i < level_count; ++i)
422 TRACE(" [%u] = %s.\n", i, debug_feature_level(feature_levels[i]));
423}
static const char * debug_feature_level(D3D_FEATURE_LEVEL feature_level)
Definition: utils.c:26
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static D3D_DRIVER_TYPE HMODULE UINT const D3D_FEATURE_LEVEL * feature_levels
Definition: hlsl_d3d11.c:28
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by DXGID3D10CreateDevice().

◆ dxgi_format_from_wined3dformat()

DXGI_FORMAT dxgi_format_from_wined3dformat ( enum wined3d_format_id  format)

Definition at line 162 of file utils.c.

163{
164 switch(format)
165 {
269 default:
270 FIXME("Unhandled wined3d format %#x.\n", format);
271 return DXGI_FORMAT_UNKNOWN;
272 }
273}
@ WINED3DFMT_R32G32B32_TYPELESS
Definition: wined3d.h:160
@ WINED3DFMT_R8_TYPELESS
Definition: wined3d.h:217
@ WINED3DFMT_BC5_UNORM
Definition: wined3d.h:240
@ WINED3DFMT_R32G32B32_SINT
Definition: wined3d.h:163
@ WINED3DFMT_R8G8_UNORM
Definition: wined3d.h:206
@ WINED3DFMT_BC7_TYPELESS
Definition: wined3d.h:253
@ WINED3DFMT_BC7_UNORM_SRGB
Definition: wined3d.h:255
@ WINED3DFMT_R32G32_SINT
Definition: wined3d.h:173
@ WINED3DFMT_X24_TYPELESS_G8_UINT
Definition: wined3d.h:204
@ WINED3DFMT_BC2_UNORM_SRGB
Definition: wined3d.h:232
@ WINED3DFMT_B4G4R4A4_UNORM
Definition: wined3d.h:130
@ WINED3DFMT_R16G16_UINT
Definition: wined3d.h:193
@ WINED3DFMT_R16G16_UNORM
Definition: wined3d.h:192
@ WINED3DFMT_R8G8_TYPELESS
Definition: wined3d.h:205
@ WINED3DFMT_BC5_SNORM
Definition: wined3d.h:241
@ WINED3DFMT_R32_SINT
Definition: wined3d.h:200
@ WINED3DFMT_D32_FLOAT
Definition: wined3d.h:197
@ WINED3DFMT_R10G10B10A2_UNORM
Definition: wined3d.h:179
@ WINED3DFMT_R8_UINT
Definition: wined3d.h:219
@ WINED3DFMT_R32G32_FLOAT
Definition: wined3d.h:171
@ WINED3DFMT_R16G16_SNORM
Definition: wined3d.h:194
@ WINED3DFMT_B8G8R8A8_UNORM
Definition: wined3d.h:244
@ WINED3DFMT_R16_UNORM
Definition: wined3d.h:213
@ WINED3DFMT_R24G8_TYPELESS
Definition: wined3d.h:201
@ WINED3DFMT_R10G10B10A2_TYPELESS
Definition: wined3d.h:178
@ WINED3DFMT_R32G32_UINT
Definition: wined3d.h:172
@ WINED3DFMT_R32G32B32_UINT
Definition: wined3d.h:162
@ WINED3DFMT_BC4_TYPELESS
Definition: wined3d.h:236
@ WINED3DFMT_BC2_UNORM
Definition: wined3d.h:231
@ WINED3DFMT_R8_UNORM
Definition: wined3d.h:218
@ WINED3DFMT_R8G8B8A8_SNORM
Definition: wined3d.h:188
@ WINED3DFMT_NV12
Definition: wined3d.h:279
@ WINED3DFMT_R10G10B10_XR_BIAS_A2_UNORM
Definition: wined3d.h:182
@ WINED3DFMT_R16_TYPELESS
Definition: wined3d.h:210
@ WINED3DFMT_R16G16B16A16_SINT
Definition: wined3d.h:169
@ WINED3DFMT_R16_SINT
Definition: wined3d.h:216
@ WINED3DFMT_R8G8_B8G8_UNORM
Definition: wined3d.h:225
@ WINED3DFMT_R32G32B32_FLOAT
Definition: wined3d.h:161
@ WINED3DFMT_B8G8R8X8_UNORM
Definition: wined3d.h:245
@ WINED3DFMT_R32_FLOAT_X8X24_TYPELESS
Definition: wined3d.h:176
@ WINED3DFMT_BC1_UNORM_SRGB
Definition: wined3d.h:229
@ WINED3DFMT_R16G16B16A16_FLOAT
Definition: wined3d.h:165
@ WINED3DFMT_D16_UNORM
Definition: wined3d.h:212
@ WINED3DFMT_R8G8_SNORM
Definition: wined3d.h:208
@ WINED3DFMT_UNKNOWN
Definition: wined3d.h:127
@ WINED3DFMT_R8G8B8A8_TYPELESS
Definition: wined3d.h:184
@ WINED3DFMT_R8G8_UINT
Definition: wined3d.h:207
@ WINED3DFMT_BC7_UNORM
Definition: wined3d.h:254
@ WINED3DFMT_R8G8B8A8_UNORM_SRGB
Definition: wined3d.h:186
@ WINED3DFMT_R9G9B9E5_SHAREDEXP
Definition: wined3d.h:224
@ WINED3DFMT_B8G8R8X8_TYPELESS
Definition: wined3d.h:248
@ WINED3DFMT_R32_UINT
Definition: wined3d.h:199
@ WINED3DFMT_B5G5R5A1_UNORM
Definition: wined3d.h:243
@ WINED3DFMT_R16_FLOAT
Definition: wined3d.h:211
@ WINED3DFMT_R8G8B8A8_UNORM
Definition: wined3d.h:185
@ WINED3DFMT_R10G10B10A2_UINT
Definition: wined3d.h:180
@ WINED3DFMT_G8R8_G8B8_UNORM
Definition: wined3d.h:226
@ WINED3DFMT_R32G32B32A32_UINT
Definition: wined3d.h:158
@ WINED3DFMT_R16G16B16A16_UNORM
Definition: wined3d.h:166
@ WINED3DFMT_BC3_UNORM
Definition: wined3d.h:234
@ WINED3DFMT_BC6H_UF16
Definition: wined3d.h:251
@ WINED3DFMT_R16G16B16A16_TYPELESS
Definition: wined3d.h:164
@ WINED3DFMT_R24_UNORM_X8_TYPELESS
Definition: wined3d.h:203
@ WINED3DFMT_D32_FLOAT_S8X24_UINT
Definition: wined3d.h:175
@ WINED3DFMT_R32_FLOAT
Definition: wined3d.h:198
@ WINED3DFMT_X32_TYPELESS_G8X24_UINT
Definition: wined3d.h:177
@ WINED3DFMT_B5G6R5_UNORM
Definition: wined3d.h:242
@ WINED3DFMT_R16G16B16A16_UINT
Definition: wined3d.h:167
@ WINED3DFMT_BC1_TYPELESS
Definition: wined3d.h:227
@ WINED3DFMT_B8G8R8X8_UNORM_SRGB
Definition: wined3d.h:249
@ WINED3DFMT_BC4_UNORM
Definition: wined3d.h:237
@ WINED3DFMT_B8G8R8A8_TYPELESS
Definition: wined3d.h:246
@ WINED3DFMT_BC3_TYPELESS
Definition: wined3d.h:233
@ WINED3DFMT_R16G16_TYPELESS
Definition: wined3d.h:190
@ WINED3DFMT_R8_SNORM
Definition: wined3d.h:220
@ WINED3DFMT_YUY2
Definition: wined3d.h:258
@ WINED3DFMT_R16G16_FLOAT
Definition: wined3d.h:191
@ WINED3DFMT_R8G8B8A8_UINT
Definition: wined3d.h:187
@ WINED3DFMT_R16_SNORM
Definition: wined3d.h:215
@ WINED3DFMT_BC6H_TYPELESS
Definition: wined3d.h:250
@ WINED3DFMT_BC1_UNORM
Definition: wined3d.h:228
@ WINED3DFMT_R32G32B32A32_TYPELESS
Definition: wined3d.h:156
@ WINED3DFMT_R32_TYPELESS
Definition: wined3d.h:196
@ WINED3DFMT_R32G8X24_TYPELESS
Definition: wined3d.h:174
@ WINED3DFMT_R16_UINT
Definition: wined3d.h:214
@ WINED3DFMT_R8_SINT
Definition: wined3d.h:221
@ WINED3DFMT_BC5_TYPELESS
Definition: wined3d.h:239
@ WINED3DFMT_R8G8_SINT
Definition: wined3d.h:209
@ WINED3DFMT_R32G32B32A32_SINT
Definition: wined3d.h:159
@ WINED3DFMT_R8G8B8A8_SINT
Definition: wined3d.h:189
@ WINED3DFMT_R1_UNORM
Definition: wined3d.h:223
@ WINED3DFMT_R11G11B10_FLOAT
Definition: wined3d.h:183
@ WINED3DFMT_B8G8R8A8_UNORM_SRGB
Definition: wined3d.h:247
@ WINED3DFMT_BC3_UNORM_SRGB
Definition: wined3d.h:235
@ WINED3DFMT_A8_UNORM
Definition: wined3d.h:222
@ WINED3DFMT_R32G32B32A32_FLOAT
Definition: wined3d.h:157
@ WINED3DFMT_BC2_TYPELESS
Definition: wined3d.h:230
@ WINED3DFMT_BC6H_SF16
Definition: wined3d.h:252
@ WINED3DFMT_D24_UNORM_S8_UINT
Definition: wined3d.h:202
@ WINED3DFMT_R16G16B16A16_SNORM
Definition: wined3d.h:168
@ WINED3DFMT_BC4_SNORM
Definition: wined3d.h:238
@ WINED3DFMT_R16G16_SINT
Definition: wined3d.h:195
@ WINED3DFMT_R32G32_TYPELESS
Definition: wined3d.h:170

Referenced by d3d10_device_IAGetIndexBuffer(), d3d11_device_context_IAGetIndexBuffer(), d3d11_swapchain_GetDesc(), d3d11_swapchain_GetDesc1(), d3d11_texture2d_GetDesc(), dxgi_device_parent_register_swapchain_texture(), dxgi_mode1_from_wined3d(), dxgi_mode_from_wined3d(), and dxgi_surface_GetDesc().

◆ dxgi_get_private_data()

HRESULT dxgi_get_private_data ( struct wined3d_private_store *  store,
REFGUID  guid,
UINT *  data_size,
void *  data 
)

Definition at line 624 of file utils.c.

626{
627 const struct wined3d_private_data *stored_data;
628 DWORD size_in;
629 HRESULT hr;
630
631 if (!data_size)
632 return E_INVALIDARG;
633
635 if (!(stored_data = wined3d_private_store_get_private_data(store, guid)))
636 {
638 *data_size = 0;
639 goto done;
640 }
641
642 size_in = *data_size;
643 *data_size = stored_data->size;
644 if (!data)
645 {
646 hr = S_OK;
647 goto done;
648 }
649 if (size_in < stored_data->size)
650 {
652 goto done;
653 }
654
655 if (stored_data->flags & WINED3DSPD_IUNKNOWN)
656 IUnknown_AddRef(stored_data->content.object);
657 memcpy(data, stored_data->content.data, stored_data->size);
658 hr = S_OK;
659
660done:
662
663 return hr;
664}
#define E_INVALIDARG
Definition: ddrawi.h:101
HRESULT hr
Definition: delayimp.cpp:582
GUID guid
Definition: version.c:147
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLsizeiptr size
Definition: glext.h:5919
#define S_OK
Definition: intsafe.h:52
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
union wined3d_private_data::@4825 content
IUnknown * object
Definition: wined3d.h:2285
static struct wined3d_private_data * wined3d_private_store_get_private_data(const struct wined3d_private_store *store, const GUID *tag)
Definition: wined3d.h:2612
#define WINED3DSPD_IUNKNOWN
Definition: wined3d.h:1018
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:544
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:539
#define DXGI_ERROR_NOT_FOUND
Definition: winerror.h:7122
#define DXGI_ERROR_MORE_DATA
Definition: winerror.h:7123

Referenced by d3d11_swapchain_GetPrivateData(), d3d12_swapchain_GetPrivateData(), dxgi_adapter_GetPrivateData(), dxgi_device_GetPrivateData(), dxgi_factory_GetPrivateData(), dxgi_output_GetPrivateData(), and dxgi_resource_GetPrivateData().

◆ dxgi_rational_to_uint()

static unsigned int dxgi_rational_to_uint ( const DXGI_RATIONAL *  rational)
static

Definition at line 425 of file utils.c.

426{
427 if (rational->Denominator)
428 return rational->Numerator / rational->Denominator;
429 else
430 return rational->Numerator;
431}

Referenced by wined3d_display_mode_from_dxgi(), wined3d_display_mode_from_dxgi1(), and wined3d_swapchain_desc_from_dxgi().

◆ dxgi_sample_desc_from_wined3d()

void dxgi_sample_desc_from_wined3d ( DXGI_SAMPLE_DESC *  desc,
enum wined3d_multisample_type  wined3d_type,
unsigned int  wined3d_quality 
)

Definition at line 447 of file utils.c.

449{
450 desc->Count = wined3d_type == WINED3D_MULTISAMPLE_NONE ? 1 : wined3d_type;
451 desc->Quality = wined3d_quality;
452}
@ WINED3D_MULTISAMPLE_NONE
Definition: wined3d.h:573

Referenced by d3d11_swapchain_GetDesc(), d3d11_swapchain_GetDesc1(), and dxgi_surface_GetDesc().

◆ dxgi_set_private_data()

HRESULT dxgi_set_private_data ( struct wined3d_private_store *  store,
REFGUID  guid,
UINT  data_size,
const void *  data 
)

Definition at line 666 of file utils.c.

668{
670 HRESULT hr;
671
672 if (!data)
673 {
676 {
678 return S_FALSE;
679 }
680
683
684 return S_OK;
685 }
686
688 hr = wined3d_private_store_set_private_data(store, guid, data, data_size, 0);
690
691 return hr;
692}
uint32_t entry
Definition: isohybrid.c:63
static void wined3d_private_store_free_private_data(struct wined3d_private_store *store, struct wined3d_private_data *entry)
Definition: wined3d.h:2627
static HRESULT wined3d_private_store_set_private_data(struct wined3d_private_store *store, const GUID *guid, const void *data, DWORD data_size, uint32_t flags)
Definition: wined3d.h:2648
#define S_FALSE
Definition: winerror.h:3451

Referenced by d3d11_swapchain_SetPrivateData(), d3d12_swapchain_SetPrivateData(), dxgi_adapter_SetPrivateData(), dxgi_device_SetPrivateData(), dxgi_factory_SetPrivateData(), dxgi_output_SetPrivateData(), dxgi_resource_SetPrivateData(), and dxgi_set_private_data_interface().

◆ dxgi_set_private_data_interface()

HRESULT dxgi_set_private_data_interface ( struct wined3d_private_store *  store,
REFGUID  guid,
const IUnknown *  object 
)

Definition at line 694 of file utils.c.

696{
697 HRESULT hr;
698
699 if (!object)
700 return dxgi_set_private_data(store, guid, sizeof(object), &object);
701
704 guid, object, sizeof(object), WINED3DSPD_IUNKNOWN);
706
707 return hr;
708}
HRESULT dxgi_set_private_data(struct wined3d_private_store *store, REFGUID guid, UINT data_size, const void *data)
Definition: utils.c:666

Referenced by d3d11_swapchain_SetPrivateDataInterface(), d3d12_swapchain_SetPrivateDataInterface(), dxgi_adapter_SetPrivateDataInterface(), dxgi_device_SetPrivateDataInterface(), dxgi_factory_SetPrivateDataInterface(), dxgi_output_SetPrivateDataInterface(), and dxgi_resource_SetPrivateDataInterface().

◆ dxgi_swapchain_flags_from_wined3d()

unsigned int dxgi_swapchain_flags_from_wined3d ( unsigned int  wined3d_flags)

Definition at line 525 of file utils.c.

526{
527 unsigned int flags = 0;
528
529 wined3d_flags &= ~DXGI_WINED3D_SWAPCHAIN_FLAGS;
530
531 if (wined3d_flags & WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH)
532 {
533 wined3d_flags &= ~WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH;
535 }
536
537 if (wined3d_flags & WINED3D_SWAPCHAIN_GDI_COMPATIBLE)
538 {
539 wined3d_flags &= ~WINED3D_SWAPCHAIN_GDI_COMPATIBLE;
541 }
542
543 if (wined3d_flags)
544 FIXME("Unhandled flags %#x.\n", flags);
545
546 return flags;
547}
@ DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH
Definition: dxgi.idl:120
@ DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE
Definition: dxgi.idl:121
GLbitfield flags
Definition: glext.h:7161
#define WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH
Definition: wined3d.h:897
#define WINED3D_SWAPCHAIN_GDI_COMPATIBLE
Definition: wined3d.h:900

Referenced by d3d11_swapchain_GetDesc(), and d3d11_swapchain_GetDesc1().

◆ dxgi_usage_from_wined3d_bind_flags()

DXGI_USAGE dxgi_usage_from_wined3d_bind_flags ( unsigned int  wined3d_bind_flags)

Definition at line 490 of file utils.c.

491{
492 DXGI_USAGE dxgi_usage = 0;
493
494 if (wined3d_bind_flags & WINED3D_BIND_SHADER_RESOURCE)
495 dxgi_usage |= DXGI_USAGE_SHADER_INPUT;
496 if (wined3d_bind_flags & WINED3D_BIND_RENDER_TARGET)
498 if (wined3d_bind_flags & WINED3D_BIND_UNORDERED_ACCESS)
499 dxgi_usage |= DXGI_USAGE_UNORDERED_ACCESS;
500
501 return dxgi_usage;
502}
const DXGI_USAGE DXGI_USAGE_UNORDERED_ACCESS
Definition: dxgi.idl:49
const DXGI_USAGE DXGI_USAGE_RENDER_TARGET_OUTPUT
Definition: dxgi.idl:44
const DXGI_USAGE DXGI_USAGE_SHADER_INPUT
Definition: dxgi.idl:43
UINT DXGI_USAGE
Definition: dxgi.idl:42
#define WINED3D_BIND_UNORDERED_ACCESS
Definition: wined3d.h:916
#define WINED3D_BIND_SHADER_RESOURCE
Definition: wined3d.h:912
#define WINED3D_BIND_RENDER_TARGET
Definition: wined3d.h:914

Referenced by d3d11_swapchain_GetDesc(), d3d11_swapchain_GetDesc1(), and dxgi_resource_GetUsage().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( dxgi  )

◆ wined3d_bind_flags_from_dxgi_usage()

unsigned int wined3d_bind_flags_from_dxgi_usage ( DXGI_USAGE  dxgi_usage)

Definition at line 504 of file utils.c.

505{
506 unsigned int wined3d_bind_flags = 0;
507
508 if (dxgi_usage & DXGI_USAGE_SHADER_INPUT)
509 wined3d_bind_flags |= WINED3D_BIND_SHADER_RESOURCE;
510 if (dxgi_usage & DXGI_USAGE_RENDER_TARGET_OUTPUT)
511 wined3d_bind_flags |= WINED3D_BIND_RENDER_TARGET;
512 if (dxgi_usage & DXGI_USAGE_UNORDERED_ACCESS)
513 wined3d_bind_flags |= WINED3D_BIND_UNORDERED_ACCESS;
514
516 if (dxgi_usage)
517 FIXME("Unhandled DXGI usage %#x.\n", dxgi_usage);
518 return wined3d_bind_flags;
519}

Referenced by dxgi_device_CreateSurface(), and wined3d_swapchain_desc_from_dxgi().

◆ wined3d_display_mode_from_dxgi()

void wined3d_display_mode_from_dxgi ( struct wined3d_display_mode *  wined3d_mode,
const DXGI_MODE_DESC *  mode 
)

Definition at line 469 of file utils.c.

471{
472 wined3d_mode->width = mode->Width;
473 wined3d_mode->height = mode->Height;
474 wined3d_mode->refresh_rate = dxgi_rational_to_uint(&mode->RefreshRate);
475 wined3d_mode->format_id = wined3dformat_from_dxgi_format(mode->Format);
476 wined3d_mode->scanline_ordering = wined3d_scanline_ordering_from_dxgi(mode->ScanlineOrdering);
477}
enum wined3d_format_id wined3dformat_from_dxgi_format(DXGI_FORMAT format)
Definition: utils.c:275
static unsigned int dxgi_rational_to_uint(const DXGI_RATIONAL *rational)
Definition: utils.c:425
static enum wined3d_scanline_ordering wined3d_scanline_ordering_from_dxgi(DXGI_MODE_SCANLINE_ORDER scanline_order)
Definition: utils.c:433
GLenum mode
Definition: glext.h:6217
enum wined3d_format_id format_id
Definition: wined3d.h:1614
enum wined3d_scanline_ordering scanline_ordering
Definition: wined3d.h:1615

Referenced by dxgi_output_FindClosestMatchingMode(), and dxgi_swapchain_resize_target().

◆ wined3d_display_mode_from_dxgi1()

void wined3d_display_mode_from_dxgi1 ( struct wined3d_display_mode *  wined3d_mode,
const DXGI_MODE_DESC1 *  mode 
)

Definition at line 479 of file utils.c.

481{
482 wined3d_mode->width = mode->Width;
483 wined3d_mode->height = mode->Height;
484 wined3d_mode->refresh_rate = dxgi_rational_to_uint(&mode->RefreshRate);
485 wined3d_mode->format_id = wined3dformat_from_dxgi_format(mode->Format);
486 wined3d_mode->scanline_ordering = wined3d_scanline_ordering_from_dxgi(mode->ScanlineOrdering);
487 FIXME("Ignoring stereo %#x.\n", mode->Stereo);
488}

Referenced by dxgi_output_FindClosestMatchingMode1().

◆ wined3d_sample_desc_from_dxgi()

void wined3d_sample_desc_from_dxgi ( enum wined3d_multisample_type *  wined3d_type,
unsigned int *  wined3d_quality,
const DXGI_SAMPLE_DESC *  dxgi_desc 
)

Definition at line 454 of file utils.c.

456{
457 if (dxgi_desc->Count > 1)
458 {
459 *wined3d_type = dxgi_desc->Count;
460 *wined3d_quality = dxgi_desc->Quality;
461 }
462 else
463 {
464 *wined3d_type = WINED3D_MULTISAMPLE_NONE;
465 *wined3d_quality = 0;
466 }
467}

Referenced by dxgi_device_CreateSurface(), and wined3d_swapchain_desc_from_dxgi().

◆ wined3d_scanline_ordering_from_dxgi()

static enum wined3d_scanline_ordering wined3d_scanline_ordering_from_dxgi ( DXGI_MODE_SCANLINE_ORDER  scanline_order)
static

Definition at line 433 of file utils.c.

434{
435 switch (scanline_order)
436 {
441 default:
442 FIXME("Unhandled scanline ordering %#x.\n", scanline_order);
444 }
445}
@ DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED
Definition: dxgitype.idl:38
@ DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE
Definition: dxgitype.idl:39
@ WINED3D_SCANLINE_ORDERING_UNKNOWN
Definition: wined3d.h:825
@ WINED3D_SCANLINE_ORDERING_PROGRESSIVE
Definition: wined3d.h:826

Referenced by wined3d_display_mode_from_dxgi(), and wined3d_display_mode_from_dxgi1().

◆ wined3d_swapchain_desc_from_dxgi()

HRESULT wined3d_swapchain_desc_from_dxgi ( struct wined3d_swapchain_desc *  wined3d_desc,
IDXGIOutput *  dxgi_containing_output,
HWND  window,
const DXGI_SWAP_CHAIN_DESC1 *  dxgi_desc,
const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *  dxgi_fullscreen_desc 
)

Definition at line 571 of file utils.c.

574{
575 struct dxgi_output *dxgi_output = unsafe_impl_from_IDXGIOutput(dxgi_containing_output);
576
577 if (dxgi_desc->Scaling != DXGI_SCALING_STRETCH)
578 FIXME("Ignoring scaling %#x.\n", dxgi_desc->Scaling);
580 FIXME("Ignoring alpha mode %#x.\n", dxgi_desc->AlphaMode);
581 if (dxgi_fullscreen_desc && dxgi_fullscreen_desc->ScanlineOrdering)
582 FIXME("Unhandled scanline ordering %#x.\n", dxgi_fullscreen_desc->ScanlineOrdering);
583 if (dxgi_fullscreen_desc && dxgi_fullscreen_desc->Scaling)
584 FIXME("Unhandled mode scaling %#x.\n", dxgi_fullscreen_desc->Scaling);
585
586 switch (dxgi_desc->SwapEffect)
587 {
590 break;
593 break;
596 break;
599 break;
600 default:
601 WARN("Invalid swap effect %#x.\n", dxgi_desc->SwapEffect);
603 }
604
605 wined3d_desc->output = dxgi_output->wined3d_output;
606 wined3d_desc->backbuffer_width = dxgi_desc->Width;
607 wined3d_desc->backbuffer_height = dxgi_desc->Height;
608 wined3d_desc->backbuffer_format = wined3dformat_from_dxgi_format(dxgi_desc->Format);
609 wined3d_desc->backbuffer_count = dxgi_desc->BufferCount;
612 &wined3d_desc->multisample_quality, &dxgi_desc->SampleDesc);
613 wined3d_desc->device_window = window;
614 wined3d_desc->windowed = dxgi_fullscreen_desc ? dxgi_fullscreen_desc->Windowed : TRUE;
615 wined3d_desc->enable_auto_depth_stencil = FALSE;
616 wined3d_desc->auto_depth_stencil_format = 0;
617 wined3d_desc->flags = wined3d_swapchain_flags_from_dxgi(dxgi_desc->Flags);
618 wined3d_desc->refresh_rate = dxgi_fullscreen_desc ? dxgi_rational_to_uint(&dxgi_fullscreen_desc->RefreshRate) : 0;
619 wined3d_desc->auto_restore_display_mode = TRUE;
620
621 return S_OK;
622}
#define WARN(fmt,...)
Definition: precomp.h:61
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
unsigned int wined3d_bind_flags_from_dxgi_usage(DXGI_USAGE dxgi_usage)
Definition: utils.c:504
void wined3d_sample_desc_from_dxgi(enum wined3d_multisample_type *wined3d_type, unsigned int *wined3d_quality, const DXGI_SAMPLE_DESC *dxgi_desc)
Definition: utils.c:454
static unsigned int wined3d_swapchain_flags_from_dxgi(unsigned int flags)
Definition: utils.c:549
@ DXGI_ALPHA_MODE_UNSPECIFIED
Definition: dxgi1_2.idl:34
@ DXGI_ALPHA_MODE_IGNORE
Definition: dxgi1_2.idl:37
@ DXGI_SWAP_EFFECT_SEQUENTIAL
Definition: dxgi.idl:66
@ DXGI_SWAP_EFFECT_DISCARD
Definition: dxgi.idl:65
@ DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
Definition: dxgi.idl:67
@ DXGI_SWAP_EFFECT_FLIP_DISCARD
Definition: dxgi.idl:68
struct dxgi_output * unsafe_impl_from_IDXGIOutput(IDXGIOutput *iface)
Definition: output.c:706
static IHTMLWindow2 * window
Definition: events.c:77
DXGI_FORMAT Format
Definition: dxgi1_2.idl:223
DXGI_ALPHA_MODE AlphaMode
Definition: dxgi1_2.idl:230
DXGI_USAGE BufferUsage
Definition: dxgi1_2.idl:226
DXGI_SWAP_EFFECT SwapEffect
Definition: dxgi1_2.idl:229
DXGI_SAMPLE_DESC SampleDesc
Definition: dxgi1_2.idl:225
DXGI_SCALING Scaling
Definition: dxgi1_2.idl:228
DXGI_MODE_SCANLINE_ORDER ScanlineOrdering
Definition: dxgi1_2.idl:236
DXGI_MODE_SCALING Scaling
Definition: dxgi1_2.idl:237
struct wined3d_output * wined3d_output
Definition: dxgi_private.h:148
unsigned int multisample_quality
Definition: wined3d.h:1778
unsigned int backbuffer_height
Definition: wined3d.h:1773
BOOL auto_restore_display_mode
Definition: wined3d.h:1786
enum wined3d_multisample_type multisample_type
Definition: wined3d.h:1777
enum wined3d_format_id auto_depth_stencil_format
Definition: wined3d.h:1783
struct wined3d_output * output
Definition: wined3d.h:1771
unsigned int backbuffer_width
Definition: wined3d.h:1772
unsigned int backbuffer_count
Definition: wined3d.h:1775
enum wined3d_format_id backbuffer_format
Definition: wined3d.h:1774
enum wined3d_swap_effect swap_effect
Definition: wined3d.h:1779
BOOL enable_auto_depth_stencil
Definition: wined3d.h:1782
unsigned int refresh_rate
Definition: wined3d.h:1785
unsigned int backbuffer_bind_flags
Definition: wined3d.h:1776
@ WINED3D_SWAP_EFFECT_FLIP_DISCARD
Definition: wined3d.h:536
@ WINED3D_SWAP_EFFECT_SEQUENTIAL
Definition: wined3d.h:535
@ WINED3D_SWAP_EFFECT_DISCARD
Definition: wined3d.h:534
@ WINED3D_SWAP_EFFECT_FLIP_SEQUENTIAL
Definition: wined3d.h:537
#define DXGI_ERROR_INVALID_CALL
Definition: winerror.h:7120

Referenced by d3d12_swapchain_init(), d3d12_swapchain_SetFullscreenState(), and dxgi_swapchain_factory_create_swapchain().

◆ wined3d_swapchain_flags_from_dxgi()

static unsigned int wined3d_swapchain_flags_from_dxgi ( unsigned int  flags)
static

Definition at line 549 of file utils.c.

550{
551 unsigned int wined3d_flags = DXGI_WINED3D_SWAPCHAIN_FLAGS; /* WINED3D_SWAPCHAIN_DISCARD_DEPTHSTENCIL? */
552
554 {
555 flags &= ~DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
557 }
558
560 {
561 flags &= ~DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE;
562 wined3d_flags |= WINED3D_SWAPCHAIN_GDI_COMPATIBLE;
563 }
564
565 if (flags)
566 FIXME("Unhandled flags %#x.\n", flags);
567
568 return wined3d_flags;
569}
#define DXGI_WINED3D_SWAPCHAIN_FLAGS
Definition: utils.c:521

Referenced by wined3d_swapchain_desc_from_dxgi().

◆ wined3dformat_from_dxgi_format()

enum wined3d_format_id wined3dformat_from_dxgi_format ( DXGI_FORMAT  format)

Definition at line 275 of file utils.c.

276{
277 switch(format)
278 {
382 default:
383 FIXME("Unhandled DXGI_FORMAT %#x.\n", format);
384 return WINED3DFMT_UNKNOWN;
385 }
386}

Referenced by d3d10_device_IASetIndexBuffer(), d3d10_device_ResolveSubresource(), d3d11_device_CheckFormatSupport(), d3d11_device_CheckMultisampleQualityLevels(), d3d11_device_context_IASetIndexBuffer(), d3d11_device_context_ResolveSubresource(), d3d11_input_layout_to_wined3d_declaration(), d3d11_swapchain_ResizeBuffers(), d3d_texture1d_create(), d3d_texture2d_create(), d3d_texture3d_init(), dxgi_device_CreateSurface(), dxgi_output_get_display_mode_list(), wined3d_depth_stencil_view_desc_from_d3d11(), wined3d_rendertarget_view_desc_from_d3d11(), wined3d_shader_resource_view_desc_from_d3d11(), and wined3d_unordered_access_view_desc_from_d3d11().