Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
8afd9215
Commit
8afd9215
authored
Feb 19, 2009
by
Henri Verbeet
Committed by
Alexandre Julliard
Feb 20, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dxgi: Convert DXGI_FORMAT values to WINED3DFORMAT values.
parent
8cefc47d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
105 additions
and
3 deletions
+105
-3
device.c
dlls/dxgi/device.c
+4
-3
dxgi_private.h
dlls/dxgi/dxgi_private.h
+2
-0
utils.c
dlls/dxgi/utils.c
+99
-0
No files found.
dlls/dxgi/device.c
View file @
8afd9215
...
...
@@ -160,7 +160,7 @@ static HRESULT STDMETHODCALLTYPE dxgi_device_CreateSurface(IWineDXGIDevice *ifac
return
E_FAIL
;
}
FIXME
(
"Implement DXGI<->wined3d
format and
usage conversion
\n
"
);
FIXME
(
"Implement DXGI<->wined3d usage conversion
\n
"
);
memset
(
surface
,
0
,
surface_count
*
sizeof
(
*
surface
));
for
(
i
=
0
;
i
<
surface_count
;
++
i
)
...
...
@@ -168,8 +168,9 @@ static HRESULT STDMETHODCALLTYPE dxgi_device_CreateSurface(IWineDXGIDevice *ifac
IWineD3DSurface
*
wined3d_surface
;
IUnknown
*
parent
;
hr
=
IWineD3DDeviceParent_CreateSurface
(
device_parent
,
NULL
,
desc
->
Width
,
desc
->
Height
,
desc
->
Format
,
usage
,
WINED3DPOOL_DEFAULT
,
0
,
WINED3DCUBEMAP_FACE_POSITIVE_X
,
&
wined3d_surface
);
hr
=
IWineD3DDeviceParent_CreateSurface
(
device_parent
,
NULL
,
desc
->
Width
,
desc
->
Height
,
wined3dformat_from_dxgi_format
(
desc
->
Format
),
usage
,
WINED3DPOOL_DEFAULT
,
0
,
WINED3DCUBEMAP_FACE_POSITIVE_X
,
&
wined3d_surface
);
if
(
FAILED
(
hr
))
{
ERR
(
"CreateSurface failed, returning %#x
\n
"
,
hr
);
...
...
dlls/dxgi/dxgi_private.h
View file @
8afd9215
...
...
@@ -39,6 +39,8 @@ extern CRITICAL_SECTION dxgi_cs;
/* TRACE helper functions */
const
char
*
debug_dxgi_format
(
DXGI_FORMAT
format
);
WINED3DFORMAT
wined3dformat_from_dxgi_format
(
DXGI_FORMAT
format
);
/* IDXGIFactory */
extern
const
struct
IWineDXGIFactoryVtbl
dxgi_factory_vtbl
;
struct
dxgi_factory
...
...
dlls/dxgi/utils.c
View file @
8afd9215
...
...
@@ -126,3 +126,102 @@ const char *debug_dxgi_format(DXGI_FORMAT format)
}
#undef WINE_DXGI_TO_STR
WINED3DFORMAT
wined3dformat_from_dxgi_format
(
DXGI_FORMAT
format
)
{
switch
(
format
)
{
case
DXGI_FORMAT_UNKNOWN
:
return
WINED3DFMT_UNKNOWN
;
case
DXGI_FORMAT_R32G32B32A32_TYPELESS
:
return
WINED3DFMT_R32G32B32A32_TYPELESS
;
case
DXGI_FORMAT_R32G32B32A32_FLOAT
:
return
WINED3DFMT_R32G32B32A32_FLOAT
;
case
DXGI_FORMAT_R32G32B32A32_UINT
:
return
WINED3DFMT_R32G32B32A32_UINT
;
case
DXGI_FORMAT_R32G32B32A32_SINT
:
return
WINED3DFMT_R32G32B32A32_SINT
;
case
DXGI_FORMAT_R32G32B32_TYPELESS
:
return
WINED3DFMT_R32G32B32_TYPELESS
;
case
DXGI_FORMAT_R32G32B32_FLOAT
:
return
WINED3DFMT_R32G32B32_FLOAT
;
case
DXGI_FORMAT_R32G32B32_UINT
:
return
WINED3DFMT_R32G32B32_UINT
;
case
DXGI_FORMAT_R32G32B32_SINT
:
return
WINED3DFMT_R32G32B32_SINT
;
case
DXGI_FORMAT_R16G16B16A16_TYPELESS
:
return
WINED3DFMT_R16G16B16A16_TYPELESS
;
case
DXGI_FORMAT_R16G16B16A16_FLOAT
:
return
WINED3DFMT_R16G16B16A16_FLOAT
;
case
DXGI_FORMAT_R16G16B16A16_UNORM
:
return
WINED3DFMT_R16G16B16A16_UNORM
;
case
DXGI_FORMAT_R16G16B16A16_UINT
:
return
WINED3DFMT_R16G16B16A16_UINT
;
case
DXGI_FORMAT_R16G16B16A16_SNORM
:
return
WINED3DFMT_R16G16B16A16_SNORM
;
case
DXGI_FORMAT_R16G16B16A16_SINT
:
return
WINED3DFMT_R16G16B16A16_SINT
;
case
DXGI_FORMAT_R32G32_TYPELESS
:
return
WINED3DFMT_R32G32_TYPELESS
;
case
DXGI_FORMAT_R32G32_FLOAT
:
return
WINED3DFMT_R32G32_FLOAT
;
case
DXGI_FORMAT_R32G32_UINT
:
return
WINED3DFMT_R32G32_UINT
;
case
DXGI_FORMAT_R32G32_SINT
:
return
WINED3DFMT_R32G32_SINT
;
case
DXGI_FORMAT_R32G8X24_TYPELESS
:
return
WINED3DFMT_R32G8X24_TYPELESS
;
case
DXGI_FORMAT_D32_FLOAT_S8X24_UINT
:
return
WINED3DFMT_D32_FLOAT_S8X24_UINT
;
case
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
:
return
WINED3DFMT_R32_FLOAT_X8X24_TYPELESS
;
case
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
:
return
WINED3DFMT_X32_TYPELESS_G8X24_UINT
;
case
DXGI_FORMAT_R10G10B10A2_TYPELESS
:
return
WINED3DFMT_R10G10B10A2_TYPELESS
;
case
DXGI_FORMAT_R10G10B10A2_UNORM
:
return
WINED3DFMT_R10G10B10A2_UNORM
;
case
DXGI_FORMAT_R10G10B10A2_UINT
:
return
WINED3DFMT_R10G10B10A2_UINT
;
case
DXGI_FORMAT_R11G11B10_FLOAT
:
return
WINED3DFMT_R11G11B10_FLOAT
;
case
DXGI_FORMAT_R8G8B8A8_TYPELESS
:
return
WINED3DFMT_R8G8B8A8_TYPELESS
;
case
DXGI_FORMAT_R8G8B8A8_UNORM
:
return
WINED3DFMT_R8G8B8A8_UNORM
;
case
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
:
return
WINED3DFMT_R8G8B8A8_UNORM_SRGB
;
case
DXGI_FORMAT_R8G8B8A8_UINT
:
return
WINED3DFMT_R8G8B8A8_UINT
;
case
DXGI_FORMAT_R8G8B8A8_SNORM
:
return
WINED3DFMT_R8G8B8A8_SNORM
;
case
DXGI_FORMAT_R8G8B8A8_SINT
:
return
WINED3DFMT_R8G8B8A8_SINT
;
case
DXGI_FORMAT_R16G16_TYPELESS
:
return
WINED3DFMT_R16G16_TYPELESS
;
case
DXGI_FORMAT_R16G16_FLOAT
:
return
WINED3DFMT_R16G16_FLOAT
;
case
DXGI_FORMAT_R16G16_UNORM
:
return
WINED3DFMT_R16G16_UNORM
;
case
DXGI_FORMAT_R16G16_UINT
:
return
WINED3DFMT_R16G16_UINT
;
case
DXGI_FORMAT_R16G16_SNORM
:
return
WINED3DFMT_R16G16_SNORM
;
case
DXGI_FORMAT_R16G16_SINT
:
return
WINED3DFMT_R16G16_SINT
;
case
DXGI_FORMAT_R32_TYPELESS
:
return
WINED3DFMT_R32_TYPELESS
;
case
DXGI_FORMAT_D32_FLOAT
:
return
WINED3DFMT_D32_FLOAT
;
case
DXGI_FORMAT_R32_FLOAT
:
return
WINED3DFMT_R32_FLOAT
;
case
DXGI_FORMAT_R32_UINT
:
return
WINED3DFMT_R32_UINT
;
case
DXGI_FORMAT_R32_SINT
:
return
WINED3DFMT_R32_SINT
;
case
DXGI_FORMAT_R24G8_TYPELESS
:
return
WINED3DFMT_R24G8_TYPELESS
;
case
DXGI_FORMAT_D24_UNORM_S8_UINT
:
return
WINED3DFMT_D24_UNORM_S8_UINT
;
case
DXGI_FORMAT_R24_UNORM_X8_TYPELESS
:
return
WINED3DFMT_R24_UNORM_X8_TYPELESS
;
case
DXGI_FORMAT_X24_TYPELESS_G8_UINT
:
return
WINED3DFMT_X24_TYPELESS_G8_UINT
;
case
DXGI_FORMAT_R8G8_TYPELESS
:
return
WINED3DFMT_R8G8_TYPELESS
;
case
DXGI_FORMAT_R8G8_UNORM
:
return
WINED3DFMT_R8G8_UNORM
;
case
DXGI_FORMAT_R8G8_UINT
:
return
WINED3DFMT_R8G8_UINT
;
case
DXGI_FORMAT_R8G8_SNORM
:
return
WINED3DFMT_R8G8_SNORM
;
case
DXGI_FORMAT_R8G8_SINT
:
return
WINED3DFMT_R8G8_SINT
;
case
DXGI_FORMAT_R16_TYPELESS
:
return
WINED3DFMT_R16_TYPELESS
;
case
DXGI_FORMAT_R16_FLOAT
:
return
WINED3DFMT_R16_FLOAT
;
case
DXGI_FORMAT_D16_UNORM
:
return
WINED3DFMT_D16_UNORM
;
case
DXGI_FORMAT_R16_UNORM
:
return
WINED3DFMT_R16_UNORM
;
case
DXGI_FORMAT_R16_UINT
:
return
WINED3DFMT_R16_UINT
;
case
DXGI_FORMAT_R16_SNORM
:
return
WINED3DFMT_R16_SNORM
;
case
DXGI_FORMAT_R16_SINT
:
return
WINED3DFMT_R16_SINT
;
case
DXGI_FORMAT_R8_TYPELESS
:
return
WINED3DFMT_R8_TYPELESS
;
case
DXGI_FORMAT_R8_UNORM
:
return
WINED3DFMT_R8_UNORM
;
case
DXGI_FORMAT_R8_UINT
:
return
WINED3DFMT_R8_UINT
;
case
DXGI_FORMAT_R8_SNORM
:
return
WINED3DFMT_R8_SNORM
;
case
DXGI_FORMAT_R8_SINT
:
return
WINED3DFMT_R8_SINT
;
case
DXGI_FORMAT_A8_UNORM
:
return
WINED3DFMT_A8_UNORM
;
case
DXGI_FORMAT_R1_UNORM
:
return
WINED3DFMT_R1_UNORM
;
case
DXGI_FORMAT_R9G9B9E5_SHAREDEXP
:
return
WINED3DFMT_R9G9B9E5_SHAREDEXP
;
case
DXGI_FORMAT_R8G8_B8G8_UNORM
:
return
WINED3DFMT_R8G8_B8G8_UNORM
;
case
DXGI_FORMAT_G8R8_G8B8_UNORM
:
return
WINED3DFMT_G8R8_G8B8_UNORM
;
case
DXGI_FORMAT_BC1_TYPELESS
:
return
WINED3DFMT_BC1_TYPELESS
;
case
DXGI_FORMAT_BC1_UNORM
:
return
WINED3DFMT_BC1_UNORM
;
case
DXGI_FORMAT_BC1_UNORM_SRGB
:
return
WINED3DFMT_BC1_UNORM_SRGB
;
case
DXGI_FORMAT_BC2_TYPELESS
:
return
WINED3DFMT_BC2_TYPELESS
;
case
DXGI_FORMAT_BC2_UNORM
:
return
WINED3DFMT_BC2_UNORM
;
case
DXGI_FORMAT_BC2_UNORM_SRGB
:
return
WINED3DFMT_BC2_UNORM_SRGB
;
case
DXGI_FORMAT_BC3_TYPELESS
:
return
WINED3DFMT_BC3_TYPELESS
;
case
DXGI_FORMAT_BC3_UNORM
:
return
WINED3DFMT_BC3_UNORM
;
case
DXGI_FORMAT_BC3_UNORM_SRGB
:
return
WINED3DFMT_BC3_UNORM_SRGB
;
case
DXGI_FORMAT_BC4_TYPELESS
:
return
WINED3DFMT_BC4_TYPELESS
;
case
DXGI_FORMAT_BC4_UNORM
:
return
WINED3DFMT_BC4_UNORM
;
case
DXGI_FORMAT_BC4_SNORM
:
return
WINED3DFMT_BC4_SNORM
;
case
DXGI_FORMAT_BC5_TYPELESS
:
return
WINED3DFMT_BC5_TYPELESS
;
case
DXGI_FORMAT_BC5_UNORM
:
return
WINED3DFMT_BC5_UNORM
;
case
DXGI_FORMAT_BC5_SNORM
:
return
WINED3DFMT_BC5_SNORM
;
case
DXGI_FORMAT_B5G6R5_UNORM
:
return
WINED3DFMT_B5G6R5_UNORM
;
case
DXGI_FORMAT_B5G5R5A1_UNORM
:
return
WINED3DFMT_B5G5R5A1_UNORM
;
case
DXGI_FORMAT_B8G8R8A8_UNORM
:
return
WINED3DFMT_B8G8R8A8_UNORM
;
case
DXGI_FORMAT_B8G8R8X8_UNORM
:
return
WINED3DFMT_B8G8R8X8_UNORM
;
default:
FIXME
(
"Unhandled DXGI_FORMAT %#x
\n
"
,
format
);
return
WINED3DFMT_UNKNOWN
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment