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
643538a8
Commit
643538a8
authored
Jan 19, 2024
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winevulkan: Return result through NtCallbackReturn for the debug callbacks.
parent
bcda5979
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
12 deletions
+15
-12
loader.c
dlls/winevulkan/loader.c
+9
-5
vulkan.c
dlls/winevulkan/vulkan.c
+6
-7
No files found.
dlls/winevulkan/loader.c
View file @
643538a8
...
...
@@ -602,15 +602,19 @@ void WINAPI vkFreeCommandBuffers(VkDevice device, VkCommandPool cmd_pool, uint32
}
}
static
BOOL
WINAPI
call_vulkan_debug_report_callback
(
struct
wine_vk_debug_report_params
*
param
s
,
ULONG
size
)
static
NTSTATUS
WINAPI
call_vulkan_debug_report_callback
(
void
*
arg
s
,
ULONG
size
)
{
return
params
->
user_callback
(
params
->
flags
,
params
->
object_type
,
params
->
object_handle
,
params
->
location
,
params
->
code
,
params
->
layer_prefix
,
params
->
message
,
params
->
user_data
);
struct
wine_vk_debug_report_params
*
params
=
args
;
VkBool32
ret
=
params
->
user_callback
(
params
->
flags
,
params
->
object_type
,
params
->
object_handle
,
params
->
location
,
params
->
code
,
params
->
layer_prefix
,
params
->
message
,
params
->
user_data
);
return
NtCallbackReturn
(
&
ret
,
sizeof
(
ret
),
STATUS_SUCCESS
);
}
static
BOOL
WINAPI
call_vulkan_debug_utils_callback
(
struct
wine_vk_debug_utils_params
*
param
s
,
ULONG
size
)
static
NTSTATUS
WINAPI
call_vulkan_debug_utils_callback
(
void
*
arg
s
,
ULONG
size
)
{
return
params
->
user_callback
(
params
->
severity
,
params
->
message_types
,
&
params
->
data
,
params
->
user_data
);
struct
wine_vk_debug_utils_params
*
params
=
args
;
VkBool32
ret
=
params
->
user_callback
(
params
->
severity
,
params
->
message_types
,
&
params
->
data
,
params
->
user_data
);
return
NtCallbackReturn
(
&
ret
,
sizeof
(
ret
),
STATUS_SUCCESS
);
}
BOOL
WINAPI
DllMain
(
HINSTANCE
hinst
,
DWORD
reason
,
void
*
reserved
)
...
...
dlls/winevulkan/vulkan.c
View file @
643538a8
...
...
@@ -118,7 +118,6 @@ static VkBool32 debug_utils_callback_conversion(VkDebugUtilsMessageSeverityFlagB
struct
wine_debug_utils_messenger
*
object
;
void
*
ret_ptr
;
ULONG
ret_len
;
VkBool32
result
;
unsigned
int
i
;
TRACE
(
"%i, %u, %p, %p
\n
"
,
severity
,
message_types
,
callback_data
,
user_data
);
...
...
@@ -166,12 +165,11 @@ static VkBool32 debug_utils_callback_conversion(VkDebugUtilsMessageSeverityFlagB
params
.
data
.
pObjects
=
object_name_infos
;
/* applications should always return VK_FALSE */
result
=
KeUserModeCallback
(
NtUserCallVulkanDebugUtilsCallback
,
&
params
,
sizeof
(
params
),
&
ret_ptr
,
&
ret_len
);
KeUserModeCallback
(
NtUserCallVulkanDebugUtilsCallback
,
&
params
,
sizeof
(
params
),
&
ret_ptr
,
&
ret_len
);
free
(
object_name_infos
);
return
result
;
if
(
ret_len
==
sizeof
(
VkBool32
))
return
*
(
VkBool32
*
)
ret_ptr
;
return
VK_FALSE
;
}
static
VkBool32
debug_report_callback_conversion
(
VkDebugReportFlagsEXT
flags
,
VkDebugReportObjectTypeEXT
object_type
,
...
...
@@ -207,8 +205,9 @@ static VkBool32 debug_report_callback_conversion(VkDebugReportFlagsEXT flags, Vk
if
(
!
params
.
object_handle
)
params
.
object_type
=
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
;
return
KeUserModeCallback
(
NtUserCallVulkanDebugReportCallback
,
&
params
,
sizeof
(
params
),
&
ret_ptr
,
&
ret_len
);
KeUserModeCallback
(
NtUserCallVulkanDebugReportCallback
,
&
params
,
sizeof
(
params
),
&
ret_ptr
,
&
ret_len
);
if
(
ret_len
==
sizeof
(
VkBool32
))
return
*
(
VkBool32
*
)
ret_ptr
;
return
VK_FALSE
;
}
static
void
wine_vk_physical_device_free
(
struct
wine_phys_dev
*
phys_dev
)
...
...
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