Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
859514a6
Commit
859514a6
authored
May 29, 2020
by
Henri Verbeet
Committed by
Alexandre Julliard
May 29, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Map Vulkan adapter bo's persistently on 64-bit architectures.
Signed-off-by:
Henri Verbeet
<
hverbeet@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
d777b949
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
0 deletions
+15
-0
adapter_vk.c
dlls/wined3d/adapter_vk.c
+9
-0
context_vk.c
dlls/wined3d/context_vk.c
+5
-0
wined3d_private.h
dlls/wined3d/wined3d_private.h
+1
-0
No files found.
dlls/wined3d/adapter_vk.c
View file @
859514a6
...
...
@@ -844,6 +844,9 @@ static void *wined3d_bo_vk_map(struct wined3d_bo_vk *bo, struct wined3d_context_
void
*
map_ptr
;
VkResult
vr
;
if
(
bo
->
map_ptr
)
return
bo
->
map_ptr
;
vk_info
=
context_vk
->
vk_info
;
device_vk
=
wined3d_device_vk
(
context_vk
->
c
.
device
);
...
...
@@ -872,6 +875,9 @@ static void *wined3d_bo_vk_map(struct wined3d_bo_vk *bo, struct wined3d_context_
return
NULL
;
}
if
(
sizeof
(
map_ptr
)
>=
sizeof
(
uint64_t
))
bo
->
map_ptr
=
map_ptr
;
return
map_ptr
;
}
...
...
@@ -881,6 +887,9 @@ static void wined3d_bo_vk_unmap(struct wined3d_bo_vk *bo, struct wined3d_context
struct
wined3d_device_vk
*
device_vk
;
struct
wined3d_bo_slab_vk
*
slab
;
if
(
bo
->
map_ptr
)
return
;
if
((
slab
=
bo
->
slab
))
{
if
(
--
slab
->
map_count
)
...
...
dlls/wined3d/context_vk.c
View file @
859514a6
...
...
@@ -483,6 +483,7 @@ BOOL wined3d_context_vk_create_bo(struct wined3d_context_vk *context_vk, VkDevic
return
FALSE
;
}
bo
->
map_ptr
=
NULL
;
bo
->
buffer_offset
=
0
;
bo
->
size
=
size
;
bo
->
usage
=
usage
;
...
...
@@ -791,6 +792,8 @@ void wined3d_context_vk_destroy_sampler(struct wined3d_context_vk *context_vk,
void
wined3d_context_vk_destroy_bo
(
struct
wined3d_context_vk
*
context_vk
,
const
struct
wined3d_bo_vk
*
bo
)
{
struct
wined3d_device_vk
*
device_vk
=
wined3d_device_vk
(
context_vk
->
c
.
device
);
const
struct
wined3d_vk_info
*
vk_info
=
context_vk
->
vk_info
;
size_t
object_size
,
idx
;
TRACE
(
"context_vk %p, bo %p.
\n
"
,
context_vk
,
bo
);
...
...
@@ -810,6 +813,8 @@ void wined3d_context_vk_destroy_bo(struct wined3d_context_vk *context_vk, const
return
;
}
if
(
bo
->
map_ptr
)
VK_CALL
(
vkUnmapMemory
(
device_vk
->
vk_device
,
bo
->
vk_memory
));
wined3d_context_vk_destroy_memory
(
context_vk
,
bo
->
vk_memory
,
bo
->
command_buffer_id
);
}
...
...
dlls/wined3d/wined3d_private.h
View file @
859514a6
...
...
@@ -1554,6 +1554,7 @@ struct wined3d_bo_vk
struct
wined3d_bo_slab_vk
*
slab
;
VkDeviceMemory
vk_memory
;
void
*
map_ptr
;
VkDeviceSize
buffer_offset
;
VkDeviceSize
memory_offset
;
...
...
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