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
14b24058
Commit
14b24058
authored
Jul 28, 2008
by
Stefan Dösinger
Committed by
Alexandre Julliard
Jul 31, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: GL_ARB_fragment_program ffp implementation.
parent
bc4435e4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
4 deletions
+24
-4
arb_program_shader.c
dlls/wined3d/arb_program_shader.c
+0
-0
device.c
dlls/wined3d/device.c
+3
-3
directx.c
dlls/wined3d/directx.c
+18
-1
wined3d_private.h
dlls/wined3d/wined3d_private.h
+3
-0
No files found.
dlls/wined3d/arb_program_shader.c
View file @
14b24058
This diff is collapsed.
Click to expand it.
dlls/wined3d/device.c
View file @
14b24058
...
@@ -2234,8 +2234,8 @@ err_out:
...
@@ -2234,8 +2234,8 @@ err_out:
IWineD3DStateBlock_Release
((
IWineD3DStateBlock
*
)
This
->
stateBlock
);
IWineD3DStateBlock_Release
((
IWineD3DStateBlock
*
)
This
->
stateBlock
);
This
->
stateBlock
=
NULL
;
This
->
stateBlock
=
NULL
;
}
}
This
->
shader_backend
->
shader_free_private
(
iface
);
This
->
frag_pipe
->
free_private
(
iface
);
This
->
frag_pipe
->
free_private
(
iface
);
This
->
shader_backend
->
shader_free_private
(
iface
);
return
hr
;
return
hr
;
}
}
...
@@ -2324,8 +2324,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Uninit3D(IWineD3DDevice *iface, D3DCB_D
...
@@ -2324,8 +2324,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Uninit3D(IWineD3DDevice *iface, D3DCB_D
}
}
/* Destroy the shader backend. Note that this has to happen after all shaders are destroyed. */
/* Destroy the shader backend. Note that this has to happen after all shaders are destroyed. */
This
->
shader_backend
->
shader_free_private
(
iface
);
This
->
frag_pipe
->
free_private
(
iface
);
This
->
frag_pipe
->
free_private
(
iface
);
This
->
shader_backend
->
shader_free_private
(
iface
);
/* Release the buffers (with sanity checks)*/
/* Release the buffers (with sanity checks)*/
TRACE
(
"Releasing the depth stencil buffer at %p
\n
"
,
This
->
stencilBufferTarget
);
TRACE
(
"Releasing the depth stencil buffer at %p
\n
"
,
This
->
stencilBufferTarget
);
...
@@ -7252,8 +7252,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice* iface, WINED3DPRE
...
@@ -7252,8 +7252,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice* iface, WINED3DPRE
This
->
depth_blt_rb_w
=
0
;
This
->
depth_blt_rb_w
=
0
;
This
->
depth_blt_rb_h
=
0
;
This
->
depth_blt_rb_h
=
0
;
}
}
This
->
shader_backend
->
shader_free_private
(
iface
);
This
->
frag_pipe
->
free_private
(
iface
);
This
->
frag_pipe
->
free_private
(
iface
);
This
->
shader_backend
->
shader_free_private
(
iface
);
for
(
i
=
0
;
i
<
GL_LIMITS
(
textures
);
i
++
)
{
for
(
i
=
0
;
i
<
GL_LIMITS
(
textures
);
i
++
)
{
/* Textures are recreated below */
/* Textures are recreated below */
...
...
dlls/wined3d/directx.c
View file @
14b24058
...
@@ -1963,6 +1963,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceType(IWineD3D *iface, UINT Adapter
...
@@ -1963,6 +1963,7 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceType(IWineD3D *iface, UINT Adapter
/* Check if we support bumpmapping for a format */
/* Check if we support bumpmapping for a format */
static
BOOL
CheckBumpMapCapability
(
UINT
Adapter
,
WINED3DFORMAT
CheckFormat
)
static
BOOL
CheckBumpMapCapability
(
UINT
Adapter
,
WINED3DFORMAT
CheckFormat
)
{
{
/* TODO: Check this in the fixed function pipeline backend */
if
(
GL_SUPPORT
(
NV_REGISTER_COMBINERS
)
&&
GL_SUPPORT
(
NV_TEXTURE_SHADER2
))
{
if
(
GL_SUPPORT
(
NV_REGISTER_COMBINERS
)
&&
GL_SUPPORT
(
NV_TEXTURE_SHADER2
))
{
switch
(
CheckFormat
)
{
switch
(
CheckFormat
)
{
case
WINED3DFMT_V8U8
:
case
WINED3DFMT_V8U8
:
...
@@ -1984,6 +1985,20 @@ static BOOL CheckBumpMapCapability(UINT Adapter, WINED3DFORMAT CheckFormat)
...
@@ -1984,6 +1985,20 @@ static BOOL CheckBumpMapCapability(UINT Adapter, WINED3DFORMAT CheckFormat)
return
FALSE
;
return
FALSE
;
}
}
}
}
if
(
GL_SUPPORT
(
ARB_FRAGMENT_PROGRAM
))
{
switch
(
CheckFormat
)
{
case
WINED3DFMT_V8U8
:
case
WINED3DFMT_V16U16
:
case
WINED3DFMT_L6V5U5
:
case
WINED3DFMT_X8L8V8U8
:
case
WINED3DFMT_Q8W8V8U8
:
TRACE_
(
d3d_caps
)(
"[OK]
\n
"
);
return
TRUE
;
default
:
TRACE_
(
d3d_caps
)(
"[FAILED]
\n
"
);
return
FALSE
;
}
}
TRACE_
(
d3d_caps
)(
"[FAILED]
\n
"
);
TRACE_
(
d3d_caps
)(
"[FAILED]
\n
"
);
return
FALSE
;
return
FALSE
;
}
}
...
@@ -2902,7 +2917,9 @@ static const struct fragment_pipeline *select_fragment_implementation(UINT Adapt
...
@@ -2902,7 +2917,9 @@ static const struct fragment_pipeline *select_fragment_implementation(UINT Adapt
int
ps_selected_mode
;
int
ps_selected_mode
;
select_shader_mode
(
&
GLINFO_LOCATION
,
DeviceType
,
&
ps_selected_mode
,
&
vs_selected_mode
);
select_shader_mode
(
&
GLINFO_LOCATION
,
DeviceType
,
&
ps_selected_mode
,
&
vs_selected_mode
);
if
(
ps_selected_mode
==
SHADER_ATI
)
{
if
((
ps_selected_mode
==
SHADER_ARB
||
ps_selected_mode
==
SHADER_GLSL
)
&&
GL_SUPPORT
(
ARB_FRAGMENT_PROGRAM
))
{
return
&
arbfp_fragment_pipeline
;
}
else
if
(
ps_selected_mode
==
SHADER_ATI
)
{
return
&
atifs_fragment_pipeline
;
return
&
atifs_fragment_pipeline
;
}
else
if
(
GL_SUPPORT
(
NV_REGISTER_COMBINERS
)
&&
GL_SUPPORT
(
NV_TEXTURE_SHADER2
))
{
}
else
if
(
GL_SUPPORT
(
NV_REGISTER_COMBINERS
)
&&
GL_SUPPORT
(
NV_TEXTURE_SHADER2
))
{
return
&
nvts_fragment_pipeline
;
return
&
nvts_fragment_pipeline
;
...
...
dlls/wined3d/wined3d_private.h
View file @
14b24058
...
@@ -267,6 +267,8 @@ struct shader_arb_priv {
...
@@ -267,6 +267,8 @@ struct shader_arb_priv {
GLuint
current_fprogram_id
;
GLuint
current_fprogram_id
;
GLuint
depth_blt_vprogram_id
;
GLuint
depth_blt_vprogram_id
;
GLuint
depth_blt_fprogram_id
;
GLuint
depth_blt_fprogram_id
;
BOOL
use_arbfp_fixed_func
;
hash_table_t
*
fragment_shaders
;
};
};
/* X11 locking */
/* X11 locking */
...
@@ -561,6 +563,7 @@ extern const struct StateEntryTemplate misc_state_template[];
...
@@ -561,6 +563,7 @@ extern const struct StateEntryTemplate misc_state_template[];
extern
const
struct
StateEntryTemplate
ffp_vertexstate_template
[];
extern
const
struct
StateEntryTemplate
ffp_vertexstate_template
[];
extern
const
struct
fragment_pipeline
ffp_fragment_pipeline
;
extern
const
struct
fragment_pipeline
ffp_fragment_pipeline
;
extern
const
struct
fragment_pipeline
atifs_fragment_pipeline
;
extern
const
struct
fragment_pipeline
atifs_fragment_pipeline
;
extern
const
struct
fragment_pipeline
arbfp_fragment_pipeline
;
extern
const
struct
fragment_pipeline
nvts_fragment_pipeline
;
extern
const
struct
fragment_pipeline
nvts_fragment_pipeline
;
extern
const
struct
fragment_pipeline
nvrc_fragment_pipeline
;
extern
const
struct
fragment_pipeline
nvrc_fragment_pipeline
;
...
...
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