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
beb4ac8f
Commit
beb4ac8f
authored
Aug 15, 2003
by
Jason Edmeades
Committed by
Alexandre Julliard
Aug 15, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DXT1/3/5 support was broken, but unnoticeable since we also indicated
it wasn't supported.
parent
5546a02e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
30 additions
and
17 deletions
+30
-17
d3d8_main.c
dlls/d3d8/d3d8_main.c
+1
-0
d3d8_private.h
dlls/d3d8/d3d8_private.h
+1
-0
device.c
dlls/d3d8/device.c
+2
-2
directx.c
dlls/d3d8/directx.c
+9
-0
utils.c
dlls/d3d8/utils.c
+17
-15
No files found.
dlls/d3d8/d3d8_main.c
View file @
beb4ac8f
...
...
@@ -50,6 +50,7 @@ IDirect3D8* WINAPI Direct3DCreate8(UINT SDKVersion)
IDirect3D8Impl
*
object
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
IDirect3D8Impl
));
object
->
lpVtbl
=
&
Direct3D8_Vtbl
;
object
->
direct3d8
=
object
;
object
->
ref
=
1
;
TRACE
(
"SDKVersion = %x, Created Direct3D object at %p
\n
"
,
SDKVersion
,
object
);
...
...
dlls/d3d8/d3d8_private.h
View file @
beb4ac8f
...
...
@@ -249,6 +249,7 @@ struct IDirect3D8Impl
/* IDirect3D8 fields */
GL_Info
gl_info
;
IDirect3D8Impl
*
direct3d8
;
};
/* IUnknown: */
...
...
dlls/d3d8/device.c
View file @
beb4ac8f
...
...
@@ -2813,8 +2813,7 @@ HRESULT WINAPI IDirect3DDevice8Impl_SetTexture(LPDIRECT3DDEVICE8 iface, DWORD
/* If Alpha arg1 is texture then handle the special case when there changes between a
texture and no texture - See comments in set_tex_op */
if
((
This
->
StateBlock
->
texture_state
[
Stage
][
D3DTSS_ALPHAARG1
]
==
D3DTA_TEXTURE
)
&&
((
oldTxt
==
NULL
)
&&
(
pTexture
!=
NULL
))
||
((
pTexture
==
NULL
)
&&
(
oldTxt
!=
NULL
)))
(((
oldTxt
==
NULL
)
&&
(
pTexture
!=
NULL
))
||
((
pTexture
==
NULL
)
&&
(
oldTxt
!=
NULL
))))
{
reapplyFlags
|=
REAPPLY_ALPHAOP
;
}
...
...
@@ -3096,6 +3095,7 @@ HRESULT WINAPI IDirect3DDevice8Impl_SetTextureStageState(LPDIRECT3DDEVICE8 ifa
glDisable
(
GL_TEXTURE_GEN_S
);
glDisable
(
GL_TEXTURE_GEN_T
);
glDisable
(
GL_TEXTURE_GEN_R
);
checkGLcall
(
"glDisable(GL_TEXTURE_GEN_S,T,R)"
);
break
;
case
D3DTSS_TCI_CAMERASPACEPOSITION
:
...
...
dlls/d3d8/directx.c
View file @
beb4ac8f
...
...
@@ -320,6 +320,15 @@ HRESULT WINAPI IDirect3D8Impl_CheckDeviceFormat (LPDIRECT3D8 iface,
RType
,
debug_d3dressourcetype
(
RType
),
CheckFormat
,
debug_d3dformat
(
CheckFormat
));
if
(
GL_SUPPORT
(
EXT_TEXTURE_COMPRESSION_S3TC
))
{
switch
(
CheckFormat
)
{
case
D3DFMT_DXT1
:
case
D3DFMT_DXT3
:
case
D3DFMT_DXT5
:
return
D3D_OK
;
}
}
switch
(
CheckFormat
)
{
case
D3DFMT_UYVY
:
case
D3DFMT_YUY2
:
...
...
dlls/d3d8/utils.c
View file @
beb4ac8f
...
...
@@ -409,22 +409,8 @@ SHORT D3DFmtGetBpp(IDirect3DDevice8Impl* This, D3DFORMAT fmt) {
}
GLint
D3DFmt2GLIntFmt
(
IDirect3DDevice8Impl
*
This
,
D3DFORMAT
fmt
)
{
GLint
retVal
;
GLint
retVal
=
0
;
switch
(
fmt
)
{
case
D3DFMT_P8
:
retVal
=
GL_COLOR_INDEX8_EXT
;
break
;
case
D3DFMT_A8P8
:
retVal
=
GL_COLOR_INDEX8_EXT
;
break
;
case
D3DFMT_A4R4G4B4
:
retVal
=
GL_RGBA4
;
break
;
case
D3DFMT_A8R8G8B8
:
retVal
=
GL_RGBA8
;
break
;
case
D3DFMT_X8R8G8B8
:
retVal
=
GL_RGB8
;
break
;
case
D3DFMT_R8G8B8
:
retVal
=
GL_RGB8
;
break
;
case
D3DFMT_R5G6B5
:
retVal
=
GL_RGB5
;
break
;
/* fixme: internal format 6 for g? */
case
D3DFMT_A1R5G5B5
:
retVal
=
GL_RGB5_A1
;
break
;
default:
FIXME
(
"Unhandled fmt(%u,%s)
\n
"
,
fmt
,
debug_d3dformat
(
fmt
));
retVal
=
GL_RGB8
;
}
#if defined(GL_EXT_texture_compression_s3tc)
if
(
GL_SUPPORT
(
EXT_TEXTURE_COMPRESSION_S3TC
))
{
switch
(
fmt
)
{
...
...
@@ -437,6 +423,22 @@ GLint D3DFmt2GLIntFmt(IDirect3DDevice8Impl* This, D3DFORMAT fmt) {
}
}
#endif
if
(
retVal
==
0
)
{
switch
(
fmt
)
{
case
D3DFMT_P8
:
retVal
=
GL_COLOR_INDEX8_EXT
;
break
;
case
D3DFMT_A8P8
:
retVal
=
GL_COLOR_INDEX8_EXT
;
break
;
case
D3DFMT_A4R4G4B4
:
retVal
=
GL_RGBA4
;
break
;
case
D3DFMT_A8R8G8B8
:
retVal
=
GL_RGBA8
;
break
;
case
D3DFMT_X8R8G8B8
:
retVal
=
GL_RGB8
;
break
;
case
D3DFMT_R8G8B8
:
retVal
=
GL_RGB8
;
break
;
case
D3DFMT_R5G6B5
:
retVal
=
GL_RGB5
;
break
;
/* fixme: internal format 6 for g? */
case
D3DFMT_A1R5G5B5
:
retVal
=
GL_RGB5_A1
;
break
;
default:
FIXME
(
"Unhandled fmt(%u,%s)
\n
"
,
fmt
,
debug_d3dformat
(
fmt
));
retVal
=
GL_RGB8
;
}
}
TRACE
(
"fmt2glintFmt for fmt(%u,%s) = %x
\n
"
,
fmt
,
debug_d3dformat
(
fmt
),
retVal
);
return
retVal
;
}
...
...
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