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
beb64c99
Commit
beb64c99
authored
Jan 17, 2014
by
Stefan Dösinger
Committed by
Alexandre Julliard
Jan 17, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Separate surface locations and flags.
parent
00923cb5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
9 additions
and
17 deletions
+9
-17
arb_program_shader.c
dlls/wined3d/arb_program_shader.c
+1
-1
device.c
dlls/wined3d/device.c
+2
-2
drawprim.c
dlls/wined3d/drawprim.c
+3
-2
surface.c
dlls/wined3d/surface.c
+0
-0
swapchain.c
dlls/wined3d/swapchain.c
+2
-2
wined3d_private.h
dlls/wined3d/wined3d_private.h
+1
-10
No files found.
dlls/wined3d/arb_program_shader.c
View file @
beb64c99
...
...
@@ -7454,7 +7454,7 @@ HRESULT arbfp_blit_surface(struct wined3d_device *device, DWORD filter,
/* Now load the surface */
if
(
wined3d_settings
.
offscreen_rendering_mode
!=
ORM_FBO
&&
(
src_surface
->
flag
s
&
(
SFLAG_INTEXTURE
|
SFLAG_INDRAWABLE
))
==
SFLAG_INDRAWABLE
&&
(
src_surface
->
location
s
&
(
SFLAG_INTEXTURE
|
SFLAG_INDRAWABLE
))
==
SFLAG_INDRAWABLE
&&
!
surface_is_offscreen
(
src_surface
))
{
/* Without FBO blits transferring from the drawable to the texture is
...
...
dlls/wined3d/device.c
View file @
beb64c99
...
...
@@ -234,7 +234,7 @@ static void prepare_ds_clear(struct wined3d_surface *ds, struct wined3d_context
{
RECT
current_rect
,
r
;
if
(
ds
->
flag
s
&
SFLAG_DISCARDED
)
if
(
ds
->
location
s
&
SFLAG_DISCARDED
)
{
/* Depth buffer was discarded, make it entirely current in its new location since
* there is no other place where we would get data anyway. */
...
...
@@ -242,7 +242,7 @@ static void prepare_ds_clear(struct wined3d_surface *ds, struct wined3d_context
return
;
}
if
(
ds
->
flag
s
&
location
)
if
(
ds
->
location
s
&
location
)
SetRect
(
&
current_rect
,
0
,
0
,
ds
->
ds_current_size
.
cx
,
ds
->
ds_current_size
.
cy
);
...
...
dlls/wined3d/drawprim.c
View file @
beb64c99
...
...
@@ -638,7 +638,8 @@ void draw_primitive(struct wined3d_device *device, UINT start_idx, UINT index_co
* Z-compare function into account, but we could skip loading the
* depthstencil for D3DCMP_NEVER and D3DCMP_ALWAYS as well. Also note
* that we never copy the stencil data.*/
DWORD
location
=
context
->
render_offscreen
?
device
->
fb
.
depth_stencil
->
draw_binding
:
SFLAG_INDRAWABLE
;
DWORD
location
=
context
->
render_offscreen
?
device
->
fb
.
depth_stencil
->
draw_binding
:
SFLAG_INDRAWABLE
;
if
(
state
->
render_states
[
WINED3D_RS_ZWRITEENABLE
]
||
state
->
render_states
[
WINED3D_RS_ZENABLE
])
{
struct
wined3d_surface
*
ds
=
device
->
fb
.
depth_stencil
;
...
...
@@ -647,7 +648,7 @@ void draw_primitive(struct wined3d_device *device, UINT start_idx, UINT index_co
if
(
!
context
->
render_offscreen
&&
ds
!=
device
->
onscreen_depth_stencil
)
device_switch_onscreen_ds
(
device
,
context
,
ds
);
if
(
ds
->
flag
s
&
location
)
if
(
ds
->
location
s
&
location
)
SetRect
(
&
current_rect
,
0
,
0
,
ds
->
ds_current_size
.
cx
,
ds
->
ds_current_size
.
cy
);
else
SetRectEmpty
(
&
current_rect
);
...
...
dlls/wined3d/surface.c
View file @
beb64c99
This diff is collapsed.
Click to expand it.
dlls/wined3d/swapchain.c
View file @
beb64c99
...
...
@@ -541,8 +541,8 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
}
}
if
(
!
swapchain
->
render_to_fbo
&&
((
swapchain
->
front_buffer
->
flag
s
&
SFLAG_INSYSMEM
)
||
(
back_buffer
->
flag
s
&
SFLAG_INSYSMEM
)))
if
(
!
swapchain
->
render_to_fbo
&&
((
swapchain
->
front_buffer
->
location
s
&
SFLAG_INSYSMEM
)
||
(
back_buffer
->
location
s
&
SFLAG_INSYSMEM
)))
{
/* Both memory copies of the surfaces are ok, flip them around too instead of dirtifying
* Doesn't work with render_to_fbo because we're not flipping
...
...
dlls/wined3d/wined3d_private.h
View file @
beb64c99
...
...
@@ -2192,6 +2192,7 @@ struct wined3d_surface
struct
wined3d_palette
*
palette
;
/* D3D7 style palette handling */
DWORD
draw_binding
,
map_binding
;
void
*
user_memory
;
DWORD
locations
;
DWORD
flags
;
...
...
@@ -2315,16 +2316,6 @@ void flip_surface(struct wined3d_surface *front, struct wined3d_surface *back) D
SFLAG_CLIENT | \
SFLAG_PIN_SYSMEM)
#define SFLAG_LOCATIONS (SFLAG_INSYSMEM | \
SFLAG_INUSERMEM | \
SFLAG_INDIB | \
SFLAG_INBUFFER | \
SFLAG_INTEXTURE | \
SFLAG_INSRGBTEX | \
SFLAG_INDRAWABLE | \
SFLAG_INRB_MULTISAMPLE | \
SFLAG_INRB_RESOLVED)
enum
wined3d_conversion_type
{
WINED3D_CT_NONE
,
...
...
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