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
cd96c59d
Commit
cd96c59d
authored
Jun 08, 2011
by
Stefan Dösinger
Committed by
Alexandre Julliard
Jul 05, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Track framebuffer changes.
parent
d321959d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
3 deletions
+11
-3
context.c
dlls/wined3d/context.c
+4
-3
device.c
dlls/wined3d/device.c
+4
-0
surface.c
dlls/wined3d/surface.c
+2
-0
swapchain.c
dlls/wined3d/swapchain.c
+1
-0
No files found.
dlls/wined3d/context.c
View file @
cd96c59d
...
...
@@ -2061,6 +2061,7 @@ void context_apply_blit_state(struct wined3d_context *context, struct wined3d_de
LEAVE_GL
();
SetupForBlit
(
device
,
context
);
context_invalidate_state
(
context
,
STATE_FRAMEBUFFER
,
device
->
StateTable
);
}
static
BOOL
context_validate_rt_config
(
UINT
rt_count
,
...
...
@@ -2122,6 +2123,9 @@ BOOL context_apply_clear_state(struct wined3d_context *context, struct wined3d_d
}
LEAVE_GL
();
/* TODO: This is not necessary if the rts are the device's current targets */
context_invalidate_state
(
context
,
STATE_FRAMEBUFFER
,
device
->
StateTable
);
}
else
{
...
...
@@ -2265,9 +2269,6 @@ BOOL context_apply_draw_state(struct wined3d_context *context, struct wined3d_de
state_table
[
rep
].
apply
(
rep
,
device
->
stateBlock
,
context
);
}
/* FIXME */
state_table
[
STATE_FRAMEBUFFER
].
apply
(
STATE_FRAMEBUFFER
,
device
->
stateBlock
,
context
);
if
(
wined3d_settings
.
offscreen_rendering_mode
==
ORM_FBO
)
{
context_check_fbo_status
(
context
,
GL_FRAMEBUFFER
);
...
...
dlls/wined3d/device.c
View file @
cd96c59d
...
...
@@ -5129,6 +5129,8 @@ HRESULT CDECL wined3d_device_set_render_target(struct wined3d_device *device,
device_invalidate_state
(
device
,
STATE_SCISSORRECT
);
}
device_invalidate_state
(
device
,
STATE_FRAMEBUFFER
);
return
WINED3D_OK
;
}
...
...
@@ -5179,6 +5181,8 @@ HRESULT CDECL wined3d_device_set_depth_stencil(struct wined3d_device *device, st
device_invalidate_state
(
device
,
STATE_RENDER
(
WINED3DRS_DEPTHBIAS
));
}
device_invalidate_state
(
device
,
STATE_FRAMEBUFFER
);
return
WINED3D_OK
;
}
...
...
dlls/wined3d/surface.c
View file @
cd96c59d
...
...
@@ -3993,6 +3993,7 @@ static void read_from_framebuffer_texture(struct wined3d_surface *surface, BOOL
*/
context
=
context_acquire
(
device
,
surface
);
gl_info
=
context
->
gl_info
;
device_invalidate_state
(
device
,
STATE_FRAMEBUFFER
);
surface_prepare_texture
(
surface
,
gl_info
,
srgb
);
surface_bind_and_dirtify
(
surface
,
gl_info
,
srgb
);
...
...
@@ -5104,6 +5105,7 @@ static void surface_blt_fbo(struct wined3d_device *device, const WINED3DTEXTUREF
context_set_draw_buffer
(
context
,
GL_COLOR_ATTACHMENT0
);
}
context_check_fbo_status
(
context
,
GL_DRAW_FRAMEBUFFER
);
device_invalidate_state
(
device
,
STATE_FRAMEBUFFER
);
glColorMask
(
GL_TRUE
,
GL_TRUE
,
GL_TRUE
,
GL_TRUE
);
device_invalidate_state
(
device
,
STATE_RENDER
(
WINED3DRS_COLORWRITEENABLE
));
...
...
dlls/wined3d/swapchain.c
View file @
cd96c59d
...
...
@@ -309,6 +309,7 @@ static void swapchain_blit(struct wined3d_swapchain *swapchain,
context_bind_fbo
(
context
,
GL_DRAW_FRAMEBUFFER
,
NULL
);
context_set_draw_buffer
(
context
,
GL_BACK
);
device_invalidate_state
(
device
,
STATE_FRAMEBUFFER
);
glColorMask
(
GL_TRUE
,
GL_TRUE
,
GL_TRUE
,
GL_TRUE
);
device_invalidate_state
(
device
,
STATE_RENDER
(
WINED3DRS_COLORWRITEENABLE
));
...
...
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