Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
e1bf1cd6
Commit
e1bf1cd6
authored
Mar 28, 2008
by
Roderick Colenbrander
Committed by
Alexandre Julliard
Mar 29, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Make the filtering capability of a format a flag in the formats table.
parent
5423c35d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
140 additions
and
76 deletions
+140
-76
directx.c
dlls/wined3d/directx.c
+15
-14
utils.c
dlls/wined3d/utils.c
+124
-62
wined3d_private_types.h
dlls/wined3d/wined3d_private_types.h
+1
-0
No files found.
dlls/wined3d/directx.c
View file @
e1bf1cd6
...
@@ -1923,19 +1923,20 @@ WINED3DFORMAT DepthStencilFormat)
...
@@ -1923,19 +1923,20 @@ WINED3DFORMAT DepthStencilFormat)
return
FALSE
;
return
FALSE
;
}
}
static
BOOL
CheckFilterCapability
(
WINED3DFORMAT
CheckFormat
)
static
BOOL
CheckFilterCapability
(
UINT
Adapter
,
WINED3DFORMAT
CheckFormat
)
{
{
switch
(
CheckFormat
)
{
const
GlPixelFormatDesc
*
glDesc
;
/* Filtering not supported */
const
StaticPixelFormatDesc
*
desc
=
getFormatDescEntry
(
CheckFormat
,
&
GLINFO_LOCATION
,
&
glDesc
);
case
WINED3DFMT_R32F
:
case
WINED3DFMT_A32B32G32R32F
:
TRACE_
(
d3d_caps
)(
"[FAILED]
\n
"
);
return
FALSE
;
default
:
break
;
}
return
TRUE
;
/* Fail if we weren't able to get a description of the format */
if
(
!
desc
||
!
glDesc
)
return
FALSE
;
/* The flags entry of a format contains the filtering capability */
if
(
glDesc
->
Flags
&
WINED3DFMT_FLAG_FILTERING
)
return
TRUE
;
return
FALSE
;
}
}
/* Check the render target capabilities of a format */
/* Check the render target capabilities of a format */
...
@@ -2351,7 +2352,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
...
@@ -2351,7 +2352,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
/* Check QUERY_FILTER support */
/* Check QUERY_FILTER support */
if
(
Usage
&
WINED3DUSAGE_QUERY_FILTER
)
{
if
(
Usage
&
WINED3DUSAGE_QUERY_FILTER
)
{
if
(
CheckFilterCapability
(
CheckFormat
))
{
if
(
CheckFilterCapability
(
Adapter
,
CheckFormat
))
{
UsageCaps
|=
WINED3DUSAGE_QUERY_FILTER
;
UsageCaps
|=
WINED3DUSAGE_QUERY_FILTER
;
}
else
{
}
else
{
TRACE_
(
d3d_caps
)(
"[FAILED] - No query filter support
\n
"
);
TRACE_
(
d3d_caps
)(
"[FAILED] - No query filter support
\n
"
);
...
@@ -2473,7 +2474,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
...
@@ -2473,7 +2474,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
/* Check QUERY_FILTER support */
/* Check QUERY_FILTER support */
if
(
Usage
&
WINED3DUSAGE_QUERY_FILTER
)
{
if
(
Usage
&
WINED3DUSAGE_QUERY_FILTER
)
{
if
(
CheckFilterCapability
(
CheckFormat
))
{
if
(
CheckFilterCapability
(
Adapter
,
CheckFormat
))
{
UsageCaps
|=
WINED3DUSAGE_QUERY_FILTER
;
UsageCaps
|=
WINED3DUSAGE_QUERY_FILTER
;
}
else
{
}
else
{
TRACE_
(
d3d_caps
)(
"[FAILED] - No query filter support
\n
"
);
TRACE_
(
d3d_caps
)(
"[FAILED] - No query filter support
\n
"
);
...
@@ -2564,7 +2565,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
...
@@ -2564,7 +2565,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
/* Check QUERY_FILTER support */
/* Check QUERY_FILTER support */
if
(
Usage
&
WINED3DUSAGE_QUERY_FILTER
)
{
if
(
Usage
&
WINED3DUSAGE_QUERY_FILTER
)
{
if
(
CheckFilterCapability
(
CheckFormat
))
{
if
(
CheckFilterCapability
(
Adapter
,
CheckFormat
))
{
UsageCaps
|=
WINED3DUSAGE_QUERY_FILTER
;
UsageCaps
|=
WINED3DUSAGE_QUERY_FILTER
;
}
else
{
}
else
{
TRACE_
(
d3d_caps
)(
"[FAILED] - No query filter support
\n
"
);
TRACE_
(
d3d_caps
)(
"[FAILED] - No query filter support
\n
"
);
...
...
dlls/wined3d/utils.c
View file @
e1bf1cd6
...
@@ -126,78 +126,140 @@ typedef struct {
...
@@ -126,78 +126,140 @@ typedef struct {
* table.
* table.
*/
*/
static
const
GlPixelFormatDescTemplate
gl_formats_template
[]
=
{
static
const
GlPixelFormatDescTemplate
gl_formats_template
[]
=
{
/*{ internal ,srgbInternal , rtInternal, format ,type ,Flags }*/
/*{ internal ,srgbInternal , rtInternal, format ,type \
{
WINED3DFMT_UNKNOWN
,
0
,
0
,
0
,
0
,
0
,
0
},
,Flags }*/
{
WINED3DFMT_UNKNOWN
,
0
,
0
,
0
,
0
,
0
,
0
},
/* FourCC formats */
/* FourCC formats */
{
WINED3DFMT_UYVY
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_UYVY
,
0
,
0
,
0
,
0
,
0
{
WINED3DFMT_YUY2
,
0
,
0
,
0
,
0
,
0
,
0
},
,
0
},
{
WINED3DFMT_DXT1
,
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
,
0
},
{
WINED3DFMT_YUY2
,
0
,
0
,
0
,
0
,
0
{
WINED3DFMT_DXT2
,
GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
,
0
},
,
0
},
{
WINED3DFMT_DXT3
,
GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
,
0
},
{
WINED3DFMT_DXT1
,
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
{
WINED3DFMT_DXT4
,
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_DXT5
,
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
,
0
},
{
WINED3DFMT_DXT2
,
GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
{
WINED3DFMT_MULTI2_ARGB8
,
0
,
0
,
0
,
0
,
0
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_G8R8_G8B8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_DXT3
,
GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
{
WINED3DFMT_R8G8_B8G8
,
0
,
0
,
0
,
0
,
0
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_DXT4
,
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_DXT5
,
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
,
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_BYTE
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_MULTI2_ARGB8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_G8R8_G8B8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_R8G8_B8G8
,
0
,
0
,
0
,
0
,
0
,
0
},
/* IEEE formats */
/* IEEE formats */
{
WINED3DFMT_R32F
,
GL_RGB32F_ARB
,
GL_RGB32F_ARB
,
0
,
GL_RED
,
GL_FLOAT
,
0
},
{
WINED3DFMT_R32F
,
GL_RGB32F_ARB
,
GL_RGB32F_ARB
,
0
,
GL_RED
,
GL_FLOAT
{
WINED3DFMT_G32R32F
,
0
,
0
,
0
,
0
,
0
,
0
},
,
0
},
{
WINED3DFMT_A32B32G32R32F
,
GL_RGBA32F_ARB
,
GL_RGBA32F_ARB
,
0
,
GL_RGBA
,
GL_FLOAT
,
0
},
{
WINED3DFMT_G32R32F
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_A32B32G32R32F
,
GL_RGBA32F_ARB
,
GL_RGBA32F_ARB
,
0
,
GL_RGBA
,
GL_FLOAT
,
0
},
/* Hmm? */
/* Hmm? */
{
WINED3DFMT_CxV8U8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_CxV8U8
,
0
,
0
,
0
,
0
,
0
,
0
},
/* Float */
/* Float */
{
WINED3DFMT_R16F
,
GL_RGB16F_ARB
,
GL_RGB16F_ARB
,
0
,
GL_RED
,
GL_HALF_FLOAT_ARB
,
0
},
{
WINED3DFMT_R16F
,
GL_RGB16F_ARB
,
GL_RGB16F_ARB
,
0
,
GL_RED
,
GL_HALF_FLOAT_ARB
{
WINED3DFMT_G16R16F
,
0
,
0
,
0
,
0
,
0
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A16B16G16R16F
,
GL_RGBA16F_ARB
,
GL_RGBA16F_ARB
,
0
,
GL_RGBA
,
GL_HALF_FLOAT_ARB
,
0
},
{
WINED3DFMT_G16R16F
,
0
,
0
,
0
,
0
,
0
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A16B16G16R16F
,
GL_RGBA16F_ARB
,
GL_RGBA16F_ARB
,
0
,
GL_RGBA
,
GL_HALF_FLOAT_ARB
,
WINED3DFMT_FLAG_FILTERING
},
/* Palettized formats */
/* Palettized formats */
{
WINED3DFMT_A8P8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_A8P8
,
0
,
0
,
0
,
0
,
0
{
WINED3DFMT_P8
,
GL_COLOR_INDEX8_EXT
,
GL_COLOR_INDEX8_EXT
,
0
,
GL_COLOR_INDEX
,
GL_UNSIGNED_BYTE
,
0
},
,
0
},
{
WINED3DFMT_P8
,
GL_COLOR_INDEX8_EXT
,
GL_COLOR_INDEX8_EXT
,
0
,
GL_COLOR_INDEX
,
GL_UNSIGNED_BYTE
,
0
},
/* Standard ARGB formats */
/* Standard ARGB formats */
{
WINED3DFMT_R8G8B8
,
GL_RGB8
,
GL_RGB8
,
0
,
GL_BGR
,
GL_UNSIGNED_BYTE
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_R8G8B8
,
GL_RGB8
,
GL_RGB8
,
0
,
GL_BGR
,
GL_UNSIGNED_BYTE
{
WINED3DFMT_A8R8G8B8
,
GL_RGBA8
,
GL_SRGB8_ALPHA8_EXT
,
0
,
GL_BGRA
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_X8R8G8B8
,
GL_RGB8
,
GL_SRGB8_EXT
,
0
,
GL_BGRA
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_A8R8G8B8
,
GL_RGBA8
,
GL_SRGB8_ALPHA8_EXT
,
0
,
GL_BGRA
,
GL_UNSIGNED_INT_8_8_8_8_REV
{
WINED3DFMT_R5G6B5
,
GL_RGB5
,
GL_RGB5
,
GL_RGB8
,
GL_RGB
,
GL_UNSIGNED_SHORT_5_6_5
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_X1R5G5B5
,
GL_RGB5
,
GL_RGB5_A1
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_1_5_5_5_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_X8R8G8B8
,
GL_RGB8
,
GL_SRGB8_EXT
,
0
,
GL_BGRA
,
GL_UNSIGNED_INT_8_8_8_8_REV
{
WINED3DFMT_A1R5G5B5
,
GL_RGB5_A1
,
GL_RGB5_A1
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_1_5_5_5_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A4R4G4B4
,
GL_RGBA4
,
GL_SRGB8_ALPHA8_EXT
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_4_4_4_4_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_R5G6B5
,
GL_RGB5
,
GL_RGB5
,
GL_RGB8
,
GL_RGB
,
GL_UNSIGNED_SHORT_5_6_5
{
WINED3DFMT_R3G3B2
,
GL_R3_G3_B2
,
GL_R3_G3_B2
,
0
,
GL_RGB
,
GL_UNSIGNED_BYTE_3_3_2
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A8
,
GL_ALPHA8
,
GL_ALPHA8
,
0
,
GL_ALPHA
,
GL_UNSIGNED_BYTE
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_X1R5G5B5
,
GL_RGB5
,
GL_RGB5_A1
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_1_5_5_5_REV
{
WINED3DFMT_A8R3G3B2
,
0
,
0
,
0
,
0
,
0
,
0
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_X4R4G4B4
,
GL_RGB4
,
GL_RGB4
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_4_4_4_4_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_A1R5G5B5
,
GL_RGB5_A1
,
GL_RGB5_A1
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_1_5_5_5_REV
{
WINED3DFMT_A2B10G10R10
,
GL_RGBA
,
GL_RGBA
,
0
,
GL_RGBA
,
GL_UNSIGNED_INT_2_10_10_10_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A8B8G8R8
,
GL_RGBA8
,
GL_RGBA8
,
0
,
GL_RGBA
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_A4R4G4B4
,
GL_RGBA4
,
GL_SRGB8_ALPHA8_EXT
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_4_4_4_4_REV
{
WINED3DFMT_X8B8G8R8
,
GL_RGB8
,
GL_RGB8
,
0
,
GL_RGBA
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_G16R16
,
GL_RGB16_EXT
,
GL_RGB16_EXT
,
0
,
GL_RGB
,
GL_UNSIGNED_SHORT
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_R3G3B2
,
GL_R3_G3_B2
,
GL_R3_G3_B2
,
0
,
GL_RGB
,
GL_UNSIGNED_BYTE_3_3_2
{
WINED3DFMT_A2R10G10B10
,
GL_RGBA
,
GL_RGBA
,
0
,
GL_BGRA
,
GL_UNSIGNED_INT_2_10_10_10_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_A16B16G16R16
,
GL_RGBA16_EXT
,
GL_RGBA16_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_SHORT
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_A8
,
GL_ALPHA8
,
GL_ALPHA8
,
0
,
GL_ALPHA
,
GL_UNSIGNED_BYTE
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
},
{
WINED3DFMT_A8R3G3B2
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_X4R4G4B4
,
GL_RGB4
,
GL_RGB4
,
0
,
GL_BGRA
,
GL_UNSIGNED_SHORT_4_4_4_4_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A2B10G10R10
,
GL_RGBA
,
GL_RGBA
,
0
,
GL_RGBA
,
GL_UNSIGNED_INT_2_10_10_10_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A8B8G8R8
,
GL_RGBA8
,
GL_RGBA8
,
0
,
GL_RGBA
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_X8B8G8R8
,
GL_RGB8
,
GL_RGB8
,
0
,
GL_RGBA
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_G16R16
,
GL_RGB16_EXT
,
GL_RGB16_EXT
,
0
,
GL_RGB
,
GL_UNSIGNED_SHORT
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A2R10G10B10
,
GL_RGBA
,
GL_RGBA
,
0
,
GL_BGRA
,
GL_UNSIGNED_INT_2_10_10_10_REV
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A16B16G16R16
,
GL_RGBA16_EXT
,
GL_RGBA16_EXT
,
0
,
GL_RGBA
,
GL_UNSIGNED_SHORT
,
WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING
|
WINED3DFMT_FLAG_FILTERING
},
/* Luminance */
/* Luminance */
{
WINED3DFMT_L8
,
GL_LUMINANCE8
,
GL_SLUMINANCE8_EXT
,
0
,
GL_LUMINANCE
,
GL_UNSIGNED_BYTE
,
0
},
{
WINED3DFMT_L8
,
GL_LUMINANCE8
,
GL_SLUMINANCE8_EXT
,
0
,
GL_LUMINANCE
,
GL_UNSIGNED_BYTE
{
WINED3DFMT_A8L8
,
GL_LUMINANCE8_ALPHA8
,
GL_SLUMINANCE8_ALPHA8_EXT
,
0
,
GL_LUMINANCE_ALPHA
,
GL_UNSIGNED_BYTE
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A4L4
,
GL_LUMINANCE4_ALPHA4
,
GL_LUMINANCE4_ALPHA4
,
0
,
GL_LUMINANCE_ALPHA
,
GL_UNSIGNED_BYTE
,
0
},
{
WINED3DFMT_A8L8
,
GL_LUMINANCE8_ALPHA8
,
GL_SLUMINANCE8_ALPHA8_EXT
,
0
,
GL_LUMINANCE_ALPHA
,
GL_UNSIGNED_BYTE
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A4L4
,
GL_LUMINANCE4_ALPHA4
,
GL_LUMINANCE4_ALPHA4
,
0
,
GL_LUMINANCE_ALPHA
,
GL_UNSIGNED_BYTE
,
0
},
/* Bump mapping stuff */
/* Bump mapping stuff */
{
WINED3DFMT_V8U8
,
GL_DSDT8_NV
,
GL_DSDT8_NV
,
0
,
GL_DSDT_NV
,
GL_BYTE
,
0
},
{
WINED3DFMT_V8U8
,
GL_DSDT8_NV
,
GL_DSDT8_NV
,
0
,
GL_DSDT_NV
,
GL_BYTE
{
WINED3DFMT_L6V5U5
,
GL_DSDT8_MAG8_NV
,
GL_DSDT8_MAG8_NV
,
0
,
GL_DSDT_MAG_NV
,
GL_BYTE
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_X8L8V8U8
,
GL_DSDT8_MAG8_INTENSITY8_NV
,
GL_DSDT8_MAG8_INTENSITY8_NV
,
0
,
GL_DSDT_MAG_VIB_NV
,
GL_UNSIGNED_INT_8_8_S8_S8_REV_NV
,
0
},
{
WINED3DFMT_L6V5U5
,
GL_DSDT8_MAG8_NV
,
GL_DSDT8_MAG8_NV
,
0
,
GL_DSDT_MAG_NV
,
GL_BYTE
{
WINED3DFMT_Q8W8V8U8
,
GL_SIGNED_RGBA8_NV
,
GL_SIGNED_RGBA8_NV
,
0
,
GL_RGBA
,
GL_BYTE
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_V16U16
,
GL_SIGNED_HILO16_NV
,
GL_SIGNED_HILO16_NV
,
0
,
GL_HILO_NV
,
GL_SHORT
,
0
},
{
WINED3DFMT_X8L8V8U8
,
GL_DSDT8_MAG8_INTENSITY8_NV
,
GL_DSDT8_MAG8_INTENSITY8_NV
,
0
,
GL_DSDT_MAG_VIB_NV
,
GL_UNSIGNED_INT_8_8_S8_S8_REV_NV
{
WINED3DFMT_W11V11U10
,
0
,
0
,
0
,
0
,
0
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_A2W10V10U10
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_Q8W8V8U8
,
GL_SIGNED_RGBA8_NV
,
GL_SIGNED_RGBA8_NV
,
0
,
GL_RGBA
,
GL_BYTE
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_V16U16
,
GL_SIGNED_HILO16_NV
,
GL_SIGNED_HILO16_NV
,
0
,
GL_HILO_NV
,
GL_SHORT
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_W11V11U10
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_A2W10V10U10
,
0
,
0
,
0
,
0
,
0
,
0
},
/* Depth stencil formats */
/* Depth stencil formats */
{
WINED3DFMT_D16_LOCKABLE
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_SHORT
,
0
},
{
WINED3DFMT_D16_LOCKABLE
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_SHORT
{
WINED3DFMT_D32
,
GL_DEPTH_COMPONENT32_ARB
,
GL_DEPTH_COMPONENT32_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
,
0
},
,
0
},
{
WINED3DFMT_D15S1
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_SHORT
,
0
},
{
WINED3DFMT_D32
,
GL_DEPTH_COMPONENT32_ARB
,
GL_DEPTH_COMPONENT32_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
{
WINED3DFMT_D24S8
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
,
0
},
,
0
},
{
WINED3DFMT_D24X8
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
,
0
},
{
WINED3DFMT_D15S1
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_SHORT
{
WINED3DFMT_D24X4S4
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
,
0
},
,
0
},
{
WINED3DFMT_D16
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_SHORT
,
0
},
{
WINED3DFMT_D24S8
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
{
WINED3DFMT_L16
,
GL_LUMINANCE16_EXT
,
GL_LUMINANCE16_EXT
,
0
,
GL_LUMINANCE
,
GL_UNSIGNED_SHORT
,
0
},
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_D32F_LOCKABLE
,
GL_DEPTH_COMPONENT32_ARB
,
GL_DEPTH_COMPONENT32_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_FLOAT
,
0
},
{
WINED3DFMT_D24X8
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
{
WINED3DFMT_D24FS8
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_FLOAT
,
0
},
,
0
},
{
WINED3DFMT_D24X4S4
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_INT
,
0
},
{
WINED3DFMT_D16
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_UNSIGNED_SHORT
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_L16
,
GL_LUMINANCE16_EXT
,
GL_LUMINANCE16_EXT
,
0
,
GL_LUMINANCE
,
GL_UNSIGNED_SHORT
,
WINED3DFMT_FLAG_FILTERING
},
{
WINED3DFMT_D32F_LOCKABLE
,
GL_DEPTH_COMPONENT32_ARB
,
GL_DEPTH_COMPONENT32_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_FLOAT
,
0
},
{
WINED3DFMT_D24FS8
,
GL_DEPTH_COMPONENT24_ARB
,
GL_DEPTH_COMPONENT24_ARB
,
0
,
GL_DEPTH_COMPONENT
,
GL_FLOAT
,
0
},
/* Is this a vertex buffer? */
/* Is this a vertex buffer? */
{
WINED3DFMT_VERTEXDATA
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_VERTEXDATA
,
0
,
0
,
0
,
0
,
0
{
WINED3DFMT_INDEX16
,
0
,
0
,
0
,
0
,
0
,
0
},
,
0
},
{
WINED3DFMT_INDEX32
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_INDEX16
,
0
,
0
,
0
,
0
,
0
{
WINED3DFMT_Q16W16V16U16
,
GL_COLOR_INDEX
,
GL_COLOR_INDEX
,
0
,
GL_COLOR_INDEX
,
GL_UNSIGNED_SHORT
,
0
}
,
0
},
{
WINED3DFMT_INDEX32
,
0
,
0
,
0
,
0
,
0
,
0
},
{
WINED3DFMT_Q16W16V16U16
,
GL_COLOR_INDEX
,
GL_COLOR_INDEX
,
0
,
GL_COLOR_INDEX
,
GL_UNSIGNED_SHORT
,
0
}
};
};
static
inline
int
getFmtIdx
(
WINED3DFORMAT
fmt
)
{
static
inline
int
getFmtIdx
(
WINED3DFORMAT
fmt
)
{
...
...
dlls/wined3d/wined3d_private_types.h
View file @
e1bf1cd6
...
@@ -32,6 +32,7 @@ typedef enum {
...
@@ -32,6 +32,7 @@ typedef enum {
/* WineD3D pixel format flags */
/* WineD3D pixel format flags */
#define WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING 0x1
#define WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING 0x1
#define WINED3DFMT_FLAG_FILTERING 0x2
/** DCL usage masks **/
/** DCL usage masks **/
#define WINED3DSP_DCL_USAGE_SHIFT 0
#define WINED3DSP_DCL_USAGE_SHIFT 0
...
...
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