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
74e6ec1e
Commit
74e6ec1e
authored
Sep 01, 2022
by
Georg Lehmann
Committed by
Alexandre Julliard
Sep 01, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winevulkan: Update to VK spec version 1.3.226.
Signed-off-by:
Georg Lehmann
<
dadschoorse@gmail.com
>
parent
5ac5e287
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
145 additions
and
5 deletions
+145
-5
loader_thunks.c
dlls/winevulkan/loader_thunks.c
+37
-0
loader_thunks.h
dlls/winevulkan/loader_thunks.h
+31
-0
make_vulkan
dlls/winevulkan/make_vulkan
+1
-1
vulkan_thunks.c
dlls/winevulkan/vulkan_thunks.c
+69
-3
vulkan_thunks.h
dlls/winevulkan/vulkan_thunks.h
+6
-0
winevulkan.json
dlls/winevulkan/winevulkan.json
+1
-1
vulkan.h
include/wine/vulkan.h
+0
-0
No files found.
dlls/winevulkan/loader_thunks.c
View file @
74e6ec1e
...
...
@@ -838,6 +838,29 @@ void WINAPI vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer bu
p_vk_direct_unix_call
(
unix_handle
,
unix_vkCmdDrawIndirectCountKHR
,
&
params
);
}
void
WINAPI
vkCmdDrawMeshTasksEXT
(
VkCommandBuffer
commandBuffer
,
uint32_t
groupCountX
,
uint32_t
groupCountY
,
uint32_t
groupCountZ
)
{
struct
vkCmdDrawMeshTasksEXT_params
params
;
params
.
commandBuffer
=
commandBuffer
;
params
.
groupCountX
=
groupCountX
;
params
.
groupCountY
=
groupCountY
;
params
.
groupCountZ
=
groupCountZ
;
p_vk_direct_unix_call
(
unix_handle
,
unix_vkCmdDrawMeshTasksEXT
,
&
params
);
}
void
WINAPI
vkCmdDrawMeshTasksIndirectCountEXT
(
VkCommandBuffer
commandBuffer
,
VkBuffer
buffer
,
VkDeviceSize
offset
,
VkBuffer
countBuffer
,
VkDeviceSize
countBufferOffset
,
uint32_t
maxDrawCount
,
uint32_t
stride
)
{
struct
vkCmdDrawMeshTasksIndirectCountEXT_params
params
;
params
.
commandBuffer
=
commandBuffer
;
params
.
buffer
=
buffer
;
params
.
offset
=
offset
;
params
.
countBuffer
=
countBuffer
;
params
.
countBufferOffset
=
countBufferOffset
;
params
.
maxDrawCount
=
maxDrawCount
;
params
.
stride
=
stride
;
p_vk_direct_unix_call
(
unix_handle
,
unix_vkCmdDrawMeshTasksIndirectCountEXT
,
&
params
);
}
void
WINAPI
vkCmdDrawMeshTasksIndirectCountNV
(
VkCommandBuffer
commandBuffer
,
VkBuffer
buffer
,
VkDeviceSize
offset
,
VkBuffer
countBuffer
,
VkDeviceSize
countBufferOffset
,
uint32_t
maxDrawCount
,
uint32_t
stride
)
{
struct
vkCmdDrawMeshTasksIndirectCountNV_params
params
;
...
...
@@ -851,6 +874,17 @@ void WINAPI vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer, VkB
p_vk_direct_unix_call
(
unix_handle
,
unix_vkCmdDrawMeshTasksIndirectCountNV
,
&
params
);
}
void
WINAPI
vkCmdDrawMeshTasksIndirectEXT
(
VkCommandBuffer
commandBuffer
,
VkBuffer
buffer
,
VkDeviceSize
offset
,
uint32_t
drawCount
,
uint32_t
stride
)
{
struct
vkCmdDrawMeshTasksIndirectEXT_params
params
;
params
.
commandBuffer
=
commandBuffer
;
params
.
buffer
=
buffer
;
params
.
offset
=
offset
;
params
.
drawCount
=
drawCount
;
params
.
stride
=
stride
;
p_vk_direct_unix_call
(
unix_handle
,
unix_vkCmdDrawMeshTasksIndirectEXT
,
&
params
);
}
void
WINAPI
vkCmdDrawMeshTasksIndirectNV
(
VkCommandBuffer
commandBuffer
,
VkBuffer
buffer
,
VkDeviceSize
offset
,
uint32_t
drawCount
,
uint32_t
stride
)
{
struct
vkCmdDrawMeshTasksIndirectNV_params
params
;
...
...
@@ -4407,7 +4441,10 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{
"vkCmdDrawIndirectCount"
,
vkCmdDrawIndirectCount
},
{
"vkCmdDrawIndirectCountAMD"
,
vkCmdDrawIndirectCountAMD
},
{
"vkCmdDrawIndirectCountKHR"
,
vkCmdDrawIndirectCountKHR
},
{
"vkCmdDrawMeshTasksEXT"
,
vkCmdDrawMeshTasksEXT
},
{
"vkCmdDrawMeshTasksIndirectCountEXT"
,
vkCmdDrawMeshTasksIndirectCountEXT
},
{
"vkCmdDrawMeshTasksIndirectCountNV"
,
vkCmdDrawMeshTasksIndirectCountNV
},
{
"vkCmdDrawMeshTasksIndirectEXT"
,
vkCmdDrawMeshTasksIndirectEXT
},
{
"vkCmdDrawMeshTasksIndirectNV"
,
vkCmdDrawMeshTasksIndirectNV
},
{
"vkCmdDrawMeshTasksNV"
,
vkCmdDrawMeshTasksNV
},
{
"vkCmdDrawMultiEXT"
,
vkCmdDrawMultiEXT
},
...
...
dlls/winevulkan/loader_thunks.h
View file @
74e6ec1e
...
...
@@ -98,7 +98,10 @@ enum unix_call
unix_vkCmdDrawIndirectCount
,
unix_vkCmdDrawIndirectCountAMD
,
unix_vkCmdDrawIndirectCountKHR
,
unix_vkCmdDrawMeshTasksEXT
,
unix_vkCmdDrawMeshTasksIndirectCountEXT
,
unix_vkCmdDrawMeshTasksIndirectCountNV
,
unix_vkCmdDrawMeshTasksIndirectEXT
,
unix_vkCmdDrawMeshTasksIndirectNV
,
unix_vkCmdDrawMeshTasksNV
,
unix_vkCmdDrawMultiEXT
,
...
...
@@ -1142,6 +1145,25 @@ struct vkCmdDrawIndirectCountKHR_params
uint32_t
stride
;
};
struct
vkCmdDrawMeshTasksEXT_params
{
VkCommandBuffer
commandBuffer
;
uint32_t
groupCountX
;
uint32_t
groupCountY
;
uint32_t
groupCountZ
;
};
struct
vkCmdDrawMeshTasksIndirectCountEXT_params
{
VkCommandBuffer
commandBuffer
;
VkBuffer
buffer
;
VkDeviceSize
offset
;
VkBuffer
countBuffer
;
VkDeviceSize
countBufferOffset
;
uint32_t
maxDrawCount
;
uint32_t
stride
;
};
struct
vkCmdDrawMeshTasksIndirectCountNV_params
{
VkCommandBuffer
commandBuffer
;
...
...
@@ -1153,6 +1175,15 @@ struct vkCmdDrawMeshTasksIndirectCountNV_params
uint32_t
stride
;
};
struct
vkCmdDrawMeshTasksIndirectEXT_params
{
VkCommandBuffer
commandBuffer
;
VkBuffer
buffer
;
VkDeviceSize
offset
;
uint32_t
drawCount
;
uint32_t
stride
;
};
struct
vkCmdDrawMeshTasksIndirectNV_params
{
VkCommandBuffer
commandBuffer
;
...
...
dlls/winevulkan/make_vulkan
View file @
74e6ec1e
...
...
@@ -64,7 +64,7 @@ from enum import Enum
LOGGER
=
logging
.
Logger
(
"vulkan"
)
LOGGER
.
addHandler
(
logging
.
StreamHandler
())
VK_XML_VERSION
=
"1.3.22
4
"
VK_XML_VERSION
=
"1.3.22
6
"
WINE_VK_VERSION
=
(
1
,
3
)
# Filenames to create.
...
...
dlls/winevulkan/vulkan_thunks.c
View file @
74e6ec1e
...
...
@@ -3554,6 +3554,26 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break
;
}
case
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
:
{
const
VkPhysicalDeviceMeshShaderFeaturesEXT
*
in
=
(
const
VkPhysicalDeviceMeshShaderFeaturesEXT
*
)
in_header
;
VkPhysicalDeviceMeshShaderFeaturesEXT
*
out
;
if
(
!
(
out
=
malloc
(
sizeof
(
*
out
))))
goto
out_of_memory
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
NULL
;
out
->
taskShader
=
in
->
taskShader
;
out
->
meshShader
=
in
->
meshShader
;
out
->
multiviewMeshShader
=
in
->
multiviewMeshShader
;
out
->
primitiveFragmentShadingRateMeshShader
=
in
->
primitiveFragmentShadingRateMeshShader
;
out
->
meshShaderQueries
=
in
->
meshShaderQueries
;
out_header
->
pNext
=
(
VkBaseOutStructure
*
)
out
;
out_header
=
out_header
->
pNext
;
break
;
}
case
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
{
const
VkPhysicalDeviceAccelerationStructureFeaturesKHR
*
in
=
(
const
VkPhysicalDeviceAccelerationStructureFeaturesKHR
*
)
in_header
;
...
...
@@ -4824,10 +4844,10 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break
;
}
case
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_
ARM
:
case
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_
EXT
:
{
const
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeatures
ARM
*
in
=
(
const
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
*
)
in_header
;
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeatures
ARM
*
out
;
const
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeatures
EXT
*
in
=
(
const
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*
)
in_header
;
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeatures
EXT
*
out
;
if
(
!
(
out
=
malloc
(
sizeof
(
*
out
))))
goto
out_of_memory
;
...
...
@@ -5068,6 +5088,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break
;
}
case
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
:
{
const
VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*
in
=
(
const
VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*
)
in_header
;
VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*
out
;
if
(
!
(
out
=
malloc
(
sizeof
(
*
out
))))
goto
out_of_memory
;
out
->
sType
=
in
->
sType
;
out
->
pNext
=
NULL
;
out
->
depthClampZeroOne
=
in
->
depthClampZeroOne
;
out_header
->
pNext
=
(
VkBaseOutStructure
*
)
out
;
out_header
=
out_header
->
pNext
;
break
;
}
default
:
FIXME
(
"Application requested a linked structure of type %u.
\n
"
,
in_header
->
sType
);
}
...
...
@@ -6253,6 +6289,22 @@ static NTSTATUS wine_vkCmdDrawIndirectCountKHR(void *args)
return
STATUS_SUCCESS
;
}
static
NTSTATUS
wine_vkCmdDrawMeshTasksEXT
(
void
*
args
)
{
struct
vkCmdDrawMeshTasksEXT_params
*
params
=
args
;
TRACE
(
"%p, %u, %u, %u
\n
"
,
params
->
commandBuffer
,
params
->
groupCountX
,
params
->
groupCountY
,
params
->
groupCountZ
);
params
->
commandBuffer
->
device
->
funcs
.
p_vkCmdDrawMeshTasksEXT
(
params
->
commandBuffer
->
command_buffer
,
params
->
groupCountX
,
params
->
groupCountY
,
params
->
groupCountZ
);
return
STATUS_SUCCESS
;
}
static
NTSTATUS
wine_vkCmdDrawMeshTasksIndirectCountEXT
(
void
*
args
)
{
struct
vkCmdDrawMeshTasksIndirectCountEXT_params
*
params
=
args
;
TRACE
(
"%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u
\n
"
,
params
->
commandBuffer
,
wine_dbgstr_longlong
(
params
->
buffer
),
wine_dbgstr_longlong
(
params
->
offset
),
wine_dbgstr_longlong
(
params
->
countBuffer
),
wine_dbgstr_longlong
(
params
->
countBufferOffset
),
params
->
maxDrawCount
,
params
->
stride
);
params
->
commandBuffer
->
device
->
funcs
.
p_vkCmdDrawMeshTasksIndirectCountEXT
(
params
->
commandBuffer
->
command_buffer
,
params
->
buffer
,
params
->
offset
,
params
->
countBuffer
,
params
->
countBufferOffset
,
params
->
maxDrawCount
,
params
->
stride
);
return
STATUS_SUCCESS
;
}
static
NTSTATUS
wine_vkCmdDrawMeshTasksIndirectCountNV
(
void
*
args
)
{
struct
vkCmdDrawMeshTasksIndirectCountNV_params
*
params
=
args
;
...
...
@@ -6261,6 +6313,14 @@ static NTSTATUS wine_vkCmdDrawMeshTasksIndirectCountNV(void *args)
return
STATUS_SUCCESS
;
}
static
NTSTATUS
wine_vkCmdDrawMeshTasksIndirectEXT
(
void
*
args
)
{
struct
vkCmdDrawMeshTasksIndirectEXT_params
*
params
=
args
;
TRACE
(
"%p, 0x%s, 0x%s, %u, %u
\n
"
,
params
->
commandBuffer
,
wine_dbgstr_longlong
(
params
->
buffer
),
wine_dbgstr_longlong
(
params
->
offset
),
params
->
drawCount
,
params
->
stride
);
params
->
commandBuffer
->
device
->
funcs
.
p_vkCmdDrawMeshTasksIndirectEXT
(
params
->
commandBuffer
->
command_buffer
,
params
->
buffer
,
params
->
offset
,
params
->
drawCount
,
params
->
stride
);
return
STATUS_SUCCESS
;
}
static
NTSTATUS
wine_vkCmdDrawMeshTasksIndirectNV
(
void
*
args
)
{
struct
vkCmdDrawMeshTasksIndirectNV_params
*
params
=
args
;
...
...
@@ -10019,6 +10079,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_conservative_rasterization"
,
"VK_EXT_custom_border_color"
,
"VK_EXT_debug_marker"
,
"VK_EXT_depth_clamp_zero_one"
,
"VK_EXT_depth_clip_control"
,
"VK_EXT_depth_clip_enable"
,
"VK_EXT_depth_range_unrestricted"
,
...
...
@@ -10046,6 +10107,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_load_store_op_none"
,
"VK_EXT_memory_budget"
,
"VK_EXT_memory_priority"
,
"VK_EXT_mesh_shader"
,
"VK_EXT_multi_draw"
,
"VK_EXT_multisampled_render_to_single_sampled"
,
"VK_EXT_non_seamless_cube_map"
,
...
...
@@ -10061,6 +10123,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_private_data"
,
"VK_EXT_provoking_vertex"
,
"VK_EXT_queue_family_foreign"
,
"VK_EXT_rasterization_order_attachment_access"
,
"VK_EXT_rgba10x6_formats"
,
"VK_EXT_robustness2"
,
"VK_EXT_sample_locations"
,
...
...
@@ -10372,7 +10435,10 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
wine_vkCmdDrawIndirectCount
,
wine_vkCmdDrawIndirectCountAMD
,
wine_vkCmdDrawIndirectCountKHR
,
wine_vkCmdDrawMeshTasksEXT
,
wine_vkCmdDrawMeshTasksIndirectCountEXT
,
wine_vkCmdDrawMeshTasksIndirectCountNV
,
wine_vkCmdDrawMeshTasksIndirectEXT
,
wine_vkCmdDrawMeshTasksIndirectNV
,
wine_vkCmdDrawMeshTasksNV
,
wine_vkCmdDrawMultiEXT
,
...
...
dlls/winevulkan/vulkan_thunks.h
View file @
74e6ec1e
...
...
@@ -1910,7 +1910,10 @@ struct vulkan_device_funcs
void
(
*
p_vkCmdDrawIndirectCount
)(
VkCommandBuffer
,
VkBuffer
,
VkDeviceSize
,
VkBuffer
,
VkDeviceSize
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawIndirectCountAMD
)(
VkCommandBuffer
,
VkBuffer
,
VkDeviceSize
,
VkBuffer
,
VkDeviceSize
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawIndirectCountKHR
)(
VkCommandBuffer
,
VkBuffer
,
VkDeviceSize
,
VkBuffer
,
VkDeviceSize
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawMeshTasksEXT
)(
VkCommandBuffer
,
uint32_t
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawMeshTasksIndirectCountEXT
)(
VkCommandBuffer
,
VkBuffer
,
VkDeviceSize
,
VkBuffer
,
VkDeviceSize
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawMeshTasksIndirectCountNV
)(
VkCommandBuffer
,
VkBuffer
,
VkDeviceSize
,
VkBuffer
,
VkDeviceSize
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawMeshTasksIndirectEXT
)(
VkCommandBuffer
,
VkBuffer
,
VkDeviceSize
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawMeshTasksIndirectNV
)(
VkCommandBuffer
,
VkBuffer
,
VkDeviceSize
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawMeshTasksNV
)(
VkCommandBuffer
,
uint32_t
,
uint32_t
);
void
(
*
p_vkCmdDrawMultiEXT
)(
VkCommandBuffer
,
uint32_t
,
const
VkMultiDrawInfoEXT
*
,
uint32_t
,
uint32_t
,
uint32_t
);
...
...
@@ -2367,7 +2370,10 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdDrawIndirectCount) \
USE_VK_FUNC(vkCmdDrawIndirectCountAMD) \
USE_VK_FUNC(vkCmdDrawIndirectCountKHR) \
USE_VK_FUNC(vkCmdDrawMeshTasksEXT) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectCountEXT) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectCountNV) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectEXT) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectNV) \
USE_VK_FUNC(vkCmdDrawMeshTasksNV) \
USE_VK_FUNC(vkCmdDrawMultiEXT) \
...
...
dlls/winevulkan/winevulkan.json
View file @
74e6ec1e
...
...
@@ -2,6 +2,6 @@
"file_format_version"
:
"1.0.0"
,
"ICD"
:
{
"library_path"
:
".
\\
winevulkan.dll"
,
"api_version"
:
"1.3.22
4
"
"api_version"
:
"1.3.22
6
"
}
}
include/wine/vulkan.h
View file @
74e6ec1e
This diff is collapsed.
Click to expand it.
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