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
f4bce098
Commit
f4bce098
authored
Mar 05, 2010
by
Kusanagi Kouichi
Committed by
Alexandre Julliard
Mar 05, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Fix a failure of card vendor detection.
parent
bd0641d3
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
31 deletions
+16
-31
directx.c
dlls/wined3d/directx.c
+16
-31
No files found.
dlls/wined3d/directx.c
View file @
f4bce098
...
...
@@ -1982,7 +1982,7 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
struct
wined3d_gl_info
*
gl_info
=
&
adapter
->
gl_info
;
const
char
*
GL_Extensions
=
NULL
;
const
char
*
WGL_Extensions
=
NULL
;
const
char
*
gl_
string
=
NULL
;
const
char
*
gl_
vendor_str
,
*
gl_renderer_str
,
*
gl_version_str
;
struct
fragment_caps
fragment_caps
;
enum
wined3d_gl_vendor
gl_vendor
;
enum
wined3d_pci_vendor
card_vendor
;
...
...
@@ -1992,7 +1992,6 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
unsigned
i
;
HDC
hdc
;
unsigned
int
vidmem
=
0
;
char
*
gl_renderer
;
DWORD
gl_version
;
size_t
len
;
...
...
@@ -2000,46 +1999,34 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
ENTER_GL
();
gl_
string
=
(
const
char
*
)
glGetString
(
GL_RENDERER
);
TRACE_
(
d3d_caps
)(
"GL_RENDERER: %s.
\n
"
,
debugstr_a
(
gl_
string
));
if
(
!
gl_
string
)
gl_
renderer_str
=
(
const
char
*
)
glGetString
(
GL_RENDERER
);
TRACE_
(
d3d_caps
)(
"GL_RENDERER: %s.
\n
"
,
debugstr_a
(
gl_
renderer_str
));
if
(
!
gl_
renderer_str
)
{
LEAVE_GL
();
ERR_
(
d3d_caps
)(
"Received a NULL GL_RENDERER.
\n
"
);
return
FALSE
;
}
len
=
strlen
(
gl_string
)
+
1
;
gl_renderer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
len
);
if
(
!
gl_renderer
)
{
LEAVE_GL
();
ERR_
(
d3d_caps
)(
"Failed to allocate gl_renderer memory.
\n
"
);
return
FALSE
;
}
memcpy
(
gl_renderer
,
gl_string
,
len
);
gl_string
=
(
const
char
*
)
glGetString
(
GL_VENDOR
);
TRACE_
(
d3d_caps
)(
"GL_VENDOR: %s.
\n
"
,
debugstr_a
(
gl_string
));
if
(
!
gl_string
)
gl_vendor_str
=
(
const
char
*
)
glGetString
(
GL_VENDOR
);
TRACE_
(
d3d_caps
)(
"GL_VENDOR: %s.
\n
"
,
debugstr_a
(
gl_vendor_str
));
if
(
!
gl_vendor_str
)
{
LEAVE_GL
();
ERR_
(
d3d_caps
)(
"Received a NULL GL_VENDOR.
\n
"
);
HeapFree
(
GetProcessHeap
(),
0
,
gl_renderer
);
return
FALSE
;
}
/* Parse the GL_VERSION field into major and minor information */
gl_
string
=
(
const
char
*
)
glGetString
(
GL_VERSION
);
TRACE_
(
d3d_caps
)(
"GL_VERSION: %s.
\n
"
,
debugstr_a
(
gl_
string
));
if
(
!
gl_
string
)
gl_
version_str
=
(
const
char
*
)
glGetString
(
GL_VERSION
);
TRACE_
(
d3d_caps
)(
"GL_VERSION: %s.
\n
"
,
debugstr_a
(
gl_
version_str
));
if
(
!
gl_
version_str
)
{
LEAVE_GL
();
ERR_
(
d3d_caps
)(
"Received a NULL GL_VERSION.
\n
"
);
HeapFree
(
GetProcessHeap
(),
0
,
gl_renderer
);
return
FALSE
;
}
gl_version
=
wined3d_parse_gl_version
(
gl_
string
);
gl_version
=
wined3d_parse_gl_version
(
gl_
version_str
);
/*
* Initialize openGL extension related variables
...
...
@@ -2087,7 +2074,6 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
{
LEAVE_GL
();
ERR_
(
d3d_caps
)(
"Received a NULL GL_EXTENSIONS.
\n
"
);
HeapFree
(
GetProcessHeap
(),
0
,
gl_renderer
);
return
FALSE
;
}
...
...
@@ -2484,11 +2470,11 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
gl_info
->
limits
.
buffers
=
1
;
}
gl_vendor
=
wined3d_guess_gl_vendor
(
gl_info
,
gl_
string
,
gl_rendere
r
);
card_vendor
=
wined3d_guess_card_vendor
(
gl_
string
,
gl_rendere
r
);
TRACE_
(
d3d_caps
)(
"found GL_VENDOR (%s)->(0x%04x/0x%04x)
\n
"
,
debugstr_a
(
gl_
string
),
gl_vendor
,
card_vendor
);
gl_vendor
=
wined3d_guess_gl_vendor
(
gl_info
,
gl_
vendor_str
,
gl_renderer_st
r
);
card_vendor
=
wined3d_guess_card_vendor
(
gl_
vendor_str
,
gl_renderer_st
r
);
TRACE_
(
d3d_caps
)(
"found GL_VENDOR (%s)->(0x%04x/0x%04x)
\n
"
,
debugstr_a
(
gl_
vendor_str
),
gl_vendor
,
card_vendor
);
device
=
wined3d_guess_card
(
gl_info
,
gl_renderer
,
&
gl_vendor
,
&
card_vendor
,
&
vidmem
);
device
=
wined3d_guess_card
(
gl_info
,
gl_renderer
_str
,
&
gl_vendor
,
&
card_vendor
,
&
vidmem
);
TRACE_
(
d3d_caps
)(
"FOUND (fake) card: 0x%x (vendor id), 0x%x (device id)
\n
"
,
card_vendor
,
device
);
/* If we have an estimate use it, else default to 64MB; */
...
...
@@ -2551,11 +2537,10 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
}
}
fixup_extensions
(
gl_info
,
gl_renderer
,
gl_vendor
,
card_vendor
,
device
);
fixup_extensions
(
gl_info
,
gl_renderer
_str
,
gl_vendor
,
card_vendor
,
device
);
init_driver_info
(
driver_info
,
card_vendor
,
device
);
add_gl_compat_wrappers
(
gl_info
);
HeapFree
(
GetProcessHeap
(),
0
,
gl_renderer
);
return
TRUE
;
}
...
...
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