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
50ebf268
Commit
50ebf268
authored
Nov 28, 2008
by
Henri Verbeet
Committed by
Alexandre Julliard
Dec 01, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Const correctness fixes for directx.c.
parent
942f8210
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
34 deletions
+46
-34
directx.c
dlls/wined3d/directx.c
+42
-30
wined3d_private.h
dlls/wined3d/wined3d_private.h
+4
-4
No files found.
dlls/wined3d/directx.c
View file @
50ebf268
...
...
@@ -154,8 +154,16 @@ static const shader_backend_t *select_shader_backend(UINT Adapter, WINED3DDEVTYP
static
const
struct
blit_shader
*
select_blit_implementation
(
UINT
Adapter
,
WINED3DDEVTYPE
DeviceType
);
/* lookup tables */
int
minLookup
[
MAX_LOOKUPS
];
int
maxLookup
[
MAX_LOOKUPS
];
const
int
minLookup
[
MAX_LOOKUPS
]
=
{
WINED3DTADDRESS_WRAP
,
/* WINELOOKUP_WARPPARAM */
};
const
int
maxLookup
[
MAX_LOOKUPS
]
=
{
WINED3DTADDRESS_MIRRORONCE
,
/* WINELOOKUP_WARPPARAM */
};
DWORD
*
stateLookup
[
MAX_LOOKUPS
];
struct
min_lookup
minMipLookup
[
WINED3DTEXF_ANISOTROPIC
+
1
];
...
...
@@ -368,12 +376,8 @@ static ULONG WINAPI IWineD3DImpl_Release(IWineD3D *iface) {
/* Set the shader type for this device, depending on the given capabilities,
* the device type, and the user preferences in wined3d_settings */
void
select_shader_mode
(
WineD3D_GL_Info
*
gl_info
,
WINED3DDEVTYPE
DeviceType
,
int
*
ps_selected
,
int
*
vs_selected
)
{
void
select_shader_mode
(
const
WineD3D_GL_Info
*
gl_info
,
WINED3DDEVTYPE
DeviceType
,
int
*
ps_selected
,
int
*
vs_selected
)
{
if
(
wined3d_settings
.
vs_mode
==
VS_NONE
)
{
*
vs_selected
=
SHADER_NONE
;
}
else
if
(
gl_info
->
supported
[
ARB_VERTEX_SHADER
]
&&
wined3d_settings
.
glslRequested
)
{
...
...
@@ -451,7 +455,8 @@ static void select_shader_max_constants(
**********************************************************/
#define GLINFO_LOCATION (*gl_info)
static
inline
BOOL
test_arb_vs_offset_limit
(
WineD3D_GL_Info
*
gl_info
)
{
static
inline
BOOL
test_arb_vs_offset_limit
(
const
WineD3D_GL_Info
*
gl_info
)
{
GLuint
prog
;
BOOL
ret
=
FALSE
;
const
char
*
testcode
=
...
...
@@ -1342,11 +1347,7 @@ BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info) {
else
gl_info
->
vidmem
=
WINE_DEFAULT_VIDMEM
;
/* Load all the lookup tables
TODO: It may be a good idea to make minLookup and maxLookup const and populate them in wined3d_private.h where they are declared */
minLookup
[
WINELOOKUP_WARPPARAM
]
=
WINED3DTADDRESS_WRAP
;
maxLookup
[
WINELOOKUP_WARPPARAM
]
=
WINED3DTADDRESS_MIRRORONCE
;
/* Load all the lookup tables */
for
(
i
=
0
;
i
<
MAX_LOOKUPS
;
i
++
)
{
stateLookup
[
i
]
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
stateLookup
[
i
])
*
(
1
+
maxLookup
[
i
]
-
minLookup
[
i
])
);
}
...
...
@@ -1775,7 +1776,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDepthStencilMatch(IWineD3D *iface, UINT
WINED3DFORMAT
DepthStencilFormat
)
{
IWineD3DImpl
*
This
=
(
IWineD3DImpl
*
)
iface
;
int
nCfgs
;
WineD3D_PixelFormat
*
cfgs
;
const
WineD3D_PixelFormat
*
cfgs
;
int
it
;
WARN_
(
d3d_caps
)(
"(%p)-> (STUB) (Adptr:%d, DevType:(%x,%s), AdptFmt:(%x,%s), RendrTgtFmt:(%x,%s), DepthStencilFmt:(%x,%s))
\n
"
,
...
...
@@ -1843,7 +1844,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceMultiSampleType(IWineD3D *iface, U
if
(
glDesc
->
Flags
&
(
WINED3DFMT_FLAG_DEPTH
|
WINED3DFMT_FLAG_STENCIL
))
{
int
i
,
nCfgs
;
WineD3D_PixelFormat
*
cfgs
;
const
WineD3D_PixelFormat
*
cfgs
;
cfgs
=
Adapters
[
Adapter
].
cfgs
;
nCfgs
=
Adapters
[
Adapter
].
nCfgs
;
...
...
@@ -1864,7 +1865,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceMultiSampleType(IWineD3D *iface, U
else
if
(
glDesc
->
Flags
&
WINED3DFMT_FLAG_RENDERTARGET
)
{
short
redSize
,
greenSize
,
blueSize
,
alphaSize
,
colorBits
;
int
i
,
nCfgs
;
WineD3D_PixelFormat
*
cfgs
;
const
WineD3D_PixelFormat
*
cfgs
;
if
(
!
getColorBits
(
SurfaceFormat
,
&
redSize
,
&
greenSize
,
&
blueSize
,
&
alphaSize
,
&
colorBits
))
{
ERR
(
"Unable to color bits for format %#x, can't check multisampling capability!
\n
"
,
SurfaceFormat
);
...
...
@@ -3746,7 +3747,8 @@ ULONG WINAPI D3DCB_DefaultDestroyVolume(IWineD3DVolume *pVolume) {
return
IUnknown_Release
(
volumeParent
);
}
static
BOOL
implementation_is_apple
(
WineD3D_GL_Info
*
gl_info
)
{
static
BOOL
implementation_is_apple
(
const
WineD3D_GL_Info
*
gl_info
)
{
/* MacOS has various specialities in the extensions it advertises. Some have to be loaded from
* the opengl 1.2+ core, while other extensions are advertised, but software emulated. So try to
* detect the Apple OpenGL implementation to apply some extension fixups afterwards.
...
...
@@ -3985,12 +3987,14 @@ static void fixup_extensions(WineD3D_GL_Info *gl_info) {
}
}
static
void
WINE_GLAPI
invalid_func
(
void
*
data
)
{
static
void
WINE_GLAPI
invalid_func
(
const
void
*
data
)
{
ERR
(
"Invalid vertex attribute function called
\n
"
);
DebugBreak
();
}
static
void
WINE_GLAPI
invalid_texcoord_func
(
GLenum
unit
,
void
*
data
)
{
static
void
WINE_GLAPI
invalid_texcoord_func
(
GLenum
unit
,
const
void
*
data
)
{
ERR
(
"Invalid texcoord function called
\n
"
);
DebugBreak
();
}
...
...
@@ -4000,8 +4004,9 @@ static void WINE_GLAPI invalid_texcoord_func(GLenum unit, void * data) {
/* Helper functions for providing vertex data to opengl. The arrays are initialized based on
* the extension detection and are used in drawStridedSlow
*/
static
void
WINE_GLAPI
position_d3dcolor
(
void
*
data
)
{
DWORD
pos
=
*
((
DWORD
*
)
data
);
static
void
WINE_GLAPI
position_d3dcolor
(
const
void
*
data
)
{
DWORD
pos
=
*
((
const
DWORD
*
)
data
);
FIXME
(
"Add a test for fixed function position from d3dcolor type
\n
"
);
glVertex4s
(
D3DCOLOR_B_R
(
pos
),
...
...
@@ -4009,8 +4014,10 @@ static void WINE_GLAPI position_d3dcolor(void *data) {
D3DCOLOR_B_B
(
pos
),
D3DCOLOR_B_A
(
pos
));
}
static
void
WINE_GLAPI
position_float4
(
void
*
data
)
{
GLfloat
*
pos
=
(
float
*
)
data
;
static
void
WINE_GLAPI
position_float4
(
const
void
*
data
)
{
const
GLfloat
*
pos
=
data
;
if
(
pos
[
3
]
<
eps
&&
pos
[
3
]
>
-
eps
)
glVertex3fv
(
pos
);
...
...
@@ -4021,8 +4028,9 @@ static void WINE_GLAPI position_float4(void *data) {
}
}
static
void
WINE_GLAPI
diffuse_d3dcolor
(
void
*
data
)
{
DWORD
diffuseColor
=
*
((
DWORD
*
)
data
);
static
void
WINE_GLAPI
diffuse_d3dcolor
(
const
void
*
data
)
{
DWORD
diffuseColor
=
*
((
const
DWORD
*
)
data
);
glColor4ub
(
D3DCOLOR_B_R
(
diffuseColor
),
D3DCOLOR_B_G
(
diffuseColor
),
...
...
@@ -4030,18 +4038,22 @@ static void WINE_GLAPI diffuse_d3dcolor(void *data) {
D3DCOLOR_B_A
(
diffuseColor
));
}
static
void
WINE_GLAPI
specular_d3dcolor
(
void
*
data
)
{
DWORD
specularColor
=
*
((
DWORD
*
)
data
);
static
void
WINE_GLAPI
specular_d3dcolor
(
const
void
*
data
)
{
DWORD
specularColor
=
*
((
const
DWORD
*
)
data
);
GL_EXTCALL
(
glSecondaryColor3ubEXT
)(
D3DCOLOR_B_R
(
specularColor
),
D3DCOLOR_B_G
(
specularColor
),
D3DCOLOR_B_B
(
specularColor
));
}
static
void
WINE_GLAPI
warn_no_specular_func
(
void
*
data
)
{
static
void
WINE_GLAPI
warn_no_specular_func
(
const
void
*
data
)
{
WARN
(
"GL_EXT_secondary_color not supported
\n
"
);
}
void
fillGLAttribFuncs
(
WineD3D_GL_Info
*
gl_info
)
{
void
fillGLAttribFuncs
(
const
WineD3D_GL_Info
*
gl_info
)
{
position_funcs
[
WINED3DDECLTYPE_FLOAT1
]
=
invalid_func
;
position_funcs
[
WINED3DDECLTYPE_FLOAT2
]
=
invalid_func
;
position_funcs
[
WINED3DDECLTYPE_FLOAT3
]
=
(
glAttribFunc
)
glVertex3fv
;
...
...
dlls/wined3d/wined3d_private.h
View file @
50ebf268
...
...
@@ -107,8 +107,8 @@ typedef enum _WINELOOKUP {
MAX_LOOKUPS
=
1
}
WINELOOKUP
;
extern
int
minLookup
[
MAX_LOOKUPS
];
extern
int
maxLookup
[
MAX_LOOKUPS
];
extern
const
int
minLookup
[
MAX_LOOKUPS
];
extern
const
int
maxLookup
[
MAX_LOOKUPS
];
extern
DWORD
*
stateLookup
[
MAX_LOOKUPS
];
struct
min_lookup
...
...
@@ -556,8 +556,8 @@ void primitiveDeclarationConvertToStridedData(
DWORD
get_flexible_vertex_size
(
DWORD
d3dvtVertexType
);
typedef
void
(
WINE_GLAPI
*
glAttribFunc
)(
void
*
data
);
typedef
void
(
WINE_GLAPI
*
glMultiTexCoordFunc
)(
GLenum
unit
,
void
*
data
);
typedef
void
(
WINE_GLAPI
*
glAttribFunc
)(
const
void
*
data
);
typedef
void
(
WINE_GLAPI
*
glMultiTexCoordFunc
)(
GLenum
unit
,
const
void
*
data
);
extern
glAttribFunc
position_funcs
[
WINED3DDECLTYPE_UNUSED
];
extern
glAttribFunc
diffuse_funcs
[
WINED3DDECLTYPE_UNUSED
];
extern
glAttribFunc
specular_funcs
[
WINED3DDECLTYPE_UNUSED
];
...
...
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