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
7d43577d
Commit
7d43577d
authored
Apr 22, 2020
by
Henri Verbeet
Committed by
Alexandre Julliard
Apr 22, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Use the bo binding in wined3d_context_gl_map_bo_address().
Signed-off-by:
Henri Verbeet
<
hverbeet@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
c4dab9b7
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
19 deletions
+11
-19
adapter_gl.c
dlls/wined3d/adapter_gl.c
+1
-7
context_gl.c
dlls/wined3d/context_gl.c
+7
-7
texture.c
dlls/wined3d/texture.c
+2
-4
wined3d_private.h
dlls/wined3d/wined3d_private.h
+1
-1
No files found.
dlls/wined3d/adapter_gl.c
View file @
7d43577d
...
...
@@ -4629,13 +4629,7 @@ static void adapter_gl_uninit_3d(struct wined3d_device *device)
static
void
*
adapter_gl_map_bo_address
(
struct
wined3d_context
*
context
,
const
struct
wined3d_bo_address
*
data
,
size_t
size
,
uint32_t
bind_flags
,
uint32_t
map_flags
)
{
struct
wined3d_context_gl
*
context_gl
;
GLenum
binding
;
context_gl
=
wined3d_context_gl
(
context
);
binding
=
wined3d_buffer_gl_binding_from_bind_flags
(
context_gl
->
gl_info
,
bind_flags
);
return
wined3d_context_gl_map_bo_address
(
context_gl
,
data
,
size
,
binding
,
map_flags
);
return
wined3d_context_gl_map_bo_address
(
wined3d_context_gl
(
context
),
data
,
size
,
map_flags
);
}
static
void
adapter_gl_unmap_bo_address
(
struct
wined3d_context
*
context
,
const
struct
wined3d_bo_address
*
data
,
...
...
dlls/wined3d/context_gl.c
View file @
7d43577d
...
...
@@ -2525,7 +2525,7 @@ void wined3d_context_gl_bind_texture(struct wined3d_context_gl *context_gl, GLen
}
void
*
wined3d_context_gl_map_bo_address
(
struct
wined3d_context_gl
*
context_gl
,
const
struct
wined3d_bo_address
*
data
,
size_t
size
,
GLenum
binding
,
DWORD
flags
)
const
struct
wined3d_bo_address
*
data
,
size_t
size
,
uint32_t
flags
)
{
const
struct
wined3d_gl_info
*
gl_info
;
struct
wined3d_bo_gl
*
bo
;
...
...
@@ -2535,20 +2535,20 @@ void *wined3d_context_gl_map_bo_address(struct wined3d_context_gl *context_gl,
return
data
->
addr
;
gl_info
=
context_gl
->
gl_info
;
wined3d_context_gl_bind_bo
(
context_gl
,
binding
,
bo
->
id
);
wined3d_context_gl_bind_bo
(
context_gl
,
b
o
->
b
inding
,
bo
->
id
);
if
(
gl_info
->
supported
[
ARB_MAP_BUFFER_RANGE
])
{
memory
=
GL_EXTCALL
(
glMapBufferRange
(
binding
,
(
INT_PTR
)
data
->
addr
,
memory
=
GL_EXTCALL
(
glMapBufferRange
(
b
o
->
b
inding
,
(
INT_PTR
)
data
->
addr
,
size
,
wined3d_resource_gl_map_flags
(
flags
)));
}
else
{
memory
=
GL_EXTCALL
(
glMapBuffer
(
binding
,
wined3d_resource_gl_legacy_map_flags
(
flags
)));
memory
=
GL_EXTCALL
(
glMapBuffer
(
b
o
->
b
inding
,
wined3d_resource_gl_legacy_map_flags
(
flags
)));
memory
+=
(
INT_PTR
)
data
->
addr
;
}
wined3d_context_gl_bind_bo
(
context_gl
,
binding
,
0
);
wined3d_context_gl_bind_bo
(
context_gl
,
b
o
->
b
inding
,
0
);
checkGLcall
(
"Map buffer object"
);
return
memory
;
...
...
@@ -2604,8 +2604,8 @@ void wined3d_context_gl_copy_bo_address(struct wined3d_context_gl *context_gl,
}
else
{
src_ptr
=
wined3d_context_gl_map_bo_address
(
context_gl
,
src
,
size
,
src_bo
->
binding
,
WINED3D_MAP_READ
);
dst_ptr
=
wined3d_context_gl_map_bo_address
(
context_gl
,
dst
,
size
,
dst_bo
->
binding
,
WINED3D_MAP_WRITE
);
src_ptr
=
wined3d_context_gl_map_bo_address
(
context_gl
,
src
,
size
,
WINED3D_MAP_READ
);
dst_ptr
=
wined3d_context_gl_map_bo_address
(
context_gl
,
dst
,
size
,
WINED3D_MAP_WRITE
);
memcpy
(
dst_ptr
,
src_ptr
,
size
);
...
...
dlls/wined3d/texture.c
View file @
7d43577d
...
...
@@ -2160,8 +2160,7 @@ static void wined3d_texture_gl_upload_data(struct wined3d_context *context,
return
;
}
src_mem
=
wined3d_context_gl_map_bo_address
(
context_gl
,
&
bo
,
src_slice_pitch
*
update_d
,
GL_PIXEL_UNPACK_BUFFER
,
WINED3D_MAP_READ
);
src_mem
=
wined3d_context_gl_map_bo_address
(
context_gl
,
&
bo
,
src_slice_pitch
*
update_d
,
WINED3D_MAP_READ
);
for
(
z
=
0
;
z
<
update_d
;
++
z
,
src_mem
+=
src_slice_pitch
)
{
...
...
@@ -2811,8 +2810,7 @@ static BOOL wined3d_texture_gl_load_texture(struct wined3d_texture_gl *texture_g
wined3d_format_calculate_pitch
(
format
,
device
->
surface_alignment
,
width
,
height
,
&
dst_row_pitch
,
&
dst_slice_pitch
);
src_mem
=
wined3d_context_gl_map_bo_address
(
context_gl
,
&
data
,
src_slice_pitch
,
GL_PIXEL_UNPACK_BUFFER
,
WINED3D_MAP_READ
);
src_mem
=
wined3d_context_gl_map_bo_address
(
context_gl
,
&
data
,
src_slice_pitch
,
WINED3D_MAP_READ
);
if
(
!
(
dst_mem
=
heap_alloc
(
dst_slice_pitch
)))
{
ERR
(
"Out of memory (%u).
\n
"
,
dst_slice_pitch
);
...
...
dlls/wined3d/wined3d_private.h
View file @
7d43577d
...
...
@@ -2200,7 +2200,7 @@ HRESULT wined3d_context_gl_init(struct wined3d_context_gl *context_gl,
void
wined3d_context_gl_load_tex_coords
(
const
struct
wined3d_context_gl
*
context_gl
,
const
struct
wined3d_stream_info
*
si
,
GLuint
*
current_bo
,
const
struct
wined3d_state
*
state
)
DECLSPEC_HIDDEN
;
void
*
wined3d_context_gl_map_bo_address
(
struct
wined3d_context_gl
*
context_gl
,
const
struct
wined3d_bo_address
*
data
,
size_t
size
,
GLenum
binding
,
DWORD
flags
)
DECLSPEC_HIDDEN
;
const
struct
wined3d_bo_address
*
data
,
size_t
size
,
uint32_t
flags
)
DECLSPEC_HIDDEN
;
struct
wined3d_context_gl
*
wined3d_context_gl_reacquire
(
struct
wined3d_context_gl
*
context_gl
)
DECLSPEC_HIDDEN
;
void
wined3d_context_gl_release
(
struct
wined3d_context_gl
*
context_gl
)
DECLSPEC_HIDDEN
;
BOOL
wined3d_context_gl_set_current
(
struct
wined3d_context_gl
*
context_gl
)
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