Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GSoC
GSoC2018
macOS
vlc
Commits
7ec2e3f0
Commit
7ec2e3f0
authored
Apr 17, 2011
by
Laurent Aimar
Browse files
Cleared render targets only when needed (direct3d).
parent
c513cf2a
Changes
2
Hide whitespace changes
Inline
Side-by-side
modules/video_output/msw/common.h
View file @
7ec2e3f0
...
...
@@ -190,6 +190,7 @@ struct vout_display_sys_t
/* */
bool
reset_device
;
bool
reopen_device
;
bool
clear_scene
;
/* It protects the following variables */
vlc_mutex_t
lock
;
...
...
modules/video_output/msw/direct3d.c
View file @
7ec2e3f0
...
...
@@ -473,10 +473,7 @@ static void Manage (vout_display_t *vd)
vout_display_SendEventPicturesInvalid
(
vd
);
}
#if 0
/*
* Position Change
*/
/* Position Change */
if
(
sys
->
changes
&
DX_POSITION_CHANGE
)
{
#if 0 /* need that when bicubic filter is available */
RECT rect;
...
...
@@ -494,9 +491,9 @@ static void Manage (vout_display_t *vd)
return VLC_EGENERIC;
}
#endif
sys
->
clear_scene
=
true
;
sys
->
changes
&=
~
DX_POSITION_CHANGE
;
}
#endif
}
/**
...
...
@@ -1023,6 +1020,8 @@ static int Direct3DCreateScene(vout_display_t *vd, const video_format_t *fmt)
sys
->
d3dregion_count
=
0
;
sys
->
d3dregion
=
NULL
;
sys
->
clear_scene
=
true
;
// Texture coordinates outside the range [0.0, 1.0] are set
// to the texture color at 0.0 or 1.0, respectively.
IDirect3DDevice9_SetSamplerState
(
d3ddev
,
0
,
D3DSAMP_ADDRESSU
,
D3DTADDRESS_CLAMP
);
...
...
@@ -1373,12 +1372,15 @@ static void Direct3DRenderScene(vout_display_t *vd,
LPDIRECT3DDEVICE9
d3ddev
=
sys
->
d3ddev
;
HRESULT
hr
;
/* Clear the backbuffer and the zbuffer */
hr
=
IDirect3DDevice9_Clear
(
d3ddev
,
0
,
NULL
,
D3DCLEAR_TARGET
,
D3DCOLOR_XRGB
(
0
,
0
,
0
),
1
.
0
f
,
0
);
if
(
FAILED
(
hr
))
{
msg_Dbg
(
vd
,
"%s:%d (hr=0x%0lX)"
,
__FUNCTION__
,
__LINE__
,
hr
);
return
;
if
(
sys
->
clear_scene
)
{
/* Clear the backbuffer and the zbuffer */
hr
=
IDirect3DDevice9_Clear
(
d3ddev
,
0
,
NULL
,
D3DCLEAR_TARGET
,
D3DCOLOR_XRGB
(
0
,
0
,
0
),
1
.
0
f
,
0
);
if
(
FAILED
(
hr
))
{
msg_Dbg
(
vd
,
"%s:%d (hr=0x%0lX)"
,
__FUNCTION__
,
__LINE__
,
hr
);
return
;
}
sys
->
clear_scene
=
false
;
}
// Begin the scene
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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