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
5cf9fe1c
Commit
5cf9fe1c
authored
Apr 23, 2014
by
Henri Verbeet
Committed by
Alexandre Julliard
Apr 23, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Get rid of surface_set_texture_target().
parent
23eed88f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
37 deletions
+17
-37
surface.c
dlls/wined3d/surface.c
+11
-30
texture.c
dlls/wined3d/texture.c
+4
-5
wined3d_private.h
dlls/wined3d/wined3d_private.h
+2
-2
No files found.
dlls/wined3d/surface.c
View file @
5cf9fe1c
...
...
@@ -671,8 +671,6 @@ static HRESULT surface_private_setup(struct wined3d_surface *surface)
TRACE
(
"surface %p.
\n
"
,
surface
);
surface
->
texture_target
=
GL_TEXTURE_2D
;
/* Non-power2 support */
if
(
gl_info
->
supported
[
ARB_TEXTURE_NON_POWER_OF_TWO
]
||
gl_info
->
supported
[
WINED3D_GL_NORMALIZED_TEXRECT
]
||
gl_info
->
supported
[
ARB_TEXTURE_RECTANGLE
])
...
...
@@ -1436,26 +1434,6 @@ static const struct wined3d_surface_ops gdi_surface_ops =
gdi_surface_unmap
,
};
void
surface_set_texture_target
(
struct
wined3d_surface
*
surface
,
GLenum
target
,
GLint
level
)
{
TRACE
(
"surface %p, target %#x.
\n
"
,
surface
,
target
);
if
(
surface
->
texture_target
!=
target
)
{
if
(
target
==
GL_TEXTURE_RECTANGLE_ARB
)
{
surface
->
flags
&=
~
SFLAG_NORMCOORD
;
}
else
if
(
surface
->
texture_target
==
GL_TEXTURE_RECTANGLE_ARB
)
{
surface
->
flags
|=
SFLAG_NORMCOORD
;
}
}
surface
->
texture_target
=
target
;
surface
->
texture_level
=
level
;
surface_force_reload
(
surface
);
}
/* This call just downloads data, the caller is responsible for binding the
* correct texture. */
/* Context activation is done by the caller. */
...
...
@@ -6300,7 +6278,7 @@ cpu:
}
static
HRESULT
surface_init
(
struct
wined3d_surface
*
surface
,
struct
wined3d_texture
*
container
,
const
struct
wined3d_resource_desc
*
desc
,
DWORD
flags
)
const
struct
wined3d_resource_desc
*
desc
,
GLenum
target
,
GLint
level
,
DWORD
flags
)
{
struct
wined3d_device
*
device
=
container
->
resource
.
device
;
const
struct
wined3d_gl_info
*
gl_info
=
&
device
->
adapter
->
gl_info
;
...
...
@@ -6370,7 +6348,8 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
list_init
(
&
surface
->
overlays
);
/* Flags */
surface
->
flags
|=
SFLAG_NORMCOORD
;
/* Default to normalized coords. */
if
(
target
!=
GL_TEXTURE_RECTANGLE_ARB
)
surface
->
flags
|=
SFLAG_NORMCOORD
;
if
(
flags
&
WINED3D_SURFACE_DISCARD
)
surface
->
flags
|=
SFLAG_DISCARD
;
if
(
flags
&
WINED3D_SURFACE_PIN_SYSMEM
)
...
...
@@ -6379,6 +6358,8 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
surface
->
resource
.
access_flags
|=
WINED3D_RESOURCE_ACCESS_CPU
;
surface
->
map_binding
=
WINED3D_LOCATION_SYSMEM
;
surface
->
texture_target
=
target
;
surface
->
texture_level
=
level
;
/* Call the private setup routine */
hr
=
surface
->
surface_ops
->
surface_private_setup
(
surface
);
...
...
@@ -6407,8 +6388,8 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
return
hr
;
}
HRESULT
CDECL
wined3d_surface_create
(
struct
wined3d_texture
*
container
,
const
struct
wined3d_resource_desc
*
desc
,
DWORD
flags
,
struct
wined3d_surface
**
surface
)
HRESULT
wined3d_surface_create
(
struct
wined3d_texture
*
container
,
const
struct
wined3d_resource_desc
*
desc
,
GLenum
target
,
GLint
level
,
DWORD
flags
,
struct
wined3d_surface
**
surface
)
{
struct
wined3d_device_parent
*
device_parent
=
container
->
resource
.
device
->
device_parent
;
const
struct
wined3d_parent_ops
*
parent_ops
;
...
...
@@ -6416,16 +6397,16 @@ HRESULT CDECL wined3d_surface_create(struct wined3d_texture *container,
void
*
parent
;
HRESULT
hr
;
TRACE
(
"container %p, width %u, height %u, format %s, usage %s (%#x), "
"
pool %s, multisample_type %#x, multisample_quality %u
, flags %#x, surface %p.
\n
"
,
TRACE
(
"container %p, width %u, height %u, format %s, usage %s (%#x),
pool %s,
"
"
multisample_type %#x, multisample_quality %u, target %#x, level %d
, flags %#x, surface %p.
\n
"
,
container
,
desc
->
width
,
desc
->
height
,
debug_d3dformat
(
desc
->
format
),
debug_d3dusage
(
desc
->
usage
),
desc
->
usage
,
debug_d3dpool
(
desc
->
pool
),
desc
->
multisample_type
,
desc
->
multisample_quality
,
flags
,
surface
);
desc
->
multisample_type
,
desc
->
multisample_quality
,
target
,
level
,
flags
,
surface
);
if
(
!
(
object
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
object
))))
return
E_OUTOFMEMORY
;
if
(
FAILED
(
hr
=
surface_init
(
object
,
container
,
desc
,
flags
)))
if
(
FAILED
(
hr
=
surface_init
(
object
,
container
,
desc
,
target
,
level
,
flags
)))
{
WARN
(
"Failed to initialize surface, returning %#x.
\n
"
,
hr
);
HeapFree
(
GetProcessHeap
(),
0
,
object
);
...
...
dlls/wined3d/texture.c
View file @
5cf9fe1c
...
...
@@ -744,7 +744,6 @@ static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource
{
struct
wined3d_surface
*
surface
=
surface_from_resource
(
sub_resource
);
surface_set_texture_target
(
surface
,
0
,
0
);
surface_set_container
(
surface
,
NULL
);
wined3d_surface_decref
(
surface
);
}
...
...
@@ -879,14 +878,14 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
UINT
idx
=
j
*
texture
->
level_count
+
i
;
struct
wined3d_surface
*
surface
;
if
(
FAILED
(
hr
=
wined3d_surface_create
(
texture
,
&
surface_desc
,
surface_flags
,
&
surface
)))
if
(
FAILED
(
hr
=
wined3d_surface_create
(
texture
,
&
surface_desc
,
cube_targets
[
j
],
i
,
surface_flags
,
&
surface
)))
{
WARN
(
"Failed to create surface, hr %#x.
\n
"
,
hr
);
wined3d_texture_cleanup
(
texture
);
return
hr
;
}
surface_set_texture_target
(
surface
,
cube_targets
[
j
],
i
);
texture
->
sub_resources
[
idx
]
=
&
surface
->
resource
;
TRACE
(
"Created surface level %u @ %p.
\n
"
,
i
,
surface
);
}
...
...
@@ -1033,14 +1032,14 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
{
struct
wined3d_surface
*
surface
;
if
(
FAILED
(
hr
=
wined3d_surface_create
(
texture
,
&
surface_desc
,
surface_flags
,
&
surface
)))
if
(
FAILED
(
hr
=
wined3d_surface_create
(
texture
,
&
surface_desc
,
texture
->
target
,
i
,
surface_flags
,
&
surface
)))
{
WARN
(
"Failed to create surface, hr %#x.
\n
"
,
hr
);
wined3d_texture_cleanup
(
texture
);
return
hr
;
}
surface_set_texture_target
(
surface
,
texture
->
target
,
i
);
texture
->
sub_resources
[
i
]
=
&
surface
->
resource
;
TRACE
(
"Created surface level %u @ %p.
\n
"
,
i
,
surface
);
/* Calculate the next mipmap level. */
...
...
dlls/wined3d/wined3d_private.h
View file @
5cf9fe1c
...
...
@@ -2299,8 +2299,8 @@ void surface_update_draw_binding(struct wined3d_surface *surface) DECLSPEC_HIDDE
HRESULT
surface_upload_from_surface
(
struct
wined3d_surface
*
dst_surface
,
const
POINT
*
dst_point
,
struct
wined3d_surface
*
src_surface
,
const
RECT
*
src_rect
)
DECLSPEC_HIDDEN
;
void
surface_validate_location
(
struct
wined3d_surface
*
surface
,
DWORD
location
)
DECLSPEC_HIDDEN
;
HRESULT
CDECL
wined3d_surface_create
(
struct
wined3d_texture
*
container
,
const
struct
wined3d_resource_desc
*
desc
,
DWORD
flags
,
struct
wined3d_surface
**
surface
)
DECLSPEC_HIDDEN
;
HRESULT
wined3d_surface_create
(
struct
wined3d_texture
*
container
,
const
struct
wined3d_resource_desc
*
desc
,
GLenum
target
,
GLint
level
,
DWORD
flags
,
struct
wined3d_surface
**
surface
)
DECLSPEC_HIDDEN
;
void
surface_prepare_map_memory
(
struct
wined3d_surface
*
surface
)
DECLSPEC_HIDDEN
;
void
get_drawable_size_swapchain
(
const
struct
wined3d_context
*
context
,
UINT
*
width
,
UINT
*
height
)
DECLSPEC_HIDDEN
;
...
...
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