wined3d: Fix the drawStridedSlow callback function calling convention.
Since some of those function pointers are direct GL functions the function prototype needs the WINE_GLAPI calling convention. This makes prevents drawStridedSlow from crashing with USE_WIN32_OPENGL.
This commit is contained in:
parent
ec633bf789
commit
61a900fdfc
|
@ -3893,7 +3893,7 @@ static void fixup_extensions(WineD3D_GL_Info *gl_info) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void invalid_func(void *data) {
|
static void WINE_GLAPI invalid_func(void *data) {
|
||||||
ERR("Invalid vertex attribute function called\n");
|
ERR("Invalid vertex attribute function called\n");
|
||||||
DebugBreak();
|
DebugBreak();
|
||||||
}
|
}
|
||||||
|
@ -3903,7 +3903,7 @@ void invalid_func(void *data) {
|
||||||
/* Helper functions for providing vertex data to opengl. The arrays are initialized based on
|
/* Helper functions for providing vertex data to opengl. The arrays are initialized based on
|
||||||
* the extension detection and are used in drawStridedSlow
|
* the extension detection and are used in drawStridedSlow
|
||||||
*/
|
*/
|
||||||
static void position_d3dcolor(void *data) {
|
static void WINE_GLAPI position_d3dcolor(void *data) {
|
||||||
DWORD pos = *((DWORD *) data);
|
DWORD pos = *((DWORD *) data);
|
||||||
|
|
||||||
FIXME("Add a test for fixed function position from d3dcolor type\n");
|
FIXME("Add a test for fixed function position from d3dcolor type\n");
|
||||||
|
@ -3912,7 +3912,7 @@ static void position_d3dcolor(void *data) {
|
||||||
D3DCOLOR_B_B(pos),
|
D3DCOLOR_B_B(pos),
|
||||||
D3DCOLOR_B_A(pos));
|
D3DCOLOR_B_A(pos));
|
||||||
}
|
}
|
||||||
static void position_float4(void *data) {
|
static void WINE_GLAPI position_float4(void *data) {
|
||||||
GLfloat *pos = (float *) data;
|
GLfloat *pos = (float *) data;
|
||||||
|
|
||||||
if (pos[3] < eps && pos[3] > -eps)
|
if (pos[3] < eps && pos[3] > -eps)
|
||||||
|
@ -3924,7 +3924,7 @@ static void position_float4(void *data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void diffuse_d3dcolor(void *data) {
|
static void WINE_GLAPI diffuse_d3dcolor(void *data) {
|
||||||
DWORD diffuseColor = *((DWORD *) data);
|
DWORD diffuseColor = *((DWORD *) data);
|
||||||
|
|
||||||
glColor4ub(D3DCOLOR_B_R(diffuseColor),
|
glColor4ub(D3DCOLOR_B_R(diffuseColor),
|
||||||
|
@ -3933,14 +3933,14 @@ static void diffuse_d3dcolor(void *data) {
|
||||||
D3DCOLOR_B_A(diffuseColor));
|
D3DCOLOR_B_A(diffuseColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void specular_d3dcolor(void *data) {
|
static void WINE_GLAPI specular_d3dcolor(void *data) {
|
||||||
DWORD specularColor = *((DWORD *) data);
|
DWORD specularColor = *((DWORD *) data);
|
||||||
|
|
||||||
GL_EXTCALL(glSecondaryColor3ubEXT)(D3DCOLOR_B_R(specularColor),
|
GL_EXTCALL(glSecondaryColor3ubEXT)(D3DCOLOR_B_R(specularColor),
|
||||||
D3DCOLOR_B_G(specularColor),
|
D3DCOLOR_B_G(specularColor),
|
||||||
D3DCOLOR_B_B(specularColor));
|
D3DCOLOR_B_B(specularColor));
|
||||||
}
|
}
|
||||||
static void warn_no_specular_func(void *data) {
|
static void WINE_GLAPI warn_no_specular_func(void *data) {
|
||||||
WARN("GL_EXT_secondary_color not supported\n");
|
WARN("GL_EXT_secondary_color not supported\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -463,8 +463,8 @@ void primitiveDeclarationConvertToStridedData(
|
||||||
|
|
||||||
DWORD get_flexible_vertex_size(DWORD d3dvtVertexType);
|
DWORD get_flexible_vertex_size(DWORD d3dvtVertexType);
|
||||||
|
|
||||||
typedef void (*glAttribFunc)(void *data);
|
typedef void (WINE_GLAPI *glAttribFunc)(void *data);
|
||||||
typedef void (*glTexAttribFunc)(GLuint unit, void *data);
|
typedef void (WINE_GLAPI *glTexAttribFunc)(GLuint unit, void *data);
|
||||||
extern glAttribFunc position_funcs[WINED3DDECLTYPE_UNUSED];
|
extern glAttribFunc position_funcs[WINED3DDECLTYPE_UNUSED];
|
||||||
extern glAttribFunc diffuse_funcs[WINED3DDECLTYPE_UNUSED];
|
extern glAttribFunc diffuse_funcs[WINED3DDECLTYPE_UNUSED];
|
||||||
extern glAttribFunc specular_funcs[WINED3DDECLTYPE_UNUSED];
|
extern glAttribFunc specular_funcs[WINED3DDECLTYPE_UNUSED];
|
||||||
|
|
Loading…
Reference in New Issue