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
dcc969c3
Commit
dcc969c3
authored
Jul 31, 2011
by
Henri Verbeet
Committed by
Alexandre Julliard
Aug 01, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Get rid of dst_fbo.
As a result we can get rid of a couple of other things as well.
parent
ccb3a51a
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
54 deletions
+11
-54
context.c
dlls/wined3d/context.c
+4
-9
device.c
dlls/wined3d/device.c
+0
-16
surface.c
dlls/wined3d/surface.c
+7
-23
wined3d_private.h
dlls/wined3d/wined3d_private.h
+0
-6
No files found.
dlls/wined3d/context.c
View file @
dcc969c3
...
...
@@ -112,8 +112,8 @@ static void context_destroy_fbo(struct wined3d_context *context, GLuint *fbo)
}
/* GL locking is done by the caller */
void
context_attach_depth_stencil_fbo
(
const
struct
wined3d_context
*
context
,
GLenum
fbo_target
,
struct
wined3d_surface
*
depth_stencil
,
BOOL
use_render_buffer
)
static
void
context_attach_depth_stencil_fbo
(
const
struct
wined3d_context
*
context
,
GLenum
fbo_target
,
struct
wined3d_surface
*
depth_stencil
)
{
const
struct
wined3d_gl_info
*
gl_info
=
context
->
gl_info
;
...
...
@@ -123,7 +123,7 @@ void context_attach_depth_stencil_fbo(const struct wined3d_context *context,
{
DWORD
format_flags
=
depth_stencil
->
resource
.
format
->
flags
;
if
(
use_render_buffer
&&
depth_stencil
->
current_renderbuffer
)
if
(
depth_stencil
->
current_renderbuffer
)
{
if
(
format_flags
&
WINED3DFMT_FLAG_DEPTH
)
{
...
...
@@ -381,7 +381,7 @@ static void context_apply_fbo_entry(struct wined3d_context *context, GLenum targ
/* Apply depth targets */
if
(
entry
->
depth_stencil
)
surface_set_compatible_renderbuffer
(
entry
->
depth_stencil
,
entry
->
render_targets
[
0
]);
context_attach_depth_stencil_fbo
(
context
,
target
,
entry
->
depth_stencil
,
TRUE
);
context_attach_depth_stencil_fbo
(
context
,
target
,
entry
->
depth_stencil
);
entry
->
attached
=
TRUE
;
}
...
...
@@ -863,11 +863,6 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
if
(
context
->
valid
)
{
if
(
context
->
dst_fbo
)
{
TRACE
(
"Destroy dst FBO %d
\n
"
,
context
->
dst_fbo
);
context_destroy_fbo
(
context
,
&
context
->
dst_fbo
);
}
if
(
context
->
dummy_arbfp_prog
)
{
GL_EXTCALL
(
glDeleteProgramsARB
(
1
,
&
context
->
dummy_arbfp_prog
));
...
...
dlls/wined3d/device.c
View file @
dcc969c3
...
...
@@ -1437,15 +1437,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
LEAVE_GL
();
device
->
depth_blt_texture
=
0
;
}
if
(
device
->
depth_blt_rb
)
{
ENTER_GL
();
gl_info
->
fbo_ops
.
glDeleteRenderbuffers
(
1
,
&
device
->
depth_blt_rb
);
LEAVE_GL
();
device
->
depth_blt_rb
=
0
;
device
->
depth_blt_rb_w
=
0
;
device
->
depth_blt_rb_h
=
0
;
}
/* Release the update stateblock */
if
(
wined3d_stateblock_decref
(
device
->
updateStateBlock
))
...
...
@@ -5526,13 +5517,6 @@ static void delete_opengl_contexts(struct wined3d_device *device, struct wined3d
glDeleteTextures
(
1
,
&
device
->
depth_blt_texture
);
device
->
depth_blt_texture
=
0
;
}
if
(
device
->
depth_blt_rb
)
{
gl_info
->
fbo_ops
.
glDeleteRenderbuffers
(
1
,
&
device
->
depth_blt_rb
);
device
->
depth_blt_rb
=
0
;
device
->
depth_blt_rb_w
=
0
;
device
->
depth_blt_rb_h
=
0
;
}
if
(
device
->
cursorTexture
)
{
glDeleteTextures
(
1
,
&
device
->
cursorTexture
);
...
...
dlls/wined3d/surface.c
View file @
dcc969c3
...
...
@@ -5705,7 +5705,8 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
/* Note that we use depth_blt here as well, rather than glCopyTexImage2D
* directly on the FBO texture. That's because we need to flip. */
context_bind_fbo
(
context
,
GL_FRAMEBUFFER
,
NULL
);
context_apply_fbo_state_blit
(
context
,
GL_FRAMEBUFFER
,
context
->
swapchain
->
front_buffer
,
NULL
,
SFLAG_INDRAWABLE
);
if
(
surface
->
texture_target
==
GL_TEXTURE_RECTANGLE_ARB
)
{
glGetIntegerv
(
GL_TEXTURE_BINDING_RECTANGLE_ARB
,
&
old_binding
);
...
...
@@ -5733,27 +5734,9 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
glTexParameteri
(
bind_target
,
GL_DEPTH_TEXTURE_MODE_ARB
,
GL_LUMINANCE
);
glBindTexture
(
bind_target
,
old_binding
);
/* Setup the destination */
if
(
!
device
->
depth_blt_rb
)
{
gl_info
->
fbo_ops
.
glGenRenderbuffers
(
1
,
&
device
->
depth_blt_rb
);
checkGLcall
(
"glGenRenderbuffersEXT"
);
}
if
(
device
->
depth_blt_rb_w
!=
w
||
device
->
depth_blt_rb_h
!=
h
)
{
gl_info
->
fbo_ops
.
glBindRenderbuffer
(
GL_RENDERBUFFER
,
device
->
depth_blt_rb
);
checkGLcall
(
"glBindRenderbufferEXT"
);
gl_info
->
fbo_ops
.
glRenderbufferStorage
(
GL_RENDERBUFFER
,
GL_RGBA8
,
w
,
h
);
checkGLcall
(
"glRenderbufferStorageEXT"
);
device
->
depth_blt_rb_w
=
w
;
device
->
depth_blt_rb_h
=
h
;
}
context_bind_fbo
(
context
,
GL_FRAMEBUFFER
,
&
context
->
dst_fbo
);
gl_info
->
fbo_ops
.
glFramebufferRenderbuffer
(
GL_FRAMEBUFFER
,
GL_COLOR_ATTACHMENT0
,
GL_RENDERBUFFER
,
device
->
depth_blt_rb
);
checkGLcall
(
"glFramebufferRenderbufferEXT"
);
context_attach_depth_stencil_fbo
(
context
,
GL_FRAMEBUFFER
,
surface
,
FALSE
);
context_apply_fbo_state_blit
(
context
,
GL_FRAMEBUFFER
,
NULL
,
surface
,
SFLAG_INTEXTURE
);
context_set_draw_buffer
(
context
,
GL_NONE
);
/* Do the actual blit */
surface_depth_blt
(
surface
,
gl_info
,
device
->
depth_blt_texture
,
0
,
0
,
w
,
h
,
bind_target
);
...
...
@@ -5771,7 +5754,8 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
ENTER_GL
();
context_bind_fbo
(
context
,
GL_FRAMEBUFFER
,
NULL
);
context_apply_fbo_state_blit
(
context
,
GL_FRAMEBUFFER
,
context
->
swapchain
->
front_buffer
,
NULL
,
SFLAG_INDRAWABLE
);
surface_depth_blt
(
surface
,
gl_info
,
surface
->
texture_name
,
0
,
surface
->
pow2Height
-
h
,
w
,
h
,
surface
->
texture_target
);
checkGLcall
(
"depth_blt"
);
...
...
dlls/wined3d/wined3d_private.h
View file @
dcc969c3
...
...
@@ -1105,7 +1105,6 @@ struct wined3d_context
struct
list
fbo_list
;
struct
list
fbo_destroy_list
;
struct
fbo_entry
*
current_fbo
;
GLuint
dst_fbo
;
GLuint
fbo_read_binding
;
GLuint
fbo_draw_binding
;
BOOL
rebind_fbo
;
...
...
@@ -1234,8 +1233,6 @@ BOOL context_apply_clear_state(struct wined3d_context *context, struct wined3d_d
BOOL
context_apply_draw_state
(
struct
wined3d_context
*
context
,
struct
wined3d_device
*
device
)
DECLSPEC_HIDDEN
;
void
context_apply_fbo_state_blit
(
struct
wined3d_context
*
context
,
GLenum
target
,
struct
wined3d_surface
*
render_target
,
struct
wined3d_surface
*
depth_stencil
,
DWORD
location
)
DECLSPEC_HIDDEN
;
void
context_attach_depth_stencil_fbo
(
const
struct
wined3d_context
*
context
,
GLenum
fbo_target
,
struct
wined3d_surface
*
depth_stencil
,
BOOL
use_render_buffer
)
DECLSPEC_HIDDEN
;
void
context_bind_fbo
(
struct
wined3d_context
*
context
,
GLenum
target
,
GLuint
*
fbo
)
DECLSPEC_HIDDEN
;
void
context_check_fbo_status
(
const
struct
wined3d_context
*
context
,
GLenum
target
)
DECLSPEC_HIDDEN
;
struct
wined3d_context
*
context_create
(
struct
wined3d_swapchain
*
swapchain
,
struct
wined3d_surface
*
target
,
...
...
@@ -1705,9 +1702,6 @@ struct wined3d_device
/* For rendering to a texture using glCopyTexImage */
GLuint
depth_blt_texture
;
GLuint
depth_blt_rb
;
UINT
depth_blt_rb_w
;
UINT
depth_blt_rb_h
;
/* Cursor management */
UINT
xHotSpot
;
...
...
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