Wine-devel
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
March 2019
- 76 participants
- 1010 discussions
From: Józef Kucia <jkucia(a)codeweavers.com>
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
configure.ac | 4 +---
m4/check-pthread.m4 | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 3 deletions(-)
create mode 100644 m4/check-pthread.m4
diff --git a/configure.ac b/configure.ac
index bfaa8f2d429a..6d2e12822593 100644
--- a/configure.ac
+++ b/configure.ac
@@ -80,9 +80,7 @@ AC_CHECK_LIB([dl], [dlopen],
[AS_IF([test "$ac_cv_header_dlfnc_h" = "xyes"], [AC_MSG_ERROR([libdl not found.])])])
AC_ARG_VAR([PTHREAD_LIBS], [linker flags for pthreads])
-AC_CHECK_LIB([pthread], [pthread_create],
- [AC_SUBST([PTHREAD_LIBS], ["-lpthread"])],
- [AC_MSG_ERROR([libpthread not found.])])
+VKD3D_CHECK_PTHREAD
AC_SUBST([VULKAN_LIBS])
VKD3D_CHECK_SONAME([vulkan], [vkGetInstanceProcAddr],
diff --git a/m4/check-pthread.m4 b/m4/check-pthread.m4
new file mode 100644
index 000000000000..5fa82ecb8bc3
--- /dev/null
+++ b/m4/check-pthread.m4
@@ -0,0 +1,21 @@
+dnl VKD3D_CHECK_PTHREAD
+AC_DEFUN([VKD3D_CHECK_PTHREAD],
+[vkd3d_pthread_found=no
+
+AS_IF([test "x$PTHREAD_LIBS" != x],
+[vkd3d_libs_saved="$LIBS"
+LIBS="$LIBS $PTHREAD_LIBS"
+
+AC_MSG_CHECKING([checking for pthread_create in $PTHREAD_LIBS])
+AC_TRY_LINK_FUNC([pthread_create], [vkd3d_pthread_found=yes])
+AC_MSG_RESULT([$vkd3d_pthread_found])
+
+AS_IF([test "x$vkd3d_pthread_found" = "xno"], [PTHREAD_LIBS=""])
+
+LIBS="$vkd3d_libs_saved"])
+
+AS_IF([test "x$vkd3d_pthread_found" != "xyes"],
+AC_CHECK_LIB([pthread], [pthread_create],
+ [PTHREAD_LIBS="-lpthread"],
+ [AC_MSG_ERROR([libpthread not found.])]))
+])
--
2.19.2
3
2
From: Józef Kucia <jkucia(a)codeweavers.com>
For Windows builds.
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
configure.ac | 5 ++--
libs/vkd3d/device.c | 63 ++++++++++++++++++++++++++++++++++++++-------
2 files changed, 56 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index 37e1edd6e941..bfaa8f2d429a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,8 @@ VKD3D_CHECK_MINGW32_PROG([CROSSCC32], [CROSSTARGET32], [no])
VKD3D_CHECK_MINGW64_PROG([CROSSCC64], [CROSSTARGET64], [no])
dnl Check for headers
-AC_CHECK_HEADERS([pthread.h vulkan/vulkan.h \
+AC_CHECK_HEADERS([dlfcn.h pthread.h \
+ vulkan/vulkan.h \
vulkan/spirv.h vulkan/GLSL.std.450.h \
spirv/unified1/spirv.h spirv/unified1/GLSL.std.450.h])
AS_IF([test "x$ac_cv_header_pthread_h" != "xyes"], [AC_MSG_ERROR([pthread.h not found.])])
@@ -76,7 +77,7 @@ AC_CHECK_LIB([m], [ceilf])
AC_ARG_VAR([DL_LIBS], [linker flags for dl])
AC_CHECK_LIB([dl], [dlopen],
[AC_SUBST([DL_LIBS], ["-ldl"])],
- [AC_MSG_ERROR([libdl not found.])])
+ [AS_IF([test "$ac_cv_header_dlfnc_h" = "xyes"], [AC_MSG_ERROR([libdl not found.])])])
AC_ARG_VAR([PTHREAD_LIBS], [linker flags for pthreads])
AC_CHECK_LIB([pthread], [pthread_create],
diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c
index f809a00b03ff..8b35f40aea99 100644
--- a/libs/vkd3d/device.c
+++ b/libs/vkd3d/device.c
@@ -18,8 +18,51 @@
#include "vkd3d_private.h"
+#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
+static void *vkd3d_dlopen(const char *name)
+{
+ return dlopen(name, RTLD_NOW);
+}
+
+static void *vkd3d_dlsym(void *handle, const char *symbol)
+{
+ return dlsym(handle, symbol);
+}
+
+static int vkd3d_dlclose(void *handle)
+{
+ return dlclose(handle);
+}
+
+static const char *vkd3d_dlerror(void)
+{
+ return dlerror();
+}
+#else
+static void *vkd3d_dlopen(const char *name)
+{
+ FIXME("Not implemented for this platform.\n");
+ return NULL;
+}
+
+static void *vkd3d_dlsym(void *handle, const char *symbol)
+{
+ return NULL;
+}
+
+static int vkd3d_dlclose(void *handle)
+{
+ return 0;
+}
+
+static const char *vkd3d_dlerror(void)
+{
+ return "Not implemented for this platform.\n";
+}
+#endif
+
struct vkd3d_struct
{
enum vkd3d_structure_type type;
@@ -321,16 +364,16 @@ static HRESULT vkd3d_init_vk_global_procs(struct vkd3d_instance *instance,
if (!vkGetInstanceProcAddr)
{
- if (!(instance->libvulkan = dlopen(SONAME_LIBVULKAN, RTLD_NOW)))
+ if (!(instance->libvulkan = vkd3d_dlopen(SONAME_LIBVULKAN)))
{
- ERR("Failed to load libvulkan: %s.\n", dlerror());
+ ERR("Failed to load libvulkan: %s.\n", vkd3d_dlerror());
return E_FAIL;
}
- if (!(vkGetInstanceProcAddr = dlsym(instance->libvulkan, "vkGetInstanceProcAddr")))
+ if (!(vkGetInstanceProcAddr = vkd3d_dlsym(instance->libvulkan, "vkGetInstanceProcAddr")))
{
ERR("Could not load function pointer for vkGetInstanceProcAddr().\n");
- dlclose(instance->libvulkan);
+ vkd3d_dlclose(instance->libvulkan);
instance->libvulkan = NULL;
return E_FAIL;
}
@@ -343,7 +386,7 @@ static HRESULT vkd3d_init_vk_global_procs(struct vkd3d_instance *instance,
if (FAILED(hr = vkd3d_load_vk_global_procs(&instance->vk_global_procs, vkGetInstanceProcAddr)))
{
if (instance->libvulkan)
- dlclose(instance->libvulkan);
+ vkd3d_dlclose(instance->libvulkan);
instance->libvulkan = NULL;
return hr;
}
@@ -428,7 +471,7 @@ static HRESULT vkd3d_instance_init(struct vkd3d_instance *instance,
&extension_count, &user_extension_supported)))
{
if (instance->libvulkan)
- dlclose(instance->libvulkan);
+ vkd3d_dlclose(instance->libvulkan);
return hr;
}
@@ -443,7 +486,7 @@ static HRESULT vkd3d_instance_init(struct vkd3d_instance *instance,
if (!(extensions = vkd3d_calloc(extension_count, sizeof(*extensions))))
{
if (instance->libvulkan)
- dlclose(instance->libvulkan);
+ vkd3d_dlclose(instance->libvulkan);
vkd3d_free(user_extension_supported);
return E_OUTOFMEMORY;
}
@@ -471,7 +514,7 @@ static HRESULT vkd3d_instance_init(struct vkd3d_instance *instance,
{
ERR("Failed to create Vulkan instance, vr %d.\n", vr);
if (instance->libvulkan)
- dlclose(instance->libvulkan);
+ vkd3d_dlclose(instance->libvulkan);
return hresult_from_vk_result(vr);
}
@@ -481,7 +524,7 @@ static HRESULT vkd3d_instance_init(struct vkd3d_instance *instance,
if (instance->vk_procs.vkDestroyInstance)
instance->vk_procs.vkDestroyInstance(vk_instance, NULL);
if (instance->libvulkan)
- dlclose(instance->libvulkan);
+ vkd3d_dlclose(instance->libvulkan);
return hr;
}
@@ -541,7 +584,7 @@ static void vkd3d_destroy_instance(struct vkd3d_instance *instance)
VK_CALL(vkDestroyInstance(vk_instance, NULL));
if (instance->libvulkan)
- dlclose(instance->libvulkan);
+ vkd3d_dlclose(instance->libvulkan);
vkd3d_free(instance);
}
--
2.19.2
3
2
[PATCH vkd3d 5/8] tests: Add tests for copying block-compressed texture regions of smallest miplevels.
by Józef Kucia 19 Mar '19
by Józef Kucia 19 Mar '19
19 Mar '19
From: Józef Kucia <jkucia(a)codeweavers.com>
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
tests/d3d12.c | 40 +++++++++++++++-
tests/d3d12_invalid_usage.c | 95 ++++++++++++++++++++-----------------
tests/d3d12_test_utils.h | 2 +
3 files changed, 92 insertions(+), 45 deletions(-)
diff --git a/tests/d3d12.c b/tests/d3d12.c
index 89858ae01f02..c99928a40092 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -21177,8 +21177,8 @@ static void test_copy_block_compressed_texture(void)
}
ID3D12Resource_Unmap(src_buffer, 0, NULL);
- texture = create_default_texture(device,
- 8, 8, DXGI_FORMAT_BC2_UNORM, 0, D3D12_RESOURCE_STATE_COPY_DEST);
+ texture = create_default_texture2d(device, 8, 8, 1, 4, DXGI_FORMAT_BC2_UNORM,
+ D3D12_RESOURCE_FLAG_NONE, D3D12_RESOURCE_STATE_COPY_DEST);
/* copy from buffer to texture */
dst_location.pResource = texture;
@@ -21210,6 +21210,16 @@ static void test_copy_block_compressed_texture(void)
ID3D12GraphicsCommandList_CopyTextureRegion(command_list,
&dst_location, 4, 4, 0, &src_location, &box);
+ /* miplevels smaller than 4x4 */
+ dst_location.SubresourceIndex = 2;
+ set_box(&box, 4, 0, 0, 8, 4, 1);
+ ID3D12GraphicsCommandList_CopyTextureRegion(command_list,
+ &dst_location, 0, 0, 0, &src_location, &box);
+ dst_location.SubresourceIndex = 3;
+ set_box(&box, 8, 0, 0, 12, 4, 1);
+ ID3D12GraphicsCommandList_CopyTextureRegion(command_list,
+ &dst_location, 0, 0, 0, &src_location, &box);
+
transition_resource_state(command_list, texture,
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_COPY_SOURCE);
@@ -21272,6 +21282,32 @@ static void test_copy_block_compressed_texture(void)
"Got {0x%08x, 0x%08x, 0x%08x, 0x%08x} at (%u, %u), expected {0x%08x, 0x%08x, 0x%08x, 0x%08x}.\n",
got.x, got.y, got.z, got.w, x, y, expected.x, expected.y, expected.z, expected.w);
+ reset_command_list(command_list, context.allocator);
+ get_texture_readback_with_command_list(texture, 2, &rb, queue, command_list);
+ block_id = 1;
+ expected.x = block_id << 8 | 0;
+ expected.y = block_id << 8 | 1;
+ expected.z = block_id << 8 | 2;
+ expected.w = block_id << 8 | 3;
+ got = *get_readback_uvec4(&rb, 0, 0);
+ release_resource_readback(&rb);
+ ok(compare_uvec4(&got, &expected),
+ "Got {0x%08x, 0x%08x, 0x%08x, 0x%08x}, expected {0x%08x, 0x%08x, 0x%08x, 0x%08x}.\n",
+ got.x, got.y, got.z, got.w, expected.x, expected.y, expected.z, expected.w);
+
+ reset_command_list(command_list, context.allocator);
+ get_texture_readback_with_command_list(texture, 3, &rb, queue, command_list);
+ block_id = 2;
+ expected.x = block_id << 8 | 0;
+ expected.y = block_id << 8 | 1;
+ expected.z = block_id << 8 | 2;
+ expected.w = block_id << 8 | 3;
+ got = *get_readback_uvec4(&rb, 0, 0);
+ release_resource_readback(&rb);
+ ok(compare_uvec4(&got, &expected),
+ "Got {0x%08x, 0x%08x, 0x%08x, 0x%08x}, expected {0x%08x, 0x%08x, 0x%08x, 0x%08x}.\n",
+ got.x, got.y, got.z, got.w, expected.x, expected.y, expected.z, expected.w);
+
reset_command_list(command_list, context.allocator);
get_buffer_readback_with_command_list(dst_buffer, DXGI_FORMAT_R32_UINT, &rb, queue, command_list);
for (y = 0; y < 24 / format_block_height(DXGI_FORMAT_BC2_UNORM); ++y)
diff --git a/tests/d3d12_invalid_usage.c b/tests/d3d12_invalid_usage.c
index a76873bd20e6..69ffda64fdba 100644
--- a/tests/d3d12_invalid_usage.c
+++ b/tests/d3d12_invalid_usage.c
@@ -18,6 +18,20 @@
#include "d3d12_crosstest.h"
+#define recreate_command_list(a, b, c) recreate_command_list_(__LINE__, a, b, c)
+static void recreate_command_list_(unsigned int line, ID3D12Device *device,
+ ID3D12CommandAllocator *allocator, ID3D12GraphicsCommandList **command_list)
+{
+ HRESULT hr;
+
+ hr = ID3D12CommandAllocator_Reset(allocator);
+ ok_(line)(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
+ ID3D12GraphicsCommandList_Release(*command_list);
+ hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
+ allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)command_list);
+ ok_(line)(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+}
+
static void test_invalid_texture_resource_barriers(void)
{
ID3D12Resource *texture, *readback_buffer, *upload_buffer;
@@ -78,12 +92,7 @@ static void test_invalid_texture_resource_barriers(void)
wait_queue_idle(device, queue);
}
- ID3D12GraphicsCommandList_Release(command_list);
- hr = ID3D12CommandAllocator_Reset(command_allocator);
- ok(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
- hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- command_allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)&command_list);
- ok(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
/* The before state does not match with the previous state. */
transition_resource_state(command_list, texture,
@@ -100,12 +109,7 @@ static void test_invalid_texture_resource_barriers(void)
wait_queue_idle(device, queue);
}
- hr = ID3D12CommandAllocator_Reset(command_allocator);
- ok(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
- ID3D12GraphicsCommandList_Release(command_list);
- hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- command_allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)&command_list);
- ok(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
/* Exactly one write state or a combination of read-only states are allowed. */
transition_resource_state(command_list, texture,
@@ -114,12 +118,7 @@ static void test_invalid_texture_resource_barriers(void)
hr = ID3D12GraphicsCommandList_Close(command_list);
ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
- hr = ID3D12CommandAllocator_Reset(command_allocator);
- ok(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
- ID3D12GraphicsCommandList_Release(command_list);
- hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- command_allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)&command_list);
- ok(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
/* Readback resources cannot transition from D3D12_RESOURCE_STATE_COPY_DEST. */
transition_resource_state(command_list, readback_buffer,
@@ -127,12 +126,7 @@ static void test_invalid_texture_resource_barriers(void)
hr = ID3D12GraphicsCommandList_Close(command_list);
todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
- hr = ID3D12CommandAllocator_Reset(command_allocator);
- ok(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
- ID3D12GraphicsCommandList_Release(command_list);
- hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- command_allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)&command_list);
- ok(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
/* Upload resources cannot transition from D3D12_RESOURCE_STATE_GENERIC_READ. */
transition_resource_state(command_list, upload_buffer,
@@ -203,12 +197,7 @@ static void test_invalid_copy_texture_region(void)
hr = ID3D12GraphicsCommandList_Close(command_list);
todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
- hr = ID3D12CommandAllocator_Reset(command_allocator);
- ok(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
- ID3D12GraphicsCommandList_Release(command_list);
- hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- command_allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)&command_list);
- ok(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
src_location.PlacedFootprint.Footprint.Width = 4;
src_location.PlacedFootprint.Footprint.Height = 4;
@@ -220,12 +209,7 @@ static void test_invalid_copy_texture_region(void)
hr = ID3D12GraphicsCommandList_Close(command_list);
todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
- hr = ID3D12CommandAllocator_Reset(command_allocator);
- ok(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
- ID3D12GraphicsCommandList_Release(command_list);
- hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- command_allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)&command_list);
- ok(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
/* row pitch must be multiple of D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT */
src_location.PlacedFootprint.Footprint.RowPitch
@@ -237,12 +221,7 @@ static void test_invalid_copy_texture_region(void)
hr = ID3D12GraphicsCommandList_Close(command_list);
todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
- hr = ID3D12CommandAllocator_Reset(command_allocator);
- ok(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
- ID3D12GraphicsCommandList_Release(command_list);
- hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- command_allocator, NULL, &IID_ID3D12GraphicsCommandList, (void **)&command_list);
- ok(hr == S_OK, "Failed to create command list, hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
dst_location.pResource = dst_buffer;
dst_location.Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT;
@@ -266,12 +245,42 @@ static void test_invalid_copy_texture_region(void)
hr = ID3D12GraphicsCommandList_Close(command_list);
todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ recreate_command_list(device, command_allocator, &command_list);
+
+ ID3D12Resource_Release(src_texture);
+ src_texture = create_default_texture2d(device, 4, 4, 1, 3, DXGI_FORMAT_BC3_UNORM,
+ D3D12_RESOURCE_FLAG_NONE, D3D12_RESOURCE_STATE_COPY_SOURCE);
+
+ src_location.pResource = src_texture;
+ src_location.Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;
+ src_location.SubresourceIndex = 1;
+
+ /* coordinates must be multiple of block size even for smallest miplevels */
+ set_box(&box, 0, 0, 0, 2, 2, 1);
+ ID3D12GraphicsCommandList_CopyTextureRegion(command_list,
+ &dst_location, 0, 0, 0, &src_location, &box);
+
+ hr = ID3D12GraphicsCommandList_Close(command_list);
+ todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+
+ recreate_command_list(device, command_allocator, &command_list);
+
+ src_location.SubresourceIndex = 2;
+
+ /* coordinates must be multiple of block size even for smallest miplevels */
+ set_box(&box, 0, 0, 0, 1, 1, 1);
+ ID3D12GraphicsCommandList_CopyTextureRegion(command_list,
+ &dst_location, 0, 0, 0, &src_location, &box);
+
+ hr = ID3D12GraphicsCommandList_Close(command_list);
+ todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+
ID3D12CommandAllocator_Release(command_allocator);
ID3D12GraphicsCommandList_Release(command_list);
ID3D12Resource_Release(dst_buffer);
ID3D12Resource_Release(src_buffer);
- ID3D12Resource_Release(dst_texture);
ID3D12Resource_Release(src_texture);
+ ID3D12Resource_Release(dst_texture);
refcount = ID3D12Device_Release(device);
ok(!refcount, "ID3D12Device has %u references left.\n", (unsigned int)refcount);
}
diff --git a/tests/d3d12_test_utils.h b/tests/d3d12_test_utils.h
index 14c6d04e3ada..f181fe4ec04e 100644
--- a/tests/d3d12_test_utils.h
+++ b/tests/d3d12_test_utils.h
@@ -348,7 +348,9 @@ static void get_texture_readback_with_command_list(ID3D12Resource *texture, unsi
miplevel = sub_resource % resource_desc.MipLevels;
rb->width = max(1, resource_desc.Width >> miplevel);
+ rb->width = align(rb->width, format_block_width(resource_desc.Format));
rb->height = max(1, resource_desc.Height >> miplevel);
+ rb->height = align(rb->height, format_block_height(resource_desc.Format));
rb->depth = resource_desc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D
? max(1, resource_desc.DepthOrArraySize >> miplevel) : 1;
rb->row_pitch = align(rb->width * format_size(resource_desc.Format), D3D12_TEXTURE_DATA_PITCH_ALIGNMENT);
--
2.19.2
2
1
[PATCH vkd3d 4/8] vkd3d-shader: Do not enable SpvCapabilityUniformBufferArrayDynamicIndexing.
by Józef Kucia 19 Mar '19
by Józef Kucia 19 Mar '19
19 Mar '19
From: Józef Kucia <jkucia(a)codeweavers.com>
This capability is for dynamic indexing *arrays* of uniform buffers.
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
libs/vkd3d-shader/spirv.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 0aa220f6367b..f8ba598ffbf0 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -4480,9 +4480,6 @@ static void vkd3d_dxbc_compiler_emit_dcl_constant_buffer(struct vkd3d_dxbc_compi
assert(!(instruction->flags & ~VKD3DSI_INDEXED_DYNAMIC));
- if (instruction->flags & VKD3DSI_INDEXED_DYNAMIC)
- vkd3d_spirv_enable_capability(builder, SpvCapabilityUniformBufferArrayDynamicIndexing);
-
cb_size = reg->idx[1].offset;
if ((push_cb = vkd3d_dxbc_compiler_find_push_constant_buffer(compiler, reg)))
--
2.19.2
2
1
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/winevulkan/make_vulkan | 1 -
dlls/winevulkan/vulkan.c | 62 +++++++++++++++++++++++++--------
dlls/winevulkan/vulkan_thunks.c | 8 +++++
dlls/winevulkan/vulkan_thunks.h | 2 ++
include/wine/vulkan.h | 12 +++++++
5 files changed, 69 insertions(+), 16 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index cc8692a09c37..091a1ddaa6d3 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -109,7 +109,6 @@ BLACKLISTED_EXTENSIONS = [
"VK_EXT_external_memory_dma_buf", # Linux specific
"VK_EXT_full_screen_exclusive",
"VK_EXT_hdr_metadata", # Needs WSI work.
- "VK_EXT_host_query_reset",
"VK_EXT_image_drm_format_modifier",
"VK_EXT_memory_priority",
"VK_EXT_pipeline_creation_feedback",
diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
index 3893f1c85e4d..d35719ef7f3e 100644
--- a/dlls/winevulkan/vulkan.c
+++ b/dlls/winevulkan/vulkan.c
@@ -207,7 +207,7 @@ static struct VkQueue_T *wine_vk_device_alloc_queues(struct VkDevice_T *device,
return queues;
}
-static VkDeviceGroupDeviceCreateInfo *convert_VkDeviceGroupDeviceCreateInfo(const void *src)
+static void *convert_VkDeviceGroupDeviceCreateInfo(const void *src)
{
const VkDeviceGroupDeviceCreateInfo *in = src;
VkDeviceGroupDeviceCreateInfo *out;
@@ -218,6 +218,7 @@ static VkDeviceGroupDeviceCreateInfo *convert_VkDeviceGroupDeviceCreateInfo(cons
return NULL;
*out = *in;
+ out->pNext = NULL;
if (!(physical_devices = heap_calloc(in->physicalDeviceCount, sizeof(*physical_devices))))
{
heap_free(out);
@@ -230,6 +231,37 @@ static VkDeviceGroupDeviceCreateInfo *convert_VkDeviceGroupDeviceCreateInfo(cons
return out;
}
+static void *convert_VkPhysicalDeviceHostQueryResetFeaturesEXT(const void *src)
+{
+ const VkPhysicalDeviceHostQueryResetFeaturesEXT *in = src;
+ VkPhysicalDeviceHostQueryResetFeaturesEXT *out;
+
+ if (!(out = heap_alloc(sizeof(*out))))
+ return NULL;
+
+ *out = *in;
+ out->pNext = NULL;
+
+ return out;
+}
+
+static void wine_vk_device_free_create_info(VkDeviceCreateInfo *create_info)
+{
+ VkPhysicalDeviceHostQueryResetFeaturesEXT *host_query_reset_features;
+ VkDeviceGroupDeviceCreateInfo *group_info;
+
+ group_info = wine_vk_find_struct(create_info, DEVICE_GROUP_DEVICE_CREATE_INFO);
+ host_query_reset_features = wine_vk_find_struct(create_info, PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT);
+ create_info->pNext = NULL;
+
+ if (group_info)
+ {
+ heap_free((void *)group_info->pPhysicalDevices);
+ heap_free(group_info);
+ }
+ heap_free(host_query_reset_features);
+}
+
static VkResult wine_vk_device_convert_create_info(const VkDeviceCreateInfo *src,
VkDeviceCreateInfo *dst)
{
@@ -244,8 +276,10 @@ static VkResult wine_vk_device_convert_create_info(const VkDeviceCreateInfo *src
if (src->pNext)
{
const VkBaseInStructure *header;
+ VkBaseOutStructure *dst_header;
dst->pNext = NULL;
+ dst_header = (VkBaseOutStructure *)dst;
for (header = src->pNext; header; header = header->pNext)
{
switch (header->sType)
@@ -257,8 +291,15 @@ static VkResult wine_vk_device_convert_create_info(const VkDeviceCreateInfo *src
break;
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- if (!(dst->pNext = convert_VkDeviceGroupDeviceCreateInfo(header)))
- return VK_ERROR_OUT_OF_HOST_MEMORY;
+ if (!(dst_header->pNext = convert_VkDeviceGroupDeviceCreateInfo(header)))
+ goto err;
+ dst_header = dst_header->pNext;
+ break;
+
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT:
+ if (!(dst_header->pNext = convert_VkPhysicalDeviceHostQueryResetFeaturesEXT(header)))
+ goto err;
+ dst_header = dst_header->pNext;
break;
default:
@@ -284,19 +325,10 @@ static VkResult wine_vk_device_convert_create_info(const VkDeviceCreateInfo *src
}
return VK_SUCCESS;
-}
-
-static void wine_vk_device_free_create_info(VkDeviceCreateInfo *create_info)
-{
- VkDeviceGroupDeviceCreateInfo *group_info;
- if ((group_info = wine_vk_find_struct(create_info, DEVICE_GROUP_DEVICE_CREATE_INFO)))
- {
- heap_free((void *)group_info->pPhysicalDevices);
- heap_free(group_info);
- }
-
- create_info->pNext = NULL;
+err:
+ wine_vk_device_free_create_info(dst);
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
}
/* Helper function used for freeing a device structure. This function supports full
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index 263e28a71c5e..04e18d5ac8a6 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -3252,6 +3252,12 @@ VkResult WINAPI wine_vkResetFences(VkDevice device, uint32_t fenceCount, const V
return device->funcs.p_vkResetFences(device->device, fenceCount, pFences);
}
+static void WINAPI wine_vkResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ TRACE("%p, 0x%s, %u, %u\n", device, wine_dbgstr_longlong(queryPool), firstQuery, queryCount);
+ device->funcs.p_vkResetQueryPoolEXT(device->device, queryPool, firstQuery, queryCount);
+}
+
VkResult WINAPI wine_vkSetEvent(VkDevice device, VkEvent event)
{
TRACE("%p, 0x%s\n", device, wine_dbgstr_longlong(event));
@@ -3516,6 +3522,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkResetDescriptorPool", &wine_vkResetDescriptorPool},
{"vkResetEvent", &wine_vkResetEvent},
{"vkResetFences", &wine_vkResetFences},
+ {"vkResetQueryPoolEXT", &wine_vkResetQueryPoolEXT},
{"vkSetEvent", &wine_vkSetEvent},
{"vkTrimCommandPool", &wine_vkTrimCommandPool},
{"vkTrimCommandPoolKHR", &wine_vkTrimCommandPoolKHR},
@@ -3625,6 +3632,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_filter_cubic",
"VK_EXT_fragment_density_map",
"VK_EXT_global_priority",
+ "VK_EXT_host_query_reset",
"VK_EXT_inline_uniform_block",
"VK_EXT_memory_budget",
"VK_EXT_pci_bus_info",
diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h
index fc8672454366..518516fd593b 100644
--- a/dlls/winevulkan/vulkan_thunks.h
+++ b/dlls/winevulkan/vulkan_thunks.h
@@ -1136,6 +1136,7 @@ struct vulkan_device_funcs
VkResult (*p_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
VkResult (*p_vkResetEvent)(VkDevice, VkEvent);
VkResult (*p_vkResetFences)(VkDevice, uint32_t, const VkFence *);
+ void (*p_vkResetQueryPoolEXT)(VkDevice, VkQueryPool, uint32_t, uint32_t);
VkResult (*p_vkSetEvent)(VkDevice, VkEvent);
void (*p_vkTrimCommandPool)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
void (*p_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
@@ -1428,6 +1429,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkResetDescriptorPool) \
USE_VK_FUNC(vkResetEvent) \
USE_VK_FUNC(vkResetFences) \
+ USE_VK_FUNC(vkResetQueryPoolEXT) \
USE_VK_FUNC(vkSetEvent) \
USE_VK_FUNC(vkTrimCommandPool) \
USE_VK_FUNC(vkTrimCommandPoolKHR) \
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index e545fbc168d3..2b8950ac9879 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -288,6 +288,8 @@
#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
+#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
+#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
#define VK_MAKE_VERSION(major, minor, patch) \
(((major) << 22) | ((minor) << 12) | (patch))
@@ -2078,6 +2080,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000,
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7fffffff,
} VkStructureType;
@@ -4214,6 +4217,13 @@ typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT
VkBool32 fragmentDensityMapNonSubsampledImages;
} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
+typedef struct VkPhysicalDeviceHostQueryResetFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 hostQueryReset;
+} VkPhysicalDeviceHostQueryResetFeaturesEXT;
+
typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
{
VkStructureType sType;
@@ -5431,6 +5441,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice, VkCommandPool, Vk
typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice, VkEvent);
typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice, uint32_t, const VkFence *);
+typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice, VkQueryPool, uint32_t, uint32_t);
typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice, VkEvent);
typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
@@ -5684,6 +5695,7 @@ VkResult VKAPI_CALL vkResetCommandPool(VkDevice device, VkCommandPool commandPoo
VkResult VKAPI_CALL vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
VkResult VKAPI_CALL vkResetEvent(VkDevice device, VkEvent event);
VkResult VKAPI_CALL vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences);
+void VKAPI_CALL vkResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent event);
void VKAPI_CALL vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
void VKAPI_CALL vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
--
2.19.2
2
1
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/winevulkan/make_vulkan | 1 -
dlls/winevulkan/vulkan_thunks.c | 1 +
include/wine/vulkan.h | 16 ++++++++++++++++
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index deb2e6108045..cc8692a09c37 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -86,7 +86,6 @@ EXT_BLOCK_SIZE = 1000
BLACKLISTED_EXTENSIONS = [
# Instance extensions
"VK_EXT_debug_utils",
- "VK_EXT_swapchain_colorspace",
"VK_EXT_validation_features",
"VK_EXT_validation_flags",
"VK_KHR_display",
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index 2e812847228c..263e28a71c5e 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -3698,6 +3698,7 @@ static const char * const vk_device_extensions[] =
static const char * const vk_instance_extensions[] =
{
+ "VK_EXT_swapchain_colorspace",
"VK_KHR_device_group_creation",
"VK_KHR_get_physical_device_properties2",
"VK_KHR_surface",
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index f05de9227cf0..e545fbc168d3 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -172,6 +172,8 @@
#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
+#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3
+#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
#define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
@@ -698,6 +700,20 @@ typedef enum VkColorSpaceKHR
{
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0,
+ VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
+ VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
+ VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003,
+ VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
+ VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
+ VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
+ VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
+ VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
+ VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
+ VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
+ VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
+ VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
+ VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
+ VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
VK_COLOR_SPACE_KHR_MAX_ENUM = 0x7fffffff,
} VkColorSpaceKHR;
--
2.19.2
2
1
19 Mar '19
Allows us to treat extensions in a uniform way.
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/winevulkan/make_vulkan | 45 ++++++++++++++++++---------------
dlls/winevulkan/vulkan_thunks.c | 1 -
include/wine/vulkan.h | 18 -------------
3 files changed, 25 insertions(+), 39 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 4d65f6396254..deb2e6108045 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -83,17 +83,20 @@ WINE_VULKAN_THUNKS_H = "vulkan_thunks.h"
EXT_BASE = 1000000000
EXT_BLOCK_SIZE = 1000
-# In general instance extensions can't be automatically generated
-# and need custom wrappers due to e.g. win32 / X11 specific code.
-# List of supported instance extensions.
-SUPPORTED_INSTANCE_EXTENSIONS = [
- "VK_KHR_device_group_creation",
- "VK_KHR_get_physical_device_properties2",
- "VK_KHR_surface",
- "VK_KHR_win32_surface",
-]
-
BLACKLISTED_EXTENSIONS = [
+ # Instance extensions
+ "VK_EXT_debug_utils",
+ "VK_EXT_swapchain_colorspace",
+ "VK_EXT_validation_features",
+ "VK_EXT_validation_flags",
+ "VK_KHR_display",
+ "VK_KHR_external_fence_capabilities",
+ "VK_KHR_external_memory_capabilities",
+ "VK_KHR_get_surface_capabilities2",
+ "VK_KHR_surface_protected_capabilities",
+ "VK_NV_external_memory_capabilities",
+
+ # Device extensions
"VK_AMD_display_native_hdr",
"VK_AMD_memory_overallocation_behavior",
# Handling of VK_EXT_debug_report requires some consideration. The win32
@@ -2401,6 +2404,11 @@ class VkRegistry(object):
version = tuple(map(int, version.group('major', 'minor')))
return version <= WINE_VK_VERSION
+ def _is_extension_supported(self, extension):
+ # We disable some extensions as either we haven't implemented
+ # support yet or because they are for platforms other than win32.
+ return extension not in BLACKLISTED_EXTENSIONS
+
def _mark_command_required(self, command):
""" Helper function to mark a certain command and the datatypes it needs as required."""
def mark_bitmask_dependencies(bitmask, types):
@@ -2587,15 +2595,12 @@ class VkRegistry(object):
LOGGER.debug("Skipping experimental extension: {0}".format(ext_name))
continue
- # Instance extensions often require a custom implementation, so filter.
- ext_type = ext.attrib["type"]
- if ext_type == "instance" and not ext_name in SUPPORTED_INSTANCE_EXTENSIONS:
- LOGGER.debug("Skipping instance extension: {0}".format(ext_name))
- continue
+ platform = ext.attrib.get("platform")
+ if platform and platform != "win32":
+ LOGGER.debug("Skipping extensions {0} for platform {1}".format(ext_name, platform))
+ continue;
- # We disable some extensions as either we haven't implemented
- # support yet or because they are for platforms other than win32.
- if ext_name in BLACKLISTED_EXTENSIONS:
+ if not self._is_extension_supported(ext_name):
LOGGER.debug("Skipping blacklisted extension: {0}".format(ext_name))
continue
elif "requires" in ext.attrib:
@@ -2626,7 +2631,7 @@ class VkRegistry(object):
continue
required_extension = require.attrib.get("extension")
- if required_extension and required_extension in BLACKLISTED_EXTENSIONS:
+ if required_extension and not self._is_extension_supported(required_extension):
continue
# Pull in any commands we need. We infer types to pull in from the command
@@ -2636,7 +2641,7 @@ class VkRegistry(object):
self._mark_command_required(cmd_name)
# Store a list with extensions.
- ext_info = {"name" : ext_name, "type" : ext_type}
+ ext_info = {"name" : ext_name, "type" : ext.attrib["type"]}
extensions.append(ext_info)
# Sort in alphabetical order.
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index c36b913763b3..2e812847228c 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -3678,7 +3678,6 @@ static const char * const vk_device_extensions[] =
"VK_NV_corner_sampled_image",
"VK_NV_dedicated_allocation",
"VK_NV_device_diagnostic_checkpoints",
- "VK_NV_external_memory",
"VK_NV_fill_rectangle",
"VK_NV_fragment_coverage_to_color",
"VK_NV_fragment_shader_barycentric",
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index fdd4743195c3..f05de9227cf0 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -130,8 +130,6 @@
#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
-#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
-#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 3
@@ -1900,8 +1898,6 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
- VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
- VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
@@ -2436,13 +2432,6 @@ typedef struct VkExportMemoryAllocateInfo
VkExternalMemoryHandleTypeFlags handleTypes;
} VkExportMemoryAllocateInfo;
-typedef struct VkExportMemoryAllocateInfoNV
-{
- VkStructureType sType;
- const void *pNext;
- VkExternalMemoryHandleTypeFlagsNV handleTypes;
-} VkExportMemoryAllocateInfoNV;
-
typedef struct VkExtensionProperties
{
char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
@@ -2470,13 +2459,6 @@ typedef struct VkExternalMemoryImageCreateInfo
VkExternalMemoryHandleTypeFlags handleTypes;
} VkExternalMemoryImageCreateInfo;
-typedef struct VkExternalMemoryImageCreateInfoNV
-{
- VkStructureType sType;
- const void *pNext;
- VkExternalMemoryHandleTypeFlagsNV handleTypes;
-} VkExternalMemoryImageCreateInfoNV;
-
typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT
{
VkStructureType sType;
--
2.19.2
2
1
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/vulkan-1/vulkan-1.spec | 2 +-
dlls/winevulkan/make_vulkan | 17 +-
dlls/winevulkan/vulkan_thunks.c | 35 +-
dlls/winevulkan/vulkan_thunks.h | 15 +-
dlls/winevulkan/winevulkan.spec | 2 +-
include/wine/vulkan.h | 2219 ++++++++++++++++---------------
include/wine/vulkan_driver.h | 2 +-
7 files changed, 1249 insertions(+), 1043 deletions(-)
diff --git a/dlls/vulkan-1/vulkan-1.spec b/dlls/vulkan-1/vulkan-1.spec
index 52ee47a33642..2baa8398663d 100644
--- a/dlls/vulkan-1/vulkan-1.spec
+++ b/dlls/vulkan-1/vulkan-1.spec
@@ -3,7 +3,7 @@
# This file is generated from Vulkan vk.xml file covered
# by the following copyright and permission notice:
#
-# Copyright (c) 2015-2018 The Khronos Group Inc.
+# Copyright (c) 2015-2019 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 960417d4284d..4d65f6396254 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
-VK_XML_VERSION = "1.1.94"
+VK_XML_VERSION = "1.1.104"
WINE_VK_VERSION = (1, 0)
# Filenames to create.
@@ -94,6 +94,7 @@ SUPPORTED_INSTANCE_EXTENSIONS = [
]
BLACKLISTED_EXTENSIONS = [
+ "VK_AMD_display_native_hdr",
"VK_AMD_memory_overallocation_behavior",
# Handling of VK_EXT_debug_report requires some consideration. The win32
# loader already provides it for us and it is somewhat usable. If we add
@@ -104,8 +105,13 @@ BLACKLISTED_EXTENSIONS = [
"VK_EXT_debug_report",
"VK_EXT_display_control", # Requires VK_EXT_display_surface_counter
"VK_EXT_external_memory_dma_buf", # Linux specific
+ "VK_EXT_full_screen_exclusive",
"VK_EXT_hdr_metadata", # Needs WSI work.
+ "VK_EXT_host_query_reset",
"VK_EXT_image_drm_format_modifier",
+ "VK_EXT_memory_priority",
+ "VK_EXT_pipeline_creation_feedback",
+ "VK_EXT_ycbcr_image_arrays",
"VK_GOOGLE_display_timing",
"VK_KHR_display", # Needs WSI work.
"VK_KHR_external_fence",
@@ -113,10 +119,13 @@ BLACKLISTED_EXTENSIONS = [
"VK_KHR_external_fence_win32",
"VK_KHR_external_memory",
"VK_KHR_external_semaphore",
+ "VK_KHR_shader_float16_int8",
# Relates to external_semaphore and needs type conversions in bitflags.
"VK_KHR_external_semaphore_capabilities",
"VK_KHR_shared_presentable_image", # Needs WSI work.
"VK_KHR_win32_keyed_mutex",
+ "VK_NV_cooperative_matrix",
+ "VK_NV_dedicated_allocation_image_aliasing",
"VK_NV_external_memory_win32",
]
@@ -274,7 +283,7 @@ class VkDefine(object):
# - VK_API_VERSION is a messy, deprecated constant and we don't want generate code for it.
# - AHardwareBuffer/ANativeWindow are forard declarations for Android types, which leaked
# into the define region.
- if name in ["VK_API_VERSION", "AHardwareBuffer", "ANativeWindow"]:
+ if name in ["VK_API_VERSION", "AHardwareBuffer", "ANativeWindow", "CAMetalLayer"]:
return VkDefine(name, None)
# The body of the define is basically unstructured C code. It is not meant for easy parsing.
@@ -2616,6 +2625,10 @@ class VkRegistry(object):
if feature and not self._is_feature_supported(feature):
continue
+ required_extension = require.attrib.get("extension")
+ if required_extension and required_extension in BLACKLISTED_EXTENSIONS:
+ continue
+
# Pull in any commands we need. We infer types to pull in from the command
# as well.
for command in require.findall("command"):
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index 95b8c823f640..c36b913763b3 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -3,7 +3,7 @@
* This file is generated from Vulkan vk.xml file covered
* by the following copyright and permission notice:
*
- * Copyright (c) 2015-2018 The Khronos Group Inc.
+ * Copyright (c) 2015-2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -844,6 +844,15 @@ static inline void convert_VkMemoryRequirements2KHR_host_to_win(const VkMemoryRe
convert_VkMemoryRequirements_host_to_win(&in->memoryRequirements, &out->memoryRequirements);
}
+static inline void convert_VkBufferDeviceAddressInfoEXT_win_to_host(const VkBufferDeviceAddressInfoEXT *in, VkBufferDeviceAddressInfoEXT_host *out)
+{
+ if (!in) return;
+
+ out->sType = in->sType;
+ out->pNext = in->pNext;
+ out->buffer = in->buffer;
+}
+
static inline void convert_VkBufferMemoryRequirementsInfo2_win_to_host(const VkBufferMemoryRequirementsInfo2 *in, VkBufferMemoryRequirementsInfo2_host *out)
{
if (!in) return;
@@ -2614,6 +2623,23 @@ static void WINAPI wine_vkGetAccelerationStructureMemoryRequirementsNV(VkDevice
#endif
}
+static VkDeviceAddress WINAPI wine_vkGetBufferDeviceAddressEXT(VkDevice device, const VkBufferDeviceAddressInfoEXT *pInfo)
+{
+#if defined(USE_STRUCT_CONVERSION)
+ VkDeviceAddress result;
+ VkBufferDeviceAddressInfoEXT_host pInfo_host;
+ TRACE("%p, %p\n", device, pInfo);
+
+ convert_VkBufferDeviceAddressInfoEXT_win_to_host(pInfo, &pInfo_host);
+ result = device->funcs.p_vkGetBufferDeviceAddressEXT(device->device, &pInfo_host);
+
+ return result;
+#else
+ TRACE("%p, %p\n", device, pInfo);
+ return device->funcs.p_vkGetBufferDeviceAddressEXT(device->device, pInfo);
+#endif
+}
+
void WINAPI wine_vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements)
{
#if defined(USE_STRUCT_CONVERSION)
@@ -3446,6 +3472,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkFreeMemory", &wine_vkFreeMemory},
{"vkGetAccelerationStructureHandleNV", &wine_vkGetAccelerationStructureHandleNV},
{"vkGetAccelerationStructureMemoryRequirementsNV", &wine_vkGetAccelerationStructureMemoryRequirementsNV},
+ {"vkGetBufferDeviceAddressEXT", &wine_vkGetBufferDeviceAddressEXT},
{"vkGetBufferMemoryRequirements", &wine_vkGetBufferMemoryRequirements},
{"vkGetBufferMemoryRequirements2", &wine_vkGetBufferMemoryRequirements2},
{"vkGetBufferMemoryRequirements2KHR", &wine_vkGetBufferMemoryRequirements2KHR},
@@ -3588,14 +3615,18 @@ static const char * const vk_device_extensions[] =
"VK_AMD_texture_gather_bias_lod",
"VK_EXT_astc_decode_mode",
"VK_EXT_blend_operation_advanced",
+ "VK_EXT_buffer_device_address",
"VK_EXT_conditional_rendering",
"VK_EXT_conservative_rasterization",
+ "VK_EXT_depth_clip_enable",
"VK_EXT_depth_range_unrestricted",
"VK_EXT_descriptor_indexing",
"VK_EXT_discard_rectangles",
+ "VK_EXT_filter_cubic",
"VK_EXT_fragment_density_map",
"VK_EXT_global_priority",
"VK_EXT_inline_uniform_block",
+ "VK_EXT_memory_budget",
"VK_EXT_pci_bus_info",
"VK_EXT_post_depth_coverage",
"VK_EXT_sample_locations",
@@ -3618,6 +3649,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_bind_memory2",
"VK_KHR_create_renderpass2",
"VK_KHR_dedicated_allocation",
+ "VK_KHR_depth_stencil_resolve",
"VK_KHR_descriptor_update_template",
"VK_KHR_device_group",
"VK_KHR_draw_indirect_count",
@@ -3635,6 +3667,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_sampler_ycbcr_conversion",
"VK_KHR_shader_atomic_int64",
"VK_KHR_shader_draw_parameters",
+ "VK_KHR_shader_float_controls",
"VK_KHR_storage_buffer_storage_class",
"VK_KHR_swapchain",
"VK_KHR_swapchain_mutable_format",
diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h
index c714664de0eb..fc8672454366 100644
--- a/dlls/winevulkan/vulkan_thunks.h
+++ b/dlls/winevulkan/vulkan_thunks.h
@@ -3,7 +3,7 @@
* This file is generated from Vulkan vk.xml file covered
* by the following copyright and permission notice:
*
- * Copyright (c) 2015-2018 The Khronos Group Inc.
+ * Copyright (c) 2015-2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -472,6 +472,13 @@ typedef struct VkMemoryRequirements2KHR_host
VkMemoryRequirements_host memoryRequirements;
} VkMemoryRequirements2KHR_host;
+typedef struct VkBufferDeviceAddressInfoEXT_host
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkBuffer buffer;
+} VkBufferDeviceAddressInfoEXT_host;
+
typedef struct VkBufferMemoryRequirementsInfo2_host
{
VkStructureType sType;
@@ -1038,6 +1045,11 @@ struct vulkan_device_funcs
#else
void (*p_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice, const VkAccelerationStructureMemoryRequirementsInfoNV *, VkMemoryRequirements2KHR *);
#endif
+#if defined(USE_STRUCT_CONVERSION)
+ VkDeviceAddress (*p_vkGetBufferDeviceAddressEXT)(VkDevice, const VkBufferDeviceAddressInfoEXT_host *);
+#else
+ VkDeviceAddress (*p_vkGetBufferDeviceAddressEXT)(VkDevice, const VkBufferDeviceAddressInfoEXT *);
+#endif
#if defined(USE_STRUCT_CONVERSION)
void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements_host *);
#else
@@ -1373,6 +1385,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkFreeMemory) \
USE_VK_FUNC(vkGetAccelerationStructureHandleNV) \
USE_VK_FUNC(vkGetAccelerationStructureMemoryRequirementsNV) \
+ USE_VK_FUNC(vkGetBufferDeviceAddressEXT) \
USE_VK_FUNC(vkGetBufferMemoryRequirements) \
USE_VK_FUNC(vkGetBufferMemoryRequirements2) \
USE_VK_FUNC(vkGetBufferMemoryRequirements2KHR) \
diff --git a/dlls/winevulkan/winevulkan.spec b/dlls/winevulkan/winevulkan.spec
index b075e9ff420e..97249f66e56e 100644
--- a/dlls/winevulkan/winevulkan.spec
+++ b/dlls/winevulkan/winevulkan.spec
@@ -3,7 +3,7 @@
# This file is generated from Vulkan vk.xml file covered
# by the following copyright and permission notice:
#
-# Copyright (c) 2015-2018 The Khronos Group Inc.
+# Copyright (c) 2015-2019 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 195b93e6da86..fdd4743195c3 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -3,7 +3,7 @@
* This file is generated from Vulkan vk.xml file covered
* by the following copyright and permission notice:
*
- * Copyright (c) 2015-2018 The Khronos Group Inc.
+ * Copyright (c) 2015-2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -172,6 +172,8 @@
#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
+#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
+#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
#define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
@@ -232,6 +234,8 @@
#define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
+#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 1
+#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
@@ -246,8 +250,12 @@
#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
+#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 1
+#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
+#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
+#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
@@ -262,18 +270,22 @@
#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
-#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 2
+#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
-#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 1
+#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
#define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
-#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 0
+#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
-#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 0
+#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
+#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
+#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
+#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
+#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
@@ -284,7 +296,7 @@
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)
#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)
-#define VK_HEADER_VERSION 94
+#define VK_HEADER_VERSION 104
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
#define VK_NULL_HANDLE 0
@@ -323,6 +335,7 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
typedef uint32_t VkBool32;
+typedef uint64_t VkDeviceAddress;
typedef uint64_t VkDeviceSize;
typedef uint32_t VkFlags;
typedef uint32_t VkSampleMask;
@@ -398,6 +411,7 @@ typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
typedef VkFlags VkMemoryHeapFlags;
typedef VkFlags VkMemoryMapFlags;
typedef VkFlags VkMemoryPropertyFlags;
+typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
typedef VkFlags VkObjectEntryUsageFlagsNVX;
typedef VkFlags VkPeerMemoryFeatureFlags;
typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
@@ -406,6 +420,7 @@ typedef VkFlags VkPipelineColorBlendStateCreateFlags;
typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
typedef VkFlags VkPipelineCreateFlags;
+typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
typedef VkFlags VkPipelineDynamicStateCreateFlags;
@@ -413,6 +428,7 @@ typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
typedef VkFlags VkPipelineLayoutCreateFlags;
typedef VkFlags VkPipelineMultisampleStateCreateFlags;
typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
+typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
typedef VkFlags VkPipelineRasterizationStateCreateFlags;
typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
typedef VkFlags VkPipelineShaderStageCreateFlags;
@@ -427,6 +443,7 @@ typedef VkFlags VkQueryPoolCreateFlags;
typedef VkFlags VkQueryResultFlags;
typedef VkFlags VkQueueFlags;
typedef VkFlags VkRenderPassCreateFlags;
+typedef VkFlags VkResolveModeFlagsKHR;
typedef VkFlags VkSampleCountFlags;
typedef VkFlags VkSamplerCreateFlags;
typedef VkFlags VkSemaphoreCreateFlags;
@@ -621,6 +638,7 @@ typedef enum VkBufferCreateFlagBits
VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
+ VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000010,
VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkBufferCreateFlagBits;
@@ -639,6 +657,7 @@ typedef enum VkBufferUsageFlagBits
VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = 0x00000400,
VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
+ VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = 0x00020000,
VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkBufferUsageFlagBits;
@@ -1625,8 +1644,19 @@ typedef enum VkRayTracingShaderGroupTypeNV
VK_RAY_TRACING_SHADER_GROUP_TYPE_NV_MAX_ENUM = 0x7fffffff,
} VkRayTracingShaderGroupTypeNV;
+typedef enum VkResolveModeFlagBitsKHR
+{
+ VK_RESOLVE_MODE_NONE_KHR = 0,
+ VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = 0x00000001,
+ VK_RESOLVE_MODE_AVERAGE_BIT_KHR = 0x00000002,
+ VK_RESOLVE_MODE_MIN_BIT_KHR = 0x00000004,
+ VK_RESOLVE_MODE_MAX_BIT_KHR = 0x00000008,
+ VK_RESOLVE_MODE_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
+} VkResolveModeFlagBitsKHR;
+
typedef enum VkResult
{
+ VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000244000,
VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
VK_ERROR_FRAGMENTATION_EXT = -1000161000,
VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
@@ -1924,6 +1954,8 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = 1000109000,
VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = 1000109001,
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = 1000109002,
@@ -2001,6 +2033,8 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
+ VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000,
@@ -2009,6 +2043,9 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000,
+ VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = 1000199001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
@@ -2024,6 +2061,10 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000,
+ VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,
+ VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000,
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7fffffff,
} VkStructureType;
@@ -2222,6 +2263,13 @@ typedef struct VkBufferCopy
VkDeviceSize WINE_VK_ALIGN(8) size;
} VkBufferCopy;
+typedef struct VkBufferDeviceAddressCreateInfoEXT
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkDeviceAddress deviceAddress;
+} VkBufferDeviceAddressCreateInfoEXT;
+
typedef struct VkBufferMemoryBarrier
{
VkStructureType sType;
@@ -2282,32 +2330,27 @@ typedef struct VkConditionalRenderingBeginInfoEXT
VkConditionalRenderingFlagsEXT flags;
} VkConditionalRenderingBeginInfoEXT;
-typedef struct VkCopyDescriptorSet
+typedef struct VkDedicatedAllocationBufferCreateInfoNV
{
VkStructureType sType;
const void *pNext;
- VkDescriptorSet WINE_VK_ALIGN(8) srcSet;
- uint32_t srcBinding;
- uint32_t srcArrayElement;
- VkDescriptorSet WINE_VK_ALIGN(8) dstSet;
- uint32_t dstBinding;
- uint32_t dstArrayElement;
- uint32_t descriptorCount;
-} VkCopyDescriptorSet;
+ VkBool32 dedicatedAllocation;
+} VkDedicatedAllocationBufferCreateInfoNV;
-typedef struct VkDedicatedAllocationImageCreateInfoNV
+typedef struct VkDedicatedAllocationMemoryAllocateInfoNV
{
VkStructureType sType;
const void *pNext;
- VkBool32 dedicatedAllocation;
-} VkDedicatedAllocationImageCreateInfoNV;
+ VkImage WINE_VK_ALIGN(8) image;
+ VkBuffer WINE_VK_ALIGN(8) buffer;
+} VkDedicatedAllocationMemoryAllocateInfoNV;
-typedef struct VkDescriptorBufferInfo
+typedef struct VkDescriptorImageInfo
{
- VkBuffer WINE_VK_ALIGN(8) buffer;
- VkDeviceSize WINE_VK_ALIGN(8) offset;
- VkDeviceSize WINE_VK_ALIGN(8) range;
-} VkDescriptorBufferInfo;
+ VkSampler WINE_VK_ALIGN(8) sampler;
+ VkImageView WINE_VK_ALIGN(8) imageView;
+ VkImageLayout imageLayout;
+} VkDescriptorImageInfo;
typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT
{
@@ -2371,40 +2414,47 @@ typedef struct VkDispatchIndirectCommand
uint32_t z;
} VkDispatchIndirectCommand;
-typedef struct VkDrawIndexedIndirectCommand
+typedef struct VkDrawIndirectCommand
{
- uint32_t indexCount;
+ uint32_t vertexCount;
uint32_t instanceCount;
- uint32_t firstIndex;
- int32_t vertexOffset;
+ uint32_t firstVertex;
uint32_t firstInstance;
-} VkDrawIndexedIndirectCommand;
+} VkDrawIndirectCommand;
-typedef struct VkDrawMeshTasksIndirectCommandNV
+typedef struct VkEventCreateInfo
{
- uint32_t taskCount;
- uint32_t firstTask;
-} VkDrawMeshTasksIndirectCommandNV;
+ VkStructureType sType;
+ const void *pNext;
+ VkEventCreateFlags flags;
+} VkEventCreateInfo;
-typedef struct VkExportFenceCreateInfo
+typedef struct VkExportMemoryAllocateInfo
{
VkStructureType sType;
const void *pNext;
- VkExternalFenceHandleTypeFlags handleTypes;
-} VkExportFenceCreateInfo;
+ VkExternalMemoryHandleTypeFlags handleTypes;
+} VkExportMemoryAllocateInfo;
-typedef struct VkExportSemaphoreCreateInfo
+typedef struct VkExportMemoryAllocateInfoNV
{
VkStructureType sType;
const void *pNext;
- VkExternalSemaphoreHandleTypeFlags handleTypes;
-} VkExportSemaphoreCreateInfo;
+ VkExternalMemoryHandleTypeFlagsNV handleTypes;
+} VkExportMemoryAllocateInfoNV;
-typedef struct VkExtent2D
+typedef struct VkExtensionProperties
+{
+ char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
+ uint32_t specVersion;
+} VkExtensionProperties;
+
+typedef struct VkExtent3D
{
uint32_t width;
uint32_t height;
-} VkExtent2D;
+ uint32_t depth;
+} VkExtent3D;
typedef struct VkExternalMemoryBufferCreateInfo
{
@@ -2427,12 +2477,13 @@ typedef struct VkExternalMemoryImageCreateInfoNV
VkExternalMemoryHandleTypeFlagsNV handleTypes;
} VkExternalMemoryImageCreateInfoNV;
-typedef struct VkFormatProperties
+typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT
{
- VkFormatFeatureFlags linearTilingFeatures;
- VkFormatFeatureFlags optimalTilingFeatures;
- VkFormatFeatureFlags bufferFeatures;
-} VkFormatProperties;
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 filterCubic;
+ VkBool32 filterCubicMinmax;
+} VkFilterCubicImageViewImageFormatPropertiesEXT;
typedef struct VkGeometryAABBNV
{
@@ -2461,6 +2512,33 @@ typedef struct VkGeometryTrianglesNV
VkDeviceSize WINE_VK_ALIGN(8) transformOffset;
} VkGeometryTrianglesNV;
+typedef struct VkImageCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkImageCreateFlags flags;
+ VkImageType imageType;
+ VkFormat format;
+ VkExtent3D extent;
+ uint32_t mipLevels;
+ uint32_t arrayLayers;
+ VkSampleCountFlagBits samples;
+ VkImageTiling tiling;
+ VkImageUsageFlags usage;
+ VkSharingMode sharingMode;
+ uint32_t queueFamilyIndexCount;
+ const uint32_t *pQueueFamilyIndices;
+ VkImageLayout initialLayout;
+} VkImageCreateInfo;
+
+typedef struct VkImageFormatListCreateInfoKHR
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t viewFormatCount;
+ const VkFormat *pViewFormats;
+} VkImageFormatListCreateInfoKHR;
+
typedef struct VkImageMemoryRequirementsInfo2
{
VkStructureType sType;
@@ -2497,20 +2575,6 @@ typedef struct VkImageSwapchainCreateInfoKHR
VkSwapchainKHR WINE_VK_ALIGN(8) swapchain;
} VkImageSwapchainCreateInfoKHR;
-typedef struct VkImageViewUsageCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkImageUsageFlags usage;
-} VkImageViewUsageCreateInfo;
-
-typedef struct VkInputAttachmentAspectReference
-{
- uint32_t subpass;
- uint32_t inputAttachmentIndex;
- VkImageAspectFlags aspectMask;
-} VkInputAttachmentAspectReference;
-
typedef struct VkLayerProperties
{
char layerName[VK_MAX_EXTENSION_NAME_SIZE];
@@ -2536,51 +2600,44 @@ typedef struct VkMemoryBarrier
VkAccessFlags dstAccessMask;
} VkMemoryBarrier;
-typedef struct VkMemoryType
+typedef struct VkMemoryRequirements
{
- VkMemoryPropertyFlags propertyFlags;
- uint32_t heapIndex;
-} VkMemoryType;
+ VkDeviceSize WINE_VK_ALIGN(8) size;
+ VkDeviceSize WINE_VK_ALIGN(8) alignment;
+ uint32_t memoryTypeBits;
+} VkMemoryRequirements;
-typedef struct VkMultisamplePropertiesEXT
+typedef struct VkMemoryRequirements2KHR
{
VkStructureType sType;
void *pNext;
- VkExtent2D maxSampleLocationGridSize;
-} VkMultisamplePropertiesEXT;
+ VkMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
+} VkMemoryRequirements2KHR;
-typedef struct VkOffset3D
+typedef struct VkOffset2D
{
int32_t x;
int32_t y;
- int32_t z;
-} VkOffset3D;
-
-typedef struct VkPhysicalDevice16BitStorageFeatures
-{
- VkStructureType sType;
- void *pNext;
- VkBool32 storageBuffer16BitAccess;
- VkBool32 uniformAndStorageBuffer16BitAccess;
- VkBool32 storagePushConstant16;
- VkBool32 storageInputOutput16;
-} VkPhysicalDevice16BitStorageFeatures;
+} VkOffset2D;
-typedef struct VkPhysicalDevice8BitStorageFeaturesKHR
+typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 storageBuffer8BitAccess;
- VkBool32 uniformAndStorageBuffer8BitAccess;
- VkBool32 storagePushConstant8;
-} VkPhysicalDevice8BitStorageFeaturesKHR;
+ VkBool32 decodeModeSharedExponent;
+} VkPhysicalDeviceASTCDecodeFeaturesEXT;
-typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
+typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 advancedBlendCoherentOperations;
-} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
+ uint32_t advancedBlendMaxColorAttachments;
+ VkBool32 advancedBlendIndependentBlend;
+ VkBool32 advancedBlendNonPremultipliedSrcColor;
+ VkBool32 advancedBlendNonPremultipliedDstColor;
+ VkBool32 advancedBlendCorrelatedOverlap;
+ VkBool32 advancedBlendAllOperations;
+} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
{
@@ -2605,38 +2662,44 @@ typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT
VkBool32 conservativeRasterizationPostDepthCoverage;
} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
-typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT
+typedef struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR
{
VkStructureType sType;
void *pNext;
- VkBool32 shaderInputAttachmentArrayDynamicIndexing;
- VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
- VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
- VkBool32 shaderUniformBufferArrayNonUniformIndexing;
- VkBool32 shaderSampledImageArrayNonUniformIndexing;
- VkBool32 shaderStorageBufferArrayNonUniformIndexing;
- VkBool32 shaderStorageImageArrayNonUniformIndexing;
- VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
- VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
- VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
- VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
- VkBool32 descriptorBindingSampledImageUpdateAfterBind;
- VkBool32 descriptorBindingStorageImageUpdateAfterBind;
- VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
- VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
- VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
- VkBool32 descriptorBindingUpdateUnusedWhilePending;
- VkBool32 descriptorBindingPartiallyBound;
- VkBool32 descriptorBindingVariableDescriptorCount;
- VkBool32 runtimeDescriptorArray;
-} VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
+ VkResolveModeFlagsKHR supportedDepthResolveModes;
+ VkResolveModeFlagsKHR supportedStencilResolveModes;
+ VkBool32 independentResolveNone;
+ VkBool32 independentResolve;
+} VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
-typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
+typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t maxDiscardRectangles;
-} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
+ uint32_t maxUpdateAfterBindDescriptorsInAllPools;
+ VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
+ VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
+ VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
+ VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
+ VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
+ VkBool32 robustBufferAccessUpdateAfterBind;
+ VkBool32 quadDivergentImplicitLod;
+ uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
+ uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
+ uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
+ uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
+ uint32_t maxPerStageUpdateAfterBindResources;
+ uint32_t maxDescriptorSetUpdateAfterBindSamplers;
+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
+ uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
+ uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
+ uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
+} VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV
{
@@ -2711,23 +2774,35 @@ typedef struct VkPhysicalDeviceFeatures
VkBool32 inheritedQueries;
} VkPhysicalDeviceFeatures;
-typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT
+typedef struct VkPhysicalDeviceFloatControlsPropertiesKHR
{
VkStructureType sType;
void *pNext;
- VkExtent2D minFragmentDensityTexelSize;
- VkExtent2D maxFragmentDensityTexelSize;
- VkBool32 fragmentDensityInvocations;
-} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
+ VkBool32 separateDenormSettings;
+ VkBool32 separateRoundingModeSettings;
+ VkBool32 shaderSignedZeroInfNanPreserveFloat16;
+ VkBool32 shaderSignedZeroInfNanPreserveFloat32;
+ VkBool32 shaderSignedZeroInfNanPreserveFloat64;
+ VkBool32 shaderDenormPreserveFloat16;
+ VkBool32 shaderDenormPreserveFloat32;
+ VkBool32 shaderDenormPreserveFloat64;
+ VkBool32 shaderDenormFlushToZeroFloat16;
+ VkBool32 shaderDenormFlushToZeroFloat32;
+ VkBool32 shaderDenormFlushToZeroFloat64;
+ VkBool32 shaderRoundingModeRTEFloat16;
+ VkBool32 shaderRoundingModeRTEFloat32;
+ VkBool32 shaderRoundingModeRTEFloat64;
+ VkBool32 shaderRoundingModeRTZFloat16;
+ VkBool32 shaderRoundingModeRTZFloat32;
+ VkBool32 shaderRoundingModeRTZFloat64;
+} VkPhysicalDeviceFloatControlsPropertiesKHR;
-typedef struct VkPhysicalDeviceGroupProperties
+typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
{
VkStructureType sType;
void *pNext;
- uint32_t physicalDeviceCount;
- VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
- VkBool32 subsetAllocation;
-} VkPhysicalDeviceGroupProperties;
+ VkBool32 fragmentShaderBarycentric;
+} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
typedef struct VkPhysicalDeviceIDProperties
{
@@ -2740,26 +2815,125 @@ typedef struct VkPhysicalDeviceIDProperties
VkBool32 deviceLUIDValid;
} VkPhysicalDeviceIDProperties;
-typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
+typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t maxInlineUniformBlockSize;
- uint32_t maxPerStageDescriptorInlineUniformBlocks;
- uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
- uint32_t maxDescriptorSetInlineUniformBlocks;
- uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
-} VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
+ VkBool32 inlineUniformBlock;
+ VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
+} VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
-typedef struct VkPhysicalDeviceMaintenance3Properties
+typedef struct VkPhysicalDeviceLimits
{
- VkStructureType sType;
- void *pNext;
- uint32_t maxPerSetDescriptors;
- VkDeviceSize WINE_VK_ALIGN(8) maxMemoryAllocationSize;
-} VkPhysicalDeviceMaintenance3Properties;
-
-typedef struct VkPhysicalDeviceMeshShaderPropertiesNV
+ uint32_t maxImageDimension1D;
+ uint32_t maxImageDimension2D;
+ uint32_t maxImageDimension3D;
+ uint32_t maxImageDimensionCube;
+ uint32_t maxImageArrayLayers;
+ uint32_t maxTexelBufferElements;
+ uint32_t maxUniformBufferRange;
+ uint32_t maxStorageBufferRange;
+ uint32_t maxPushConstantsSize;
+ uint32_t maxMemoryAllocationCount;
+ uint32_t maxSamplerAllocationCount;
+ VkDeviceSize WINE_VK_ALIGN(8) bufferImageGranularity;
+ VkDeviceSize WINE_VK_ALIGN(8) sparseAddressSpaceSize;
+ uint32_t maxBoundDescriptorSets;
+ uint32_t maxPerStageDescriptorSamplers;
+ uint32_t maxPerStageDescriptorUniformBuffers;
+ uint32_t maxPerStageDescriptorStorageBuffers;
+ uint32_t maxPerStageDescriptorSampledImages;
+ uint32_t maxPerStageDescriptorStorageImages;
+ uint32_t maxPerStageDescriptorInputAttachments;
+ uint32_t maxPerStageResources;
+ uint32_t maxDescriptorSetSamplers;
+ uint32_t maxDescriptorSetUniformBuffers;
+ uint32_t maxDescriptorSetUniformBuffersDynamic;
+ uint32_t maxDescriptorSetStorageBuffers;
+ uint32_t maxDescriptorSetStorageBuffersDynamic;
+ uint32_t maxDescriptorSetSampledImages;
+ uint32_t maxDescriptorSetStorageImages;
+ uint32_t maxDescriptorSetInputAttachments;
+ uint32_t maxVertexInputAttributes;
+ uint32_t maxVertexInputBindings;
+ uint32_t maxVertexInputAttributeOffset;
+ uint32_t maxVertexInputBindingStride;
+ uint32_t maxVertexOutputComponents;
+ uint32_t maxTessellationGenerationLevel;
+ uint32_t maxTessellationPatchSize;
+ uint32_t maxTessellationControlPerVertexInputComponents;
+ uint32_t maxTessellationControlPerVertexOutputComponents;
+ uint32_t maxTessellationControlPerPatchOutputComponents;
+ uint32_t maxTessellationControlTotalOutputComponents;
+ uint32_t maxTessellationEvaluationInputComponents;
+ uint32_t maxTessellationEvaluationOutputComponents;
+ uint32_t maxGeometryShaderInvocations;
+ uint32_t maxGeometryInputComponents;
+ uint32_t maxGeometryOutputComponents;
+ uint32_t maxGeometryOutputVertices;
+ uint32_t maxGeometryTotalOutputComponents;
+ uint32_t maxFragmentInputComponents;
+ uint32_t maxFragmentOutputAttachments;
+ uint32_t maxFragmentDualSrcAttachments;
+ uint32_t maxFragmentCombinedOutputResources;
+ uint32_t maxComputeSharedMemorySize;
+ uint32_t maxComputeWorkGroupCount[3];
+ uint32_t maxComputeWorkGroupInvocations;
+ uint32_t maxComputeWorkGroupSize[3];
+ uint32_t subPixelPrecisionBits;
+ uint32_t subTexelPrecisionBits;
+ uint32_t mipmapPrecisionBits;
+ uint32_t maxDrawIndexedIndexValue;
+ uint32_t maxDrawIndirectCount;
+ float maxSamplerLodBias;
+ float maxSamplerAnisotropy;
+ uint32_t maxViewports;
+ uint32_t maxViewportDimensions[2];
+ float viewportBoundsRange[2];
+ uint32_t viewportSubPixelBits;
+ size_t minMemoryMapAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) minTexelBufferOffsetAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) minUniformBufferOffsetAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) minStorageBufferOffsetAlignment;
+ int32_t minTexelOffset;
+ uint32_t maxTexelOffset;
+ int32_t minTexelGatherOffset;
+ uint32_t maxTexelGatherOffset;
+ float minInterpolationOffset;
+ float maxInterpolationOffset;
+ uint32_t subPixelInterpolationOffsetBits;
+ uint32_t maxFramebufferWidth;
+ uint32_t maxFramebufferHeight;
+ uint32_t maxFramebufferLayers;
+ VkSampleCountFlags framebufferColorSampleCounts;
+ VkSampleCountFlags framebufferDepthSampleCounts;
+ VkSampleCountFlags framebufferStencilSampleCounts;
+ VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
+ uint32_t maxColorAttachments;
+ VkSampleCountFlags sampledImageColorSampleCounts;
+ VkSampleCountFlags sampledImageIntegerSampleCounts;
+ VkSampleCountFlags sampledImageDepthSampleCounts;
+ VkSampleCountFlags sampledImageStencilSampleCounts;
+ VkSampleCountFlags storageImageSampleCounts;
+ uint32_t maxSampleMaskWords;
+ VkBool32 timestampComputeAndGraphics;
+ float timestampPeriod;
+ uint32_t maxClipDistances;
+ uint32_t maxCullDistances;
+ uint32_t maxCombinedClipAndCullDistances;
+ uint32_t discreteQueuePriorities;
+ float pointSizeRange[2];
+ float lineWidthRange[2];
+ float pointSizeGranularity;
+ float lineWidthGranularity;
+ VkBool32 strictLines;
+ VkBool32 standardSampleLocations;
+ VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyOffsetAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyRowPitchAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) nonCoherentAtomSize;
+} VkPhysicalDeviceLimits;
+
+typedef struct VkPhysicalDeviceMeshShaderPropertiesNV
{
VkStructureType sType;
void *pNext;
@@ -2790,10 +2964,10 @@ typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT
{
VkStructureType sType;
void *pNext;
- uint16_t pciDomain;
- uint8_t pciBus;
- uint8_t pciDevice;
- uint8_t pciFunction;
+ uint32_t pciDomain;
+ uint32_t pciBus;
+ uint32_t pciDevice;
+ uint32_t pciFunction;
} VkPhysicalDevicePCIBusInfoPropertiesEXT;
typedef struct VkPhysicalDeviceProtectedMemoryProperties
@@ -2817,108 +2991,79 @@ typedef struct VkPhysicalDeviceRayTracingPropertiesNV
uint32_t maxDescriptorSetAccelerationStructures;
} VkPhysicalDeviceRayTracingPropertiesNV;
-typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT
-{
- VkStructureType sType;
- void *pNext;
- VkSampleCountFlags sampleLocationSampleCounts;
- VkExtent2D maxSampleLocationGridSize;
- float sampleLocationCoordinateRange[2];
- uint32_t sampleLocationSubPixelBits;
- VkBool32 variableSampleLocations;
-} VkPhysicalDeviceSampleLocationsPropertiesEXT;
-
-typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures
-{
- VkStructureType sType;
- void *pNext;
- VkBool32 samplerYcbcrConversion;
-} VkPhysicalDeviceSamplerYcbcrConversionFeatures;
-
-typedef struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT
-{
- VkStructureType sType;
- void *pNext;
- VkBool32 scalarBlockLayout;
-} VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
-
-typedef struct VkPhysicalDeviceShaderCorePropertiesAMD
+typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t shaderEngineCount;
- uint32_t shaderArraysPerEngineCount;
- uint32_t computeUnitsPerShaderArray;
- uint32_t simdPerComputeUnit;
- uint32_t wavefrontsPerSimd;
- uint32_t wavefrontSize;
- uint32_t sgprsPerSimd;
- uint32_t minSgprAllocation;
- uint32_t maxSgprAllocation;
- uint32_t sgprAllocationGranularity;
- uint32_t vgprsPerSimd;
- uint32_t minVgprAllocation;
- uint32_t maxVgprAllocation;
- uint32_t vgprAllocationGranularity;
-} VkPhysicalDeviceShaderCorePropertiesAMD;
+ VkBool32 filterMinmaxSingleComponentFormats;
+ VkBool32 filterMinmaxImageComponentMapping;
+} VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
-typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
+typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
{
VkStructureType sType;
void *pNext;
- VkBool32 imageFootprint;
-} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
+ VkBool32 shaderBufferInt64Atomics;
+ VkBool32 shaderSharedInt64Atomics;
+} VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
-typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV
+typedef struct VkPhysicalDeviceShaderDrawParameterFeatures
{
VkStructureType sType;
void *pNext;
- VkExtent2D shadingRateTexelSize;
- uint32_t shadingRatePaletteSize;
- uint32_t shadingRateMaxCoarseSamples;
-} VkPhysicalDeviceShadingRateImagePropertiesNV;
+ VkBool32 shaderDrawParameters;
+} VkPhysicalDeviceShaderDrawParameterFeatures;
-typedef struct VkPhysicalDeviceSubgroupProperties
+typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV
{
VkStructureType sType;
void *pNext;
- uint32_t subgroupSize;
- VkShaderStageFlags supportedStages;
- VkSubgroupFeatureFlags supportedOperations;
- VkBool32 quadOperationsInAllStages;
-} VkPhysicalDeviceSubgroupProperties;
+ VkBool32 shadingRateImage;
+ VkBool32 shadingRateCoarseSampleOrder;
+} VkPhysicalDeviceShadingRateImageFeaturesNV;
-typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT
+typedef struct VkPhysicalDeviceSparseImageFormatInfo2
{
VkStructureType sType;
- void *pNext;
- VkBool32 transformFeedback;
- VkBool32 geometryStreams;
-} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
+ const void *pNext;
+ VkFormat format;
+ VkImageType type;
+ VkSampleCountFlagBits samples;
+ VkImageUsageFlags usage;
+ VkImageTiling tiling;
+} VkPhysicalDeviceSparseImageFormatInfo2;
-typedef struct VkPhysicalDeviceVariablePointerFeatures
+typedef struct VkPhysicalDeviceSparseProperties
{
- VkStructureType sType;
- void *pNext;
- VkBool32 variablePointersStorageBuffer;
- VkBool32 variablePointers;
-} VkPhysicalDeviceVariablePointerFeatures;
+ VkBool32 residencyStandard2DBlockShape;
+ VkBool32 residencyStandard2DMultisampleBlockShape;
+ VkBool32 residencyStandard3DBlockShape;
+ VkBool32 residencyAlignedMipSize;
+ VkBool32 residencyNonResidentStrict;
+} VkPhysicalDeviceSparseProperties;
-typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
+typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 vertexAttributeInstanceRateDivisor;
- VkBool32 vertexAttributeInstanceRateZeroDivisor;
-} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
+ uint32_t maxTransformFeedbackStreams;
+ uint32_t maxTransformFeedbackBuffers;
+ VkDeviceSize WINE_VK_ALIGN(8) maxTransformFeedbackBufferSize;
+ uint32_t maxTransformFeedbackStreamDataSize;
+ uint32_t maxTransformFeedbackBufferDataSize;
+ uint32_t maxTransformFeedbackBufferDataStride;
+ VkBool32 transformFeedbackQueries;
+ VkBool32 transformFeedbackStreamsLinesTriangles;
+ VkBool32 transformFeedbackRasterizationStreamSelect;
+ VkBool32 transformFeedbackDraw;
+} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
-typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
+typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 vulkanMemoryModel;
- VkBool32 vulkanMemoryModelDeviceScope;
-} VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
+ uint32_t maxVertexAttribDivisor;
+} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
{
@@ -2962,30 +3107,27 @@ typedef struct VkPipelineMultisampleStateCreateInfo
VkBool32 alphaToOneEnable;
} VkPipelineMultisampleStateCreateInfo;
-typedef struct VkPipelineRasterizationStateCreateInfo
+typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT
{
VkStructureType sType;
const void *pNext;
- VkPipelineRasterizationStateCreateFlags flags;
- VkBool32 depthClampEnable;
- VkBool32 rasterizerDiscardEnable;
- VkPolygonMode polygonMode;
- VkCullModeFlags cullMode;
- VkFrontFace frontFace;
- VkBool32 depthBiasEnable;
- float depthBiasConstantFactor;
- float depthBiasClamp;
- float depthBiasSlopeFactor;
- float lineWidth;
-} VkPipelineRasterizationStateCreateInfo;
+ VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
+ VkBool32 depthClipEnable;
+} VkPipelineRasterizationDepthClipStateCreateInfoEXT;
-typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT
+typedef struct VkPipelineRasterizationStateRasterizationOrderAMD
{
VkStructureType sType;
const void *pNext;
- VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
- uint32_t rasterizationStream;
-} VkPipelineRasterizationStateStreamCreateInfoEXT;
+ VkRasterizationOrderAMD rasterizationOrder;
+} VkPipelineRasterizationStateRasterizationOrderAMD;
+
+typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkBool32 representativeFragmentTestEnable;
+} VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
typedef struct VkPipelineTessellationDomainOriginStateCreateInfo
{
@@ -3031,7 +3173,15 @@ typedef struct VkQueryPoolCreateInfo
VkQueryPipelineStatisticFlags pipelineStatistics;
} VkQueryPoolCreateInfo;
-typedef struct VkRayTracingShaderGroupCreateInfoNV
+typedef struct VkQueueFamilyProperties
+{
+ VkQueueFlags queueFlags;
+ uint32_t queueCount;
+ uint32_t timestampValidBits;
+ VkExtent3D minImageTransferGranularity;
+} VkQueueFamilyProperties;
+
+typedef struct VkRayTracingShaderGroupCreateInfoNV
{
VkStructureType sType;
const void *pNext;
@@ -3101,6 +3251,22 @@ typedef struct VkShadingRatePaletteNV
const VkShadingRatePaletteEntryNV *pShadingRatePaletteEntries;
} VkShadingRatePaletteNV;
+typedef struct VkSparseImageFormatProperties
+{
+ VkImageAspectFlags aspectMask;
+ VkExtent3D imageGranularity;
+ VkSparseImageFormatFlags flags;
+} VkSparseImageFormatProperties;
+
+typedef struct VkSparseImageMemoryRequirements
+{
+ VkSparseImageFormatProperties formatProperties;
+ uint32_t imageMipTailFirstLod;
+ VkDeviceSize WINE_VK_ALIGN(8) imageMipTailSize;
+ VkDeviceSize WINE_VK_ALIGN(8) imageMipTailOffset;
+ VkDeviceSize WINE_VK_ALIGN(8) imageMipTailStride;
+} VkSparseImageMemoryRequirements;
+
typedef struct VkSparseMemoryBind
{
VkDeviceSize WINE_VK_ALIGN(8) resourceOffset;
@@ -3170,12 +3336,14 @@ typedef struct VkSubresourceLayout
VkDeviceSize WINE_VK_ALIGN(8) depthPitch;
} VkSubresourceLayout;
-typedef struct VkTextureLODGatherFormatPropertiesAMD
+typedef struct VkValidationCacheCreateInfoEXT
{
VkStructureType sType;
- void *pNext;
- VkBool32 supportsTextureGatherLODBiasAMD;
-} VkTextureLODGatherFormatPropertiesAMD;
+ const void *pNext;
+ VkValidationCacheCreateFlagsEXT flags;
+ size_t initialDataSize;
+ const void *pInitialData;
+} VkValidationCacheCreateInfoEXT;
typedef struct VkVertexInputBindingDescription
{
@@ -3317,19 +3485,12 @@ typedef struct VkConformanceVersionKHR
uint8_t patch;
} VkConformanceVersionKHR;
-typedef struct VkDedicatedAllocationBufferCreateInfoNV
-{
- VkStructureType sType;
- const void *pNext;
- VkBool32 dedicatedAllocation;
-} VkDedicatedAllocationBufferCreateInfoNV;
-
-typedef struct VkDescriptorImageInfo
+typedef struct VkDescriptorBufferInfo
{
- VkSampler WINE_VK_ALIGN(8) sampler;
- VkImageView WINE_VK_ALIGN(8) imageView;
- VkImageLayout imageLayout;
-} VkDescriptorImageInfo;
+ VkBuffer WINE_VK_ALIGN(8) buffer;
+ VkDeviceSize WINE_VK_ALIGN(8) offset;
+ VkDeviceSize WINE_VK_ALIGN(8) range;
+} VkDescriptorBufferInfo;
typedef struct VkDescriptorPoolSize
{
@@ -3384,33 +3545,14 @@ typedef struct VkDeviceQueueCreateInfo
const float *pQueuePriorities;
} VkDeviceQueueCreateInfo;
-typedef struct VkDrawIndirectCommand
+typedef struct VkDrawIndexedIndirectCommand
{
- uint32_t vertexCount;
+ uint32_t indexCount;
uint32_t instanceCount;
- uint32_t firstVertex;
+ uint32_t firstIndex;
+ int32_t vertexOffset;
uint32_t firstInstance;
-} VkDrawIndirectCommand;
-
-typedef struct VkEventCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkEventCreateFlags flags;
-} VkEventCreateInfo;
-
-typedef struct VkExportMemoryAllocateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkExternalMemoryHandleTypeFlags handleTypes;
-} VkExportMemoryAllocateInfo;
-
-typedef struct VkExtensionProperties
-{
- char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
- uint32_t specVersion;
-} VkExtensionProperties;
+} VkDrawIndexedIndirectCommand;
typedef struct VkExternalFenceProperties
{
@@ -3443,6 +3585,15 @@ typedef struct VkFramebufferCreateInfo
uint32_t layers;
} VkFramebufferCreateInfo;
+typedef struct VkImageFormatProperties
+{
+ VkExtent3D maxExtent;
+ uint32_t maxMipLevels;
+ uint32_t maxArrayLayers;
+ VkSampleCountFlags sampleCounts;
+ VkDeviceSize WINE_VK_ALIGN(8) maxResourceSize;
+} VkImageFormatProperties;
+
typedef struct VkImageSubresourceRange
{
VkImageAspectFlags aspectMask;
@@ -3452,6 +3603,13 @@ typedef struct VkImageSubresourceRange
uint32_t layerCount;
} VkImageSubresourceRange;
+typedef struct VkImageViewUsageCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkImageUsageFlags usage;
+} VkImageViewUsageCreateInfo;
+
typedef struct VkMemoryAllocateInfo
{
VkStructureType sType;
@@ -3468,83 +3626,90 @@ typedef struct VkMemoryDedicatedRequirements
VkBool32 requiresDedicatedAllocation;
} VkMemoryDedicatedRequirements;
-typedef struct VkMemoryRequirements
+typedef struct VkMemoryType
{
- VkDeviceSize WINE_VK_ALIGN(8) size;
- VkDeviceSize WINE_VK_ALIGN(8) alignment;
- uint32_t memoryTypeBits;
-} VkMemoryRequirements;
+ VkMemoryPropertyFlags propertyFlags;
+ uint32_t heapIndex;
+} VkMemoryType;
-typedef struct VkMemoryRequirements2KHR
+typedef struct VkOffset3D
+{
+ int32_t x;
+ int32_t y;
+ int32_t z;
+} VkOffset3D;
+
+typedef struct VkPhysicalDevice8BitStorageFeaturesKHR
{
VkStructureType sType;
void *pNext;
- VkMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
-} VkMemoryRequirements2KHR;
+ VkBool32 storageBuffer8BitAccess;
+ VkBool32 uniformAndStorageBuffer8BitAccess;
+ VkBool32 storagePushConstant8;
+} VkPhysicalDevice8BitStorageFeaturesKHR;
-typedef struct VkOffset2D
+typedef struct VkPhysicalDeviceBufferAddressFeaturesEXT
{
- int32_t x;
- int32_t y;
-} VkOffset2D;
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 bufferDeviceAddress;
+ VkBool32 bufferDeviceAddressCaptureReplay;
+ VkBool32 bufferDeviceAddressMultiDevice;
+} VkPhysicalDeviceBufferAddressFeaturesEXT;
-typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
+typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t advancedBlendMaxColorAttachments;
- VkBool32 advancedBlendIndependentBlend;
- VkBool32 advancedBlendNonPremultipliedSrcColor;
- VkBool32 advancedBlendNonPremultipliedDstColor;
- VkBool32 advancedBlendCorrelatedOverlap;
- VkBool32 advancedBlendAllOperations;
-} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
+ VkBool32 depthClipEnable;
+} VkPhysicalDeviceDepthClipEnableFeaturesEXT;
-typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV
+typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 cornerSampledImage;
-} VkPhysicalDeviceCornerSampledImageFeaturesNV;
+ uint32_t maxDiscardRectangles;
+} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
-typedef struct VkPhysicalDeviceDriverPropertiesKHR
+typedef struct VkPhysicalDeviceExternalBufferInfo
{
VkStructureType sType;
- void *pNext;
- VkDriverIdKHR driverID;
- char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
- char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
- VkConformanceVersionKHR conformanceVersion;
-} VkPhysicalDeviceDriverPropertiesKHR;
+ const void *pNext;
+ VkBufferCreateFlags flags;
+ VkBufferUsageFlags usage;
+ VkExternalMemoryHandleTypeFlagBits handleType;
+} VkPhysicalDeviceExternalBufferInfo;
-typedef struct VkPhysicalDeviceExternalFenceInfo
+typedef struct VkPhysicalDeviceExternalImageFormatInfo
{
VkStructureType sType;
const void *pNext;
- VkExternalFenceHandleTypeFlagBits handleType;
-} VkPhysicalDeviceExternalFenceInfo;
+ VkExternalMemoryHandleTypeFlagBits handleType;
+} VkPhysicalDeviceExternalImageFormatInfo;
-typedef struct VkPhysicalDeviceFeatures2
+typedef struct VkPhysicalDeviceGroupProperties
{
VkStructureType sType;
void *pNext;
- VkPhysicalDeviceFeatures features;
-} VkPhysicalDeviceFeatures2;
+ uint32_t physicalDeviceCount;
+ VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
+ VkBool32 subsetAllocation;
+} VkPhysicalDeviceGroupProperties;
-typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
+typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 fragmentShaderBarycentric;
-} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+ VkImageViewType imageViewType;
+} VkPhysicalDeviceImageViewImageFormatInfoEXT;
-typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
+typedef struct VkPhysicalDeviceMaintenance3Properties
{
VkStructureType sType;
void *pNext;
- VkBool32 inlineUniformBlock;
- VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
-} VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
+ uint32_t maxPerSetDescriptors;
+ VkDeviceSize WINE_VK_ALIGN(8) maxMemoryAllocationSize;
+} VkPhysicalDeviceMaintenance3Properties;
typedef struct VkPhysicalDeviceMeshShaderFeaturesNV
{
@@ -3575,23 +3740,48 @@ typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
VkBool32 representativeFragmentTest;
} VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
-typedef struct VkPhysicalDeviceShaderDrawParameterFeatures
+typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures
{
VkStructureType sType;
void *pNext;
- VkBool32 shaderDrawParameters;
-} VkPhysicalDeviceShaderDrawParameterFeatures;
+ VkBool32 samplerYcbcrConversion;
+} VkPhysicalDeviceSamplerYcbcrConversionFeatures;
-typedef struct VkPhysicalDeviceSparseImageFormatInfo2
+typedef struct VkPhysicalDeviceShaderCorePropertiesAMD
{
VkStructureType sType;
- const void *pNext;
- VkFormat format;
- VkImageType type;
- VkSampleCountFlagBits samples;
- VkImageUsageFlags usage;
- VkImageTiling tiling;
-} VkPhysicalDeviceSparseImageFormatInfo2;
+ void *pNext;
+ uint32_t shaderEngineCount;
+ uint32_t shaderArraysPerEngineCount;
+ uint32_t computeUnitsPerShaderArray;
+ uint32_t simdPerComputeUnit;
+ uint32_t wavefrontsPerSimd;
+ uint32_t wavefrontSize;
+ uint32_t sgprsPerSimd;
+ uint32_t minSgprAllocation;
+ uint32_t maxSgprAllocation;
+ uint32_t sgprAllocationGranularity;
+ uint32_t vgprsPerSimd;
+ uint32_t minVgprAllocation;
+ uint32_t maxVgprAllocation;
+ uint32_t vgprAllocationGranularity;
+} VkPhysicalDeviceShaderCorePropertiesAMD;
+
+typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 transformFeedback;
+ VkBool32 geometryStreams;
+} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
+
+typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 vertexAttributeInstanceRateDivisor;
+ VkBool32 vertexAttributeInstanceRateZeroDivisor;
+} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
typedef struct VkPipelineCacheCreateInfo
{
@@ -3629,12 +3819,13 @@ typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT
float extraPrimitiveOverestimationSize;
} VkPipelineRasterizationConservativeStateCreateInfoEXT;
-typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV
+typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT
{
VkStructureType sType;
const void *pNext;
- VkBool32 representativeFragmentTestEnable;
-} VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
+ VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
+ uint32_t rasterizationStream;
+} VkPipelineRasterizationStateStreamCreateInfoEXT;
typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
{
@@ -3670,40 +3861,37 @@ typedef struct VkQueueFamilyCheckpointPropertiesNV
VkPipelineStageFlags checkpointExecutionStageMask;
} VkQueueFamilyCheckpointPropertiesNV;
-typedef struct VkRect2D
+typedef struct VkRenderPassCreateInfo
{
- VkOffset2D offset;
- VkExtent2D extent;
-} VkRect2D;
+ VkStructureType sType;
+ const void *pNext;
+ VkRenderPassCreateFlags flags;
+ uint32_t attachmentCount;
+ const VkAttachmentDescription *pAttachments;
+ uint32_t subpassCount;
+ const VkSubpassDescription *pSubpasses;
+ uint32_t dependencyCount;
+ const VkSubpassDependency *pDependencies;
+} VkRenderPassCreateInfo;
-typedef struct VkRenderPassBeginInfo
+typedef struct VkRenderPassMultiviewCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkRenderPass WINE_VK_ALIGN(8) renderPass;
- VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
- VkRect2D renderArea;
- uint32_t clearValueCount;
- const VkClearValue *pClearValues;
-} VkRenderPassBeginInfo;
-
-typedef struct VkRenderPassInputAttachmentAspectCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- uint32_t aspectReferenceCount;
- const VkInputAttachmentAspectReference *pAspectReferences;
-} VkRenderPassInputAttachmentAspectCreateInfo;
+ uint32_t subpassCount;
+ const uint32_t *pViewMasks;
+ uint32_t dependencyCount;
+ const int32_t *pViewOffsets;
+ uint32_t correlationMaskCount;
+ const uint32_t *pCorrelationMasks;
+} VkRenderPassMultiviewCreateInfo;
-typedef struct VkSampleLocationsInfoEXT
+typedef struct VkSamplerReductionModeCreateInfoEXT
{
VkStructureType sType;
const void *pNext;
- VkSampleCountFlagBits sampleLocationsPerPixel;
- VkExtent2D sampleLocationGridSize;
- uint32_t sampleLocationsCount;
- const VkSampleLocationEXT *pSampleLocations;
-} VkSampleLocationsInfoEXT;
+ VkSamplerReductionModeEXT reductionMode;
+} VkSamplerReductionModeCreateInfoEXT;
typedef struct VkSamplerYcbcrConversionImageFormatProperties
{
@@ -3726,79 +3914,47 @@ typedef struct VkShaderModuleValidationCacheCreateInfoEXT
VkValidationCacheEXT WINE_VK_ALIGN(8) validationCache;
} VkShaderModuleValidationCacheCreateInfoEXT;
-typedef struct VkSparseImageOpaqueMemoryBindInfo
+typedef struct VkSparseImageFormatProperties2
{
- VkImage WINE_VK_ALIGN(8) image;
- uint32_t bindCount;
- const VkSparseMemoryBind *pBinds;
-} VkSparseImageOpaqueMemoryBindInfo;
+ VkStructureType sType;
+ void *pNext;
+ VkSparseImageFormatProperties properties;
+} VkSparseImageFormatProperties2;
-typedef struct VkStencilOpState
+typedef struct VkSparseImageMemoryRequirements2
{
- VkStencilOp failOp;
- VkStencilOp passOp;
- VkStencilOp depthFailOp;
- VkCompareOp compareOp;
- uint32_t compareMask;
- uint32_t writeMask;
- uint32_t reference;
-} VkStencilOpState;
+ VkStructureType sType;
+ void *pNext;
+ VkSparseImageMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
+} VkSparseImageMemoryRequirements2;
-typedef struct VkSubpassDependency2KHR
+typedef struct VkSpecializationInfo
{
- VkStructureType sType;
- const void *pNext;
- uint32_t srcSubpass;
- uint32_t dstSubpass;
- VkPipelineStageFlags srcStageMask;
- VkPipelineStageFlags dstStageMask;
- VkAccessFlags srcAccessMask;
- VkAccessFlags dstAccessMask;
- VkDependencyFlags dependencyFlags;
- int32_t viewOffset;
-} VkSubpassDependency2KHR;
+ uint32_t mapEntryCount;
+ const VkSpecializationMapEntry *pMapEntries;
+ size_t dataSize;
+ const void *pData;
+} VkSpecializationInfo;
-typedef struct VkSubpassSampleLocationsEXT
+typedef struct VkSubpassBeginInfoKHR
{
- uint32_t subpassIndex;
- VkSampleLocationsInfoEXT sampleLocationsInfo;
-} VkSubpassSampleLocationsEXT;
+ VkStructureType sType;
+ const void *pNext;
+ VkSubpassContents contents;
+} VkSubpassBeginInfoKHR;
-typedef struct VkSurfaceCapabilitiesKHR
+typedef struct VkSurfaceFormatKHR
{
- uint32_t minImageCount;
- uint32_t maxImageCount;
- VkExtent2D currentExtent;
- VkExtent2D minImageExtent;
- VkExtent2D maxImageExtent;
- uint32_t maxImageArrayLayers;
- VkSurfaceTransformFlagsKHR supportedTransforms;
- VkSurfaceTransformFlagBitsKHR currentTransform;
- VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
- VkImageUsageFlags supportedUsageFlags;
-} VkSurfaceCapabilitiesKHR;
+ VkFormat format;
+ VkColorSpaceKHR colorSpace;
+} VkSurfaceFormatKHR;
-typedef struct VkSwapchainCreateInfoKHR
+typedef struct VkTextureLODGatherFormatPropertiesAMD
{
VkStructureType sType;
- const void *pNext;
- VkSwapchainCreateFlagsKHR flags;
- VkSurfaceKHR WINE_VK_ALIGN(8) surface;
- uint32_t minImageCount;
- VkFormat imageFormat;
- VkColorSpaceKHR imageColorSpace;
- VkExtent2D imageExtent;
- uint32_t imageArrayLayers;
- VkImageUsageFlags imageUsage;
- VkSharingMode imageSharingMode;
- uint32_t queueFamilyIndexCount;
- const uint32_t *pQueueFamilyIndices;
- VkSurfaceTransformFlagBitsKHR preTransform;
- VkCompositeAlphaFlagBitsKHR compositeAlpha;
- VkPresentModeKHR presentMode;
- VkBool32 clipped;
- VkSwapchainKHR WINE_VK_ALIGN(8) oldSwapchain;
-} VkSwapchainCreateInfoKHR;
+ void *pNext;
+ VkBool32 supportsTextureGatherLODBiasAMD;
+} VkTextureLODGatherFormatPropertiesAMD;
typedef struct VkVertexInputAttributeDescription
{
@@ -3857,6 +4013,13 @@ typedef struct VkBindImageMemorySwapchainInfoKHR
uint32_t imageIndex;
} VkBindImageMemorySwapchainInfoKHR;
+typedef struct VkBufferDeviceAddressInfoEXT
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkBuffer WINE_VK_ALIGN(8) buffer;
+} VkBufferDeviceAddressInfoEXT;
+
typedef struct VkBufferViewCreateInfo
{
VkStructureType sType;
@@ -3868,20 +4031,26 @@ typedef struct VkBufferViewCreateInfo
VkDeviceSize WINE_VK_ALIGN(8) range;
} VkBufferViewCreateInfo;
-typedef struct VkClearRect
+typedef struct VkComponentMapping
{
- VkRect2D rect;
- uint32_t baseArrayLayer;
- uint32_t layerCount;
-} VkClearRect;
+ VkComponentSwizzle r;
+ VkComponentSwizzle g;
+ VkComponentSwizzle b;
+ VkComponentSwizzle a;
+} VkComponentMapping;
-typedef struct VkCommandBufferBeginInfo
+typedef struct VkCopyDescriptorSet
{
VkStructureType sType;
const void *pNext;
- VkCommandBufferUsageFlags flags;
- const VkCommandBufferInheritanceInfo *pInheritanceInfo;
-} VkCommandBufferBeginInfo;
+ VkDescriptorSet WINE_VK_ALIGN(8) srcSet;
+ uint32_t srcBinding;
+ uint32_t srcArrayElement;
+ VkDescriptorSet WINE_VK_ALIGN(8) dstSet;
+ uint32_t dstBinding;
+ uint32_t dstArrayElement;
+ uint32_t descriptorCount;
+} VkCopyDescriptorSet;
typedef struct VkDescriptorPoolCreateInfo
{
@@ -3929,19 +4098,17 @@ typedef struct VkDeviceGroupSwapchainCreateInfoKHR
VkDeviceGroupPresentModeFlagsKHR modes;
} VkDeviceGroupSwapchainCreateInfoKHR;
-typedef struct VkExportMemoryAllocateInfoNV
+typedef struct VkDrawMeshTasksIndirectCommandNV
{
- VkStructureType sType;
- const void *pNext;
- VkExternalMemoryHandleTypeFlagsNV handleTypes;
-} VkExportMemoryAllocateInfoNV;
+ uint32_t taskCount;
+ uint32_t firstTask;
+} VkDrawMeshTasksIndirectCommandNV;
-typedef struct VkExtent3D
+typedef struct VkExtent2D
{
uint32_t width;
uint32_t height;
- uint32_t depth;
-} VkExtent3D;
+} VkExtent2D;
typedef struct VkFenceCreateInfo
{
@@ -3964,34 +4131,6 @@ typedef struct VkImageBlit
VkOffset3D dstOffsets[2];
} VkImageBlit;
-typedef struct VkImageCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkImageCreateFlags flags;
- VkImageType imageType;
- VkFormat format;
- VkExtent3D extent;
- uint32_t mipLevels;
- uint32_t arrayLayers;
- VkSampleCountFlagBits samples;
- VkImageTiling tiling;
- VkImageUsageFlags usage;
- VkSharingMode sharingMode;
- uint32_t queueFamilyIndexCount;
- const uint32_t *pQueueFamilyIndices;
- VkImageLayout initialLayout;
-} VkImageCreateInfo;
-
-typedef struct VkImageFormatProperties
-{
- VkExtent3D maxExtent;
- uint32_t maxMipLevels;
- uint32_t maxArrayLayers;
- VkSampleCountFlags sampleCounts;
- VkDeviceSize WINE_VK_ALIGN(8) maxResourceSize;
-} VkImageFormatProperties;
-
typedef struct VkImageMemoryBarrier
{
VkStructureType sType;
@@ -4037,132 +4176,56 @@ typedef struct VkMemoryRequirements2
VkMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
} VkMemoryRequirements2;
-typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
+typedef struct VkMultisamplePropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 conditionalRendering;
- VkBool32 inheritedConditionalRendering;
-} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
+ VkExtent2D maxSampleLocationGridSize;
+} VkMultisamplePropertiesEXT;
-typedef struct VkPhysicalDeviceExternalBufferInfo
+typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
{
VkStructureType sType;
- const void *pNext;
- VkBufferCreateFlags flags;
- VkBufferUsageFlags usage;
- VkExternalMemoryHandleTypeFlagBits handleType;
-} VkPhysicalDeviceExternalBufferInfo;
+ void *pNext;
+ VkBool32 advancedBlendCoherentOperations;
+} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
-typedef struct VkPhysicalDeviceLimits
+typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV
{
- uint32_t maxImageDimension1D;
- uint32_t maxImageDimension2D;
- uint32_t maxImageDimension3D;
- uint32_t maxImageDimensionCube;
- uint32_t maxImageArrayLayers;
- uint32_t maxTexelBufferElements;
- uint32_t maxUniformBufferRange;
- uint32_t maxStorageBufferRange;
- uint32_t maxPushConstantsSize;
- uint32_t maxMemoryAllocationCount;
- uint32_t maxSamplerAllocationCount;
- VkDeviceSize WINE_VK_ALIGN(8) bufferImageGranularity;
- VkDeviceSize WINE_VK_ALIGN(8) sparseAddressSpaceSize;
- uint32_t maxBoundDescriptorSets;
- uint32_t maxPerStageDescriptorSamplers;
- uint32_t maxPerStageDescriptorUniformBuffers;
- uint32_t maxPerStageDescriptorStorageBuffers;
- uint32_t maxPerStageDescriptorSampledImages;
- uint32_t maxPerStageDescriptorStorageImages;
- uint32_t maxPerStageDescriptorInputAttachments;
- uint32_t maxPerStageResources;
- uint32_t maxDescriptorSetSamplers;
- uint32_t maxDescriptorSetUniformBuffers;
- uint32_t maxDescriptorSetUniformBuffersDynamic;
- uint32_t maxDescriptorSetStorageBuffers;
- uint32_t maxDescriptorSetStorageBuffersDynamic;
- uint32_t maxDescriptorSetSampledImages;
- uint32_t maxDescriptorSetStorageImages;
- uint32_t maxDescriptorSetInputAttachments;
- uint32_t maxVertexInputAttributes;
- uint32_t maxVertexInputBindings;
- uint32_t maxVertexInputAttributeOffset;
- uint32_t maxVertexInputBindingStride;
- uint32_t maxVertexOutputComponents;
- uint32_t maxTessellationGenerationLevel;
- uint32_t maxTessellationPatchSize;
- uint32_t maxTessellationControlPerVertexInputComponents;
- uint32_t maxTessellationControlPerVertexOutputComponents;
- uint32_t maxTessellationControlPerPatchOutputComponents;
- uint32_t maxTessellationControlTotalOutputComponents;
- uint32_t maxTessellationEvaluationInputComponents;
- uint32_t maxTessellationEvaluationOutputComponents;
- uint32_t maxGeometryShaderInvocations;
- uint32_t maxGeometryInputComponents;
- uint32_t maxGeometryOutputComponents;
- uint32_t maxGeometryOutputVertices;
- uint32_t maxGeometryTotalOutputComponents;
- uint32_t maxFragmentInputComponents;
- uint32_t maxFragmentOutputAttachments;
- uint32_t maxFragmentDualSrcAttachments;
- uint32_t maxFragmentCombinedOutputResources;
- uint32_t maxComputeSharedMemorySize;
- uint32_t maxComputeWorkGroupCount[3];
- uint32_t maxComputeWorkGroupInvocations;
- uint32_t maxComputeWorkGroupSize[3];
- uint32_t subPixelPrecisionBits;
- uint32_t subTexelPrecisionBits;
- uint32_t mipmapPrecisionBits;
- uint32_t maxDrawIndexedIndexValue;
- uint32_t maxDrawIndirectCount;
- float maxSamplerLodBias;
- float maxSamplerAnisotropy;
- uint32_t maxViewports;
- uint32_t maxViewportDimensions[2];
- float viewportBoundsRange[2];
- uint32_t viewportSubPixelBits;
- size_t minMemoryMapAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) minTexelBufferOffsetAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) minUniformBufferOffsetAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) minStorageBufferOffsetAlignment;
- int32_t minTexelOffset;
- uint32_t maxTexelOffset;
- int32_t minTexelGatherOffset;
- uint32_t maxTexelGatherOffset;
- float minInterpolationOffset;
- float maxInterpolationOffset;
- uint32_t subPixelInterpolationOffsetBits;
- uint32_t maxFramebufferWidth;
- uint32_t maxFramebufferHeight;
- uint32_t maxFramebufferLayers;
- VkSampleCountFlags framebufferColorSampleCounts;
- VkSampleCountFlags framebufferDepthSampleCounts;
- VkSampleCountFlags framebufferStencilSampleCounts;
- VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
- uint32_t maxColorAttachments;
- VkSampleCountFlags sampledImageColorSampleCounts;
- VkSampleCountFlags sampledImageIntegerSampleCounts;
- VkSampleCountFlags sampledImageDepthSampleCounts;
- VkSampleCountFlags sampledImageStencilSampleCounts;
- VkSampleCountFlags storageImageSampleCounts;
- uint32_t maxSampleMaskWords;
- VkBool32 timestampComputeAndGraphics;
- float timestampPeriod;
- uint32_t maxClipDistances;
- uint32_t maxCullDistances;
- uint32_t maxCombinedClipAndCullDistances;
- uint32_t discreteQueuePriorities;
- float pointSizeRange[2];
- float lineWidthRange[2];
- float pointSizeGranularity;
- float lineWidthGranularity;
- VkBool32 strictLines;
- VkBool32 standardSampleLocations;
- VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyOffsetAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyRowPitchAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) nonCoherentAtomSize;
-} VkPhysicalDeviceLimits;
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 cornerSampledImage;
+} VkPhysicalDeviceCornerSampledImageFeaturesNV;
+
+typedef struct VkPhysicalDeviceDriverPropertiesKHR
+{
+ VkStructureType sType;
+ void *pNext;
+ VkDriverIdKHR driverID;
+ char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
+ char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
+ VkConformanceVersionKHR conformanceVersion;
+} VkPhysicalDeviceDriverPropertiesKHR;
+
+typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 fragmentDensityMap;
+ VkBool32 fragmentDensityMapDynamic;
+ VkBool32 fragmentDensityMapNonSubsampledImages;
+} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
+
+typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ uint32_t maxInlineUniformBlockSize;
+ uint32_t maxPerStageDescriptorInlineUniformBlocks;
+ uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
+ uint32_t maxDescriptorSetInlineUniformBlocks;
+ uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
+} VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
typedef struct VkPhysicalDeviceMultiviewFeatures
{
@@ -4173,6 +4236,19 @@ typedef struct VkPhysicalDeviceMultiviewFeatures
VkBool32 multiviewTessellationShader;
} VkPhysicalDeviceMultiviewFeatures;
+typedef struct VkPhysicalDeviceProperties
+{
+ uint32_t apiVersion;
+ uint32_t driverVersion;
+ uint32_t vendorID;
+ uint32_t deviceID;
+ VkPhysicalDeviceType deviceType;
+ char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
+ uint8_t pipelineCacheUUID[VK_UUID_SIZE];
+ VkPhysicalDeviceLimits WINE_VK_ALIGN(8) limits;
+ VkPhysicalDeviceSparseProperties sparseProperties;
+} VkPhysicalDeviceProperties;
+
typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR
{
VkStructureType sType;
@@ -4180,52 +4256,69 @@ typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR
uint32_t maxPushDescriptors;
} VkPhysicalDevicePushDescriptorPropertiesKHR;
-typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
+typedef struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 shaderBufferInt64Atomics;
- VkBool32 shaderSharedInt64Atomics;
-} VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
+ VkBool32 scalarBlockLayout;
+} VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
-typedef struct VkPhysicalDeviceSparseProperties
+typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV
{
- VkBool32 residencyStandard2DBlockShape;
- VkBool32 residencyStandard2DMultisampleBlockShape;
- VkBool32 residencyStandard3DBlockShape;
- VkBool32 residencyAlignedMipSize;
- VkBool32 residencyNonResidentStrict;
-} VkPhysicalDeviceSparseProperties;
+ VkStructureType sType;
+ void *pNext;
+ VkExtent2D shadingRateTexelSize;
+ uint32_t shadingRatePaletteSize;
+ uint32_t shadingRateMaxCoarseSamples;
+} VkPhysicalDeviceShadingRateImagePropertiesNV;
-typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
+typedef struct VkPhysicalDeviceVariablePointerFeatures
{
VkStructureType sType;
void *pNext;
- uint32_t maxVertexAttribDivisor;
-} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
+ VkBool32 variablePointersStorageBuffer;
+ VkBool32 variablePointers;
+} VkPhysicalDeviceVariablePointerFeatures;
-typedef struct VkPipelineDepthStencilStateCreateInfo
+typedef struct VkPipelineColorBlendAttachmentState
+{
+ VkBool32 blendEnable;
+ VkBlendFactor srcColorBlendFactor;
+ VkBlendFactor dstColorBlendFactor;
+ VkBlendOp colorBlendOp;
+ VkBlendFactor srcAlphaBlendFactor;
+ VkBlendFactor dstAlphaBlendFactor;
+ VkBlendOp alphaBlendOp;
+ VkColorComponentFlags colorWriteMask;
+} VkPipelineColorBlendAttachmentState;
+
+typedef struct VkPipelineRasterizationStateCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkPipelineDepthStencilStateCreateFlags flags;
- VkBool32 depthTestEnable;
- VkBool32 depthWriteEnable;
- VkCompareOp depthCompareOp;
- VkBool32 depthBoundsTestEnable;
- VkBool32 stencilTestEnable;
- VkStencilOpState front;
- VkStencilOpState back;
- float minDepthBounds;
- float maxDepthBounds;
-} VkPipelineDepthStencilStateCreateInfo;
+ VkPipelineRasterizationStateCreateFlags flags;
+ VkBool32 depthClampEnable;
+ VkBool32 rasterizerDiscardEnable;
+ VkPolygonMode polygonMode;
+ VkCullModeFlags cullMode;
+ VkFrontFace frontFace;
+ VkBool32 depthBiasEnable;
+ float depthBiasConstantFactor;
+ float depthBiasClamp;
+ float depthBiasSlopeFactor;
+ float lineWidth;
+} VkPipelineRasterizationStateCreateInfo;
-typedef struct VkPipelineRasterizationStateRasterizationOrderAMD
+typedef struct VkPipelineShaderStageCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkRasterizationOrderAMD rasterizationOrder;
-} VkPipelineRasterizationStateRasterizationOrderAMD;
+ VkPipelineShaderStageCreateFlags flags;
+ VkShaderStageFlagBits stage;
+ VkShaderModule WINE_VK_ALIGN(8) module;
+ const char *pName;
+ const VkSpecializationInfo *pSpecializationInfo;
+} VkPipelineShaderStageCreateInfo;
typedef struct VkPipelineVertexInputStateCreateInfo
{
@@ -4238,17 +4331,6 @@ typedef struct VkPipelineVertexInputStateCreateInfo
const VkVertexInputAttributeDescription *pVertexAttributeDescriptions;
} VkPipelineVertexInputStateCreateInfo;
-typedef struct VkPipelineViewportStateCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkPipelineViewportStateCreateFlags flags;
- uint32_t viewportCount;
- const VkViewport *pViewports;
- uint32_t scissorCount;
- const VkRect2D *pScissors;
-} VkPipelineViewportStateCreateInfo;
-
typedef struct VkPushConstantRange
{
VkShaderStageFlags stageFlags;
@@ -4256,6 +4338,21 @@ typedef struct VkPushConstantRange
uint32_t size;
} VkPushConstantRange;
+typedef struct VkRayTracingPipelineCreateInfoNV
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineCreateFlags flags;
+ uint32_t stageCount;
+ const VkPipelineShaderStageCreateInfo *pStages;
+ uint32_t groupCount;
+ const VkRayTracingShaderGroupCreateInfoNV *pGroups;
+ uint32_t maxRecursionDepth;
+ VkPipelineLayout WINE_VK_ALIGN(8) layout;
+ VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
+ int32_t basePipelineIndex;
+} VkRayTracingPipelineCreateInfoNV;
+
typedef struct VkRectLayerKHR
{
VkOffset2D offset;
@@ -4263,24 +4360,15 @@ typedef struct VkRectLayerKHR
uint32_t layer;
} VkRectLayerKHR;
-typedef struct VkRenderPassMultiviewCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- uint32_t subpassCount;
- const uint32_t *pViewMasks;
- uint32_t dependencyCount;
- const int32_t *pViewOffsets;
- uint32_t correlationMaskCount;
- const uint32_t *pCorrelationMasks;
-} VkRenderPassMultiviewCreateInfo;
-
-typedef struct VkSamplerReductionModeCreateInfoEXT
+typedef struct VkSampleLocationsInfoEXT
{
VkStructureType sType;
const void *pNext;
- VkSamplerReductionModeEXT reductionMode;
-} VkSamplerReductionModeCreateInfoEXT;
+ VkSampleCountFlagBits sampleLocationsPerPixel;
+ VkExtent2D sampleLocationGridSize;
+ uint32_t sampleLocationsCount;
+ const VkSampleLocationEXT *pSampleLocations;
+} VkSampleLocationsInfoEXT;
typedef struct VkSamplerYcbcrConversionInfo
{
@@ -4300,67 +4388,49 @@ typedef struct VkShaderStatisticsInfoAMD
uint32_t computeWorkGroupSize[3];
} VkShaderStatisticsInfoAMD;
-typedef struct VkSparseImageFormatProperties
-{
- VkImageAspectFlags aspectMask;
- VkExtent3D imageGranularity;
- VkSparseImageFormatFlags flags;
-} VkSparseImageFormatProperties;
-
-typedef struct VkSparseImageMemoryRequirements
-{
- VkSparseImageFormatProperties formatProperties;
- uint32_t imageMipTailFirstLod;
- VkDeviceSize WINE_VK_ALIGN(8) imageMipTailSize;
- VkDeviceSize WINE_VK_ALIGN(8) imageMipTailOffset;
- VkDeviceSize WINE_VK_ALIGN(8) imageMipTailStride;
-} VkSparseImageMemoryRequirements;
-
-typedef struct VkSpecializationInfo
+typedef struct VkSparseImageOpaqueMemoryBindInfo
{
- uint32_t mapEntryCount;
- const VkSpecializationMapEntry *pMapEntries;
- size_t dataSize;
- const void *pData;
-} VkSpecializationInfo;
+ VkImage WINE_VK_ALIGN(8) image;
+ uint32_t bindCount;
+ const VkSparseMemoryBind *pBinds;
+} VkSparseImageOpaqueMemoryBindInfo;
-typedef struct VkSubpassDescription2KHR
+typedef struct VkSubpassDependency2KHR
{
VkStructureType sType;
const void *pNext;
- VkSubpassDescriptionFlags flags;
- VkPipelineBindPoint pipelineBindPoint;
- uint32_t viewMask;
- uint32_t inputAttachmentCount;
- const VkAttachmentReference2KHR *pInputAttachments;
- uint32_t colorAttachmentCount;
- const VkAttachmentReference2KHR *pColorAttachments;
- const VkAttachmentReference2KHR *pResolveAttachments;
- const VkAttachmentReference2KHR *pDepthStencilAttachment;
- uint32_t preserveAttachmentCount;
- const uint32_t *pPreserveAttachments;
-} VkSubpassDescription2KHR;
+ uint32_t srcSubpass;
+ uint32_t dstSubpass;
+ VkPipelineStageFlags srcStageMask;
+ VkPipelineStageFlags dstStageMask;
+ VkAccessFlags srcAccessMask;
+ VkAccessFlags dstAccessMask;
+ VkDependencyFlags dependencyFlags;
+ int32_t viewOffset;
+} VkSubpassDependency2KHR;
-typedef struct VkSurfaceFormatKHR
+typedef struct VkSubpassDescriptionDepthStencilResolveKHR
{
- VkFormat format;
- VkColorSpaceKHR colorSpace;
-} VkSurfaceFormatKHR;
+ VkStructureType sType;
+ const void *pNext;
+ VkResolveModeFlagBitsKHR depthResolveMode;
+ VkResolveModeFlagBitsKHR stencilResolveMode;
+ const VkAttachmentReference2KHR *pDepthStencilResolveAttachment;
+} VkSubpassDescriptionDepthStencilResolveKHR;
-typedef struct VkVertexInputBindingDivisorDescriptionEXT
+typedef struct VkViewportWScalingNV
{
- uint32_t binding;
- uint32_t divisor;
-} VkVertexInputBindingDivisorDescriptionEXT;
+ float xcoeff;
+ float ycoeff;
+} VkViewportWScalingNV;
-typedef struct VkWin32SurfaceCreateInfoKHR
+typedef struct VkWriteDescriptorSetInlineUniformBlockEXT
{
VkStructureType sType;
const void *pNext;
- VkWin32SurfaceCreateFlagsKHR flags;
- HINSTANCE hinstance;
- HWND hwnd;
-} VkWin32SurfaceCreateInfoKHR;
+ uint32_t dataSize;
+ const void *pData;
+} VkWriteDescriptorSetInlineUniformBlockEXT;
typedef struct VkApplicationInfo
{
@@ -4373,16 +4443,6 @@ typedef struct VkApplicationInfo
uint32_t apiVersion;
} VkApplicationInfo;
-typedef struct VkBindImageMemoryDeviceGroupInfo
-{
- VkStructureType sType;
- const void *pNext;
- uint32_t deviceIndexCount;
- const uint32_t *pDeviceIndices;
- uint32_t splitInstanceBindRegionCount;
- const VkRect2D *pSplitInstanceBindRegions;
-} VkBindImageMemoryDeviceGroupInfo;
-
typedef struct VkBufferImageCopy
{
VkDeviceSize WINE_VK_ALIGN(8) bufferOffset;
@@ -4393,6 +4453,14 @@ typedef struct VkBufferImageCopy
VkExtent3D imageExtent;
} VkBufferImageCopy;
+typedef struct VkCommandBufferBeginInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkCommandBufferUsageFlags flags;
+ const VkCommandBufferInheritanceInfo *pInheritanceInfo;
+} VkCommandBufferBeginInfo;
+
typedef struct VkDescriptorSetLayoutBinding
{
uint32_t binding;
@@ -4416,14 +4484,21 @@ typedef struct VkDescriptorUpdateTemplateCreateInfo
uint32_t set;
} VkDescriptorUpdateTemplateCreateInfo;
-typedef struct VkDeviceGroupRenderPassBeginInfo
+typedef struct VkDeviceQueueInfo2
{
VkStructureType sType;
const void *pNext;
- uint32_t deviceMask;
- uint32_t deviceRenderAreaCount;
- const VkRect2D *pDeviceRenderAreas;
-} VkDeviceGroupRenderPassBeginInfo;
+ VkDeviceQueueCreateFlags flags;
+ uint32_t queueFamilyIndex;
+ uint32_t queueIndex;
+} VkDeviceQueueInfo2;
+
+typedef struct VkExportSemaphoreCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkExternalSemaphoreHandleTypeFlags handleTypes;
+} VkExportSemaphoreCreateInfo;
typedef struct VkExternalMemoryProperties
{
@@ -4450,180 +4525,230 @@ typedef struct VkImageCopy
VkExtent3D extent;
} VkImageCopy;
-typedef struct VkImageFormatProperties2
+typedef struct VkImagePlaneMemoryRequirementsInfo
{
VkStructureType sType;
- void *pNext;
- VkImageFormatProperties WINE_VK_ALIGN(8) imageFormatProperties;
-} VkImageFormatProperties2;
+ const void *pNext;
+ VkImageAspectFlagBits planeAspect;
+} VkImagePlaneMemoryRequirementsInfo;
-typedef struct VkImageSubresource
+typedef struct VkImageViewCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkImageViewCreateFlags flags;
+ VkImage WINE_VK_ALIGN(8) image;
+ VkImageViewType viewType;
+ VkFormat format;
+ VkComponentMapping components;
+ VkImageSubresourceRange subresourceRange;
+} VkImageViewCreateInfo;
+
+typedef struct VkInputAttachmentAspectReference
{
+ uint32_t subpass;
+ uint32_t inputAttachmentIndex;
VkImageAspectFlags aspectMask;
- uint32_t mipLevel;
- uint32_t arrayLayer;
-} VkImageSubresource;
+} VkInputAttachmentAspectReference;
-typedef struct VkInstanceCreateInfo
+typedef struct VkMemoryDedicatedAllocateInfo
{
VkStructureType sType;
const void *pNext;
- VkInstanceCreateFlags flags;
- const VkApplicationInfo *pApplicationInfo;
- uint32_t enabledLayerCount;
- const char * const*ppEnabledLayerNames;
- uint32_t enabledExtensionCount;
- const char * const*ppEnabledExtensionNames;
-} VkInstanceCreateInfo;
+ VkImage WINE_VK_ALIGN(8) image;
+ VkBuffer WINE_VK_ALIGN(8) buffer;
+} VkMemoryDedicatedAllocateInfo;
-typedef struct VkMemoryHeap
+typedef struct VkPhysicalDevice16BitStorageFeatures
{
- VkDeviceSize WINE_VK_ALIGN(8) size;
- VkMemoryHeapFlags flags;
-} VkMemoryHeap;
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 storageBuffer16BitAccess;
+ VkBool32 uniformAndStorageBuffer16BitAccess;
+ VkBool32 storagePushConstant16;
+ VkBool32 storageInputOutput16;
+} VkPhysicalDevice16BitStorageFeatures;
-typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT
+typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t maxUpdateAfterBindDescriptorsInAllPools;
- VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
- VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
- VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
- VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
- VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
- VkBool32 robustBufferAccessUpdateAfterBind;
- VkBool32 quadDivergentImplicitLod;
- uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
- uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
- uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
- uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
- uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
- uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
- uint32_t maxPerStageUpdateAfterBindResources;
- uint32_t maxDescriptorSetUpdateAfterBindSamplers;
- uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
- uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
- uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
- uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
- uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
- uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
- uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
-} VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
+ VkBool32 shaderInputAttachmentArrayDynamicIndexing;
+ VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
+ VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
+ VkBool32 shaderUniformBufferArrayNonUniformIndexing;
+ VkBool32 shaderSampledImageArrayNonUniformIndexing;
+ VkBool32 shaderStorageBufferArrayNonUniformIndexing;
+ VkBool32 shaderStorageImageArrayNonUniformIndexing;
+ VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
+ VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
+ VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
+ VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
+ VkBool32 descriptorBindingSampledImageUpdateAfterBind;
+ VkBool32 descriptorBindingStorageImageUpdateAfterBind;
+ VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
+ VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
+ VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
+ VkBool32 descriptorBindingUpdateUnusedWhilePending;
+ VkBool32 descriptorBindingPartiallyBound;
+ VkBool32 descriptorBindingVariableDescriptorCount;
+ VkBool32 runtimeDescriptorArray;
+} VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
-typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT
+typedef struct VkPhysicalDeviceFeatures2
{
VkStructureType sType;
void *pNext;
- VkBool32 fragmentDensityMap;
- VkBool32 fragmentDensityMapDynamic;
- VkBool32 fragmentDensityMapNonSubsampledImages;
-} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
+ VkPhysicalDeviceFeatures features;
+} VkPhysicalDeviceFeatures2;
-typedef struct VkPhysicalDeviceMemoryProperties
+typedef struct VkPhysicalDeviceImageFormatInfo2
{
- uint32_t memoryTypeCount;
- VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
- uint32_t memoryHeapCount;
- VkMemoryHeap WINE_VK_ALIGN(8) memoryHeaps[VK_MAX_MEMORY_HEAPS];
-} VkPhysicalDeviceMemoryProperties;
+ VkStructureType sType;
+ const void *pNext;
+ VkFormat format;
+ VkImageType type;
+ VkImageTiling tiling;
+ VkImageUsageFlags usage;
+ VkImageCreateFlags flags;
+} VkPhysicalDeviceImageFormatInfo2;
-typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
+typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 filterMinmaxSingleComponentFormats;
- VkBool32 filterMinmaxImageComponentMapping;
-} VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
+ VkSampleCountFlags sampleLocationSampleCounts;
+ VkExtent2D maxSampleLocationGridSize;
+ float sampleLocationCoordinateRange[2];
+ uint32_t sampleLocationSubPixelBits;
+ VkBool32 variableSampleLocations;
+} VkPhysicalDeviceSampleLocationsPropertiesEXT;
-typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT
+typedef struct VkPhysicalDeviceSubgroupProperties
{
VkStructureType sType;
void *pNext;
- uint32_t maxTransformFeedbackStreams;
- uint32_t maxTransformFeedbackBuffers;
- VkDeviceSize WINE_VK_ALIGN(8) maxTransformFeedbackBufferSize;
- uint32_t maxTransformFeedbackStreamDataSize;
- uint32_t maxTransformFeedbackBufferDataSize;
- uint32_t maxTransformFeedbackBufferDataStride;
- VkBool32 transformFeedbackQueries;
- VkBool32 transformFeedbackStreamsLinesTriangles;
- VkBool32 transformFeedbackRasterizationStreamSelect;
- VkBool32 transformFeedbackDraw;
-} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
+ uint32_t subgroupSize;
+ VkShaderStageFlags supportedStages;
+ VkSubgroupFeatureFlags supportedOperations;
+ VkBool32 quadOperationsInAllStages;
+} VkPhysicalDeviceSubgroupProperties;
-typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT
+typedef struct VkPipelineColorBlendStateCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
- VkDiscardRectangleModeEXT discardRectangleMode;
- uint32_t discardRectangleCount;
- const VkRect2D *pDiscardRectangles;
-} VkPipelineDiscardRectangleStateCreateInfoEXT;
+ VkPipelineColorBlendStateCreateFlags flags;
+ VkBool32 logicOpEnable;
+ VkLogicOp logicOp;
+ uint32_t attachmentCount;
+ const VkPipelineColorBlendAttachmentState *pAttachments;
+ float blendConstants[4];
+} VkPipelineColorBlendStateCreateInfo;
-typedef struct VkPipelineSampleLocationsStateCreateInfoEXT
+typedef struct VkPipelineLayoutCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkBool32 sampleLocationsEnable;
- VkSampleLocationsInfoEXT sampleLocationsInfo;
-} VkPipelineSampleLocationsStateCreateInfoEXT;
+ VkPipelineLayoutCreateFlags flags;
+ uint32_t setLayoutCount;
+ const VkDescriptorSetLayout *pSetLayouts;
+ uint32_t pushConstantRangeCount;
+ const VkPushConstantRange *pPushConstantRanges;
+} VkPipelineLayoutCreateInfo;
-typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT
+typedef struct VkPipelineViewportWScalingStateCreateInfoNV
{
VkStructureType sType;
const void *pNext;
- uint32_t vertexBindingDivisorCount;
- const VkVertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors;
-} VkPipelineVertexInputDivisorStateCreateInfoEXT;
+ VkBool32 viewportWScalingEnable;
+ uint32_t viewportCount;
+ const VkViewportWScalingNV *pViewportWScalings;
+} VkPipelineViewportWScalingStateCreateInfoNV;
-typedef struct VkPresentRegionKHR
+typedef struct VkQueueFamilyProperties2
{
- uint32_t rectangleCount;
- const VkRectLayerKHR *pRectangles;
-} VkPresentRegionKHR;
+ VkStructureType sType;
+ void *pNext;
+ VkQueueFamilyProperties queueFamilyProperties;
+} VkQueueFamilyProperties2;
-typedef struct VkQueueFamilyProperties
+typedef struct VkRenderPassInputAttachmentAspectCreateInfo
{
- VkQueueFlags queueFlags;
- uint32_t queueCount;
- uint32_t timestampValidBits;
- VkExtent3D minImageTransferGranularity;
-} VkQueueFamilyProperties;
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t aspectReferenceCount;
+ const VkInputAttachmentAspectReference *pAspectReferences;
+} VkRenderPassInputAttachmentAspectCreateInfo;
-typedef struct VkRenderPassCreateInfo
+typedef struct VkSamplerYcbcrConversionCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkRenderPassCreateFlags flags;
- uint32_t attachmentCount;
- const VkAttachmentDescription *pAttachments;
- uint32_t subpassCount;
- const VkSubpassDescription *pSubpasses;
- uint32_t dependencyCount;
- const VkSubpassDependency *pDependencies;
-} VkRenderPassCreateInfo;
+ VkFormat format;
+ VkSamplerYcbcrModelConversion ycbcrModel;
+ VkSamplerYcbcrRange ycbcrRange;
+ VkComponentMapping components;
+ VkChromaLocation xChromaOffset;
+ VkChromaLocation yChromaOffset;
+ VkFilter chromaFilter;
+ VkBool32 forceExplicitReconstruction;
+} VkSamplerYcbcrConversionCreateInfo;
-typedef struct VkSparseImageFormatProperties2
+typedef struct VkSparseBufferMemoryBindInfo
{
- VkStructureType sType;
- void *pNext;
- VkSparseImageFormatProperties properties;
-} VkSparseImageFormatProperties2;
+ VkBuffer WINE_VK_ALIGN(8) buffer;
+ uint32_t bindCount;
+ const VkSparseMemoryBind *pBinds;
+} VkSparseBufferMemoryBindInfo;
-typedef struct VkSparseImageMemoryRequirements2
+typedef struct VkStencilOpState
+{
+ VkStencilOp failOp;
+ VkStencilOp passOp;
+ VkStencilOp depthFailOp;
+ VkCompareOp compareOp;
+ uint32_t compareMask;
+ uint32_t writeMask;
+ uint32_t reference;
+} VkStencilOpState;
+
+typedef struct VkSubpassSampleLocationsEXT
+{
+ uint32_t subpassIndex;
+ VkSampleLocationsInfoEXT sampleLocationsInfo;
+} VkSubpassSampleLocationsEXT;
+
+typedef struct VkSwapchainCreateInfoKHR
{
VkStructureType sType;
- void *pNext;
- VkSparseImageMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
-} VkSparseImageMemoryRequirements2;
+ const void *pNext;
+ VkSwapchainCreateFlagsKHR flags;
+ VkSurfaceKHR WINE_VK_ALIGN(8) surface;
+ uint32_t minImageCount;
+ VkFormat imageFormat;
+ VkColorSpaceKHR imageColorSpace;
+ VkExtent2D imageExtent;
+ uint32_t imageArrayLayers;
+ VkImageUsageFlags imageUsage;
+ VkSharingMode imageSharingMode;
+ uint32_t queueFamilyIndexCount;
+ const uint32_t *pQueueFamilyIndices;
+ VkSurfaceTransformFlagBitsKHR preTransform;
+ VkCompositeAlphaFlagBitsKHR compositeAlpha;
+ VkPresentModeKHR presentMode;
+ VkBool32 clipped;
+ VkSwapchainKHR WINE_VK_ALIGN(8) oldSwapchain;
+} VkSwapchainCreateInfoKHR;
-typedef struct VkViewportWScalingNV
+typedef struct VkWin32SurfaceCreateInfoKHR
{
- float xcoeff;
- float ycoeff;
-} VkViewportWScalingNV;
+ VkStructureType sType;
+ const void *pNext;
+ VkWin32SurfaceCreateFlagsKHR flags;
+ HINSTANCE hinstance;
+ HWND hwnd;
+} VkWin32SurfaceCreateInfoKHR;
typedef struct VkAccelerationStructureInfoNV
{
@@ -4643,21 +4768,25 @@ typedef struct VkClearAttachment
VkClearValue clearValue;
} VkClearAttachment;
-typedef struct VkDedicatedAllocationMemoryAllocateInfoNV
+typedef struct VkComputePipelineCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkImage WINE_VK_ALIGN(8) image;
- VkBuffer WINE_VK_ALIGN(8) buffer;
-} VkDedicatedAllocationMemoryAllocateInfoNV;
+ VkPipelineCreateFlags flags;
+ VkPipelineShaderStageCreateInfo WINE_VK_ALIGN(8) stage;
+ VkPipelineLayout WINE_VK_ALIGN(8) layout;
+ VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
+ int32_t basePipelineIndex;
+} VkComputePipelineCreateInfo;
-typedef struct VkDeviceGroupBindSparseInfo
+typedef struct VkDescriptorSetLayoutCreateInfo
{
VkStructureType sType;
const void *pNext;
- uint32_t resourceDeviceIndex;
- uint32_t memoryDeviceIndex;
-} VkDeviceGroupBindSparseInfo;
+ VkDescriptorSetLayoutCreateFlags flags;
+ uint32_t bindingCount;
+ const VkDescriptorSetLayoutBinding *pBindings;
+} VkDescriptorSetLayoutCreateInfo;
typedef struct VkExternalBufferProperties
{
@@ -4666,108 +4795,111 @@ typedef struct VkExternalBufferProperties
VkExternalMemoryProperties externalMemoryProperties;
} VkExternalBufferProperties;
-typedef struct VkFormatProperties2
+typedef struct VkFormatProperties
{
- VkStructureType sType;
- void *pNext;
- VkFormatProperties formatProperties;
-} VkFormatProperties2;
+ VkFormatFeatureFlags linearTilingFeatures;
+ VkFormatFeatureFlags optimalTilingFeatures;
+ VkFormatFeatureFlags bufferFeatures;
+} VkFormatProperties;
-typedef struct VkImageFormatListCreateInfoKHR
+typedef struct VkImageFormatProperties2
{
VkStructureType sType;
- const void *pNext;
- uint32_t viewFormatCount;
- const VkFormat *pViewFormats;
-} VkImageFormatListCreateInfoKHR;
+ void *pNext;
+ VkImageFormatProperties WINE_VK_ALIGN(8) imageFormatProperties;
+} VkImageFormatProperties2;
-typedef struct VkPhysicalDeviceExternalImageFormatInfo
+typedef struct VkMemoryHeap
{
- VkStructureType sType;
- const void *pNext;
- VkExternalMemoryHandleTypeFlagBits handleType;
-} VkPhysicalDeviceExternalImageFormatInfo;
+ VkDeviceSize WINE_VK_ALIGN(8) size;
+ VkMemoryHeapFlags flags;
+} VkMemoryHeap;
-typedef struct VkPhysicalDeviceMemoryProperties2
+typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkPhysicalDeviceMemoryProperties WINE_VK_ALIGN(8) memoryProperties;
-} VkPhysicalDeviceMemoryProperties2;
+ VkBool32 conditionalRendering;
+ VkBool32 inheritedConditionalRendering;
+} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
-typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV
+typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 shadingRateImage;
- VkBool32 shadingRateCoarseSampleOrder;
-} VkPhysicalDeviceShadingRateImageFeaturesNV;
+ VkExtent2D minFragmentDensityTexelSize;
+ VkExtent2D maxFragmentDensityTexelSize;
+ VkBool32 fragmentDensityInvocations;
+} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
-typedef struct VkPipelineLayoutCreateInfo
+typedef struct VkPhysicalDeviceMemoryProperties
{
- VkStructureType sType;
- const void *pNext;
- VkPipelineLayoutCreateFlags flags;
- uint32_t setLayoutCount;
- const VkDescriptorSetLayout *pSetLayouts;
- uint32_t pushConstantRangeCount;
- const VkPushConstantRange *pPushConstantRanges;
-} VkPipelineLayoutCreateInfo;
+ uint32_t memoryTypeCount;
+ VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
+ uint32_t memoryHeapCount;
+ VkMemoryHeap WINE_VK_ALIGN(8) memoryHeaps[VK_MAX_MEMORY_HEAPS];
+} VkPhysicalDeviceMemoryProperties;
-typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV
+typedef struct VkPhysicalDeviceProperties2
{
VkStructureType sType;
- const void *pNext;
- uint32_t exclusiveScissorCount;
- const VkRect2D *pExclusiveScissors;
-} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
+ void *pNext;
+ VkPhysicalDeviceProperties WINE_VK_ALIGN(8) properties;
+} VkPhysicalDeviceProperties2;
-typedef struct VkPresentRegionsKHR
+typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
{
VkStructureType sType;
- const void *pNext;
- uint32_t swapchainCount;
- const VkPresentRegionKHR *pRegions;
-} VkPresentRegionsKHR;
+ void *pNext;
+ VkBool32 vulkanMemoryModel;
+ VkBool32 vulkanMemoryModelDeviceScope;
+ VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
+} VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
-typedef struct VkRenderPassCreateInfo2KHR
+typedef struct VkPipelineSampleLocationsStateCreateInfoEXT
{
VkStructureType sType;
const void *pNext;
- VkRenderPassCreateFlags flags;
- uint32_t attachmentCount;
- const VkAttachmentDescription2KHR *pAttachments;
- uint32_t subpassCount;
- const VkSubpassDescription2KHR *pSubpasses;
- uint32_t dependencyCount;
- const VkSubpassDependency2KHR *pDependencies;
- uint32_t correlatedViewMaskCount;
- const uint32_t *pCorrelatedViewMasks;
-} VkRenderPassCreateInfo2KHR;
+ VkBool32 sampleLocationsEnable;
+ VkSampleLocationsInfoEXT sampleLocationsInfo;
+} VkPipelineSampleLocationsStateCreateInfoEXT;
-typedef struct VkSparseBufferMemoryBindInfo
+typedef struct VkPresentRegionKHR
{
- VkBuffer WINE_VK_ALIGN(8) buffer;
- uint32_t bindCount;
- const VkSparseMemoryBind *pBinds;
-} VkSparseBufferMemoryBindInfo;
+ uint32_t rectangleCount;
+ const VkRectLayerKHR *pRectangles;
+} VkPresentRegionKHR;
-typedef struct VkSubpassBeginInfoKHR
+typedef struct VkRect2D
{
- VkStructureType sType;
- const void *pNext;
- VkSubpassContents contents;
-} VkSubpassBeginInfoKHR;
+ VkOffset2D offset;
+ VkExtent2D extent;
+} VkRect2D;
-typedef struct VkWriteDescriptorSetInlineUniformBlockEXT
+typedef struct VkSubpassDescription2KHR
{
VkStructureType sType;
const void *pNext;
- uint32_t dataSize;
- const void *pData;
-} VkWriteDescriptorSetInlineUniformBlockEXT;
+ VkSubpassDescriptionFlags flags;
+ VkPipelineBindPoint pipelineBindPoint;
+ uint32_t viewMask;
+ uint32_t inputAttachmentCount;
+ const VkAttachmentReference2KHR *pInputAttachments;
+ uint32_t colorAttachmentCount;
+ const VkAttachmentReference2KHR *pColorAttachments;
+ const VkAttachmentReference2KHR *pResolveAttachments;
+ const VkAttachmentReference2KHR *pDepthStencilAttachment;
+ uint32_t preserveAttachmentCount;
+ const uint32_t *pPreserveAttachments;
+} VkSubpassDescription2KHR;
-typedef struct VkAccelerationStructureCreateInfoNV
+typedef struct VkVertexInputBindingDivisorDescriptionEXT
+{
+ uint32_t binding;
+ uint32_t divisor;
+} VkVertexInputBindingDivisorDescriptionEXT;
+
+typedef struct VkAccelerationStructureCreateInfoNV
{
VkStructureType sType;
const void *pNext;
@@ -4775,101 +4907,131 @@ typedef struct VkAccelerationStructureCreateInfoNV
VkAccelerationStructureInfoNV info;
} VkAccelerationStructureCreateInfoNV;
-typedef struct VkComponentMapping
+typedef struct VkBindImageMemoryDeviceGroupInfo
{
- VkComponentSwizzle r;
- VkComponentSwizzle g;
- VkComponentSwizzle b;
- VkComponentSwizzle a;
-} VkComponentMapping;
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t deviceIndexCount;
+ const uint32_t *pDeviceIndices;
+ uint32_t splitInstanceBindRegionCount;
+ const VkRect2D *pSplitInstanceBindRegions;
+} VkBindImageMemoryDeviceGroupInfo;
-typedef struct VkDescriptorSetLayoutCreateInfo
+typedef struct VkClearRect
+{
+ VkRect2D rect;
+ uint32_t baseArrayLayer;
+ uint32_t layerCount;
+} VkClearRect;
+
+typedef struct VkDeviceGroupBindSparseInfo
{
VkStructureType sType;
const void *pNext;
- VkDescriptorSetLayoutCreateFlags flags;
- uint32_t bindingCount;
- const VkDescriptorSetLayoutBinding *pBindings;
-} VkDescriptorSetLayoutCreateInfo;
+ uint32_t resourceDeviceIndex;
+ uint32_t memoryDeviceIndex;
+} VkDeviceGroupBindSparseInfo;
-typedef struct VkImagePlaneMemoryRequirementsInfo
+typedef struct VkExportFenceCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkImageAspectFlagBits planeAspect;
-} VkImagePlaneMemoryRequirementsInfo;
+ VkExternalFenceHandleTypeFlags handleTypes;
+} VkExportFenceCreateInfo;
-typedef struct VkMemoryDedicatedAllocateInfo
+typedef struct VkFormatProperties2
{
VkStructureType sType;
- const void *pNext;
- VkImage WINE_VK_ALIGN(8) image;
- VkBuffer WINE_VK_ALIGN(8) buffer;
-} VkMemoryDedicatedAllocateInfo;
+ void *pNext;
+ VkFormatProperties formatProperties;
+} VkFormatProperties2;
-typedef struct VkPhysicalDeviceImageFormatInfo2
+typedef struct VkImageSubresource
+{
+ VkImageAspectFlags aspectMask;
+ uint32_t mipLevel;
+ uint32_t arrayLayer;
+} VkImageSubresource;
+
+typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT
{
VkStructureType sType;
- const void *pNext;
- VkFormat format;
- VkImageType type;
- VkImageTiling tiling;
- VkImageUsageFlags usage;
- VkImageCreateFlags flags;
-} VkPhysicalDeviceImageFormatInfo2;
+ void *pNext;
+ VkDeviceSize WINE_VK_ALIGN(8) heapBudget[VK_MAX_MEMORY_HEAPS];
+ VkDeviceSize WINE_VK_ALIGN(8) heapUsage[VK_MAX_MEMORY_HEAPS];
+} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
-typedef struct VkPipelineColorBlendAttachmentState
+typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
{
- VkBool32 blendEnable;
- VkBlendFactor srcColorBlendFactor;
- VkBlendFactor dstColorBlendFactor;
- VkBlendOp colorBlendOp;
- VkBlendFactor srcAlphaBlendFactor;
- VkBlendFactor dstAlphaBlendFactor;
- VkBlendOp alphaBlendOp;
- VkColorComponentFlags colorWriteMask;
-} VkPipelineColorBlendAttachmentState;
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 imageFootprint;
+} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
-typedef struct VkPipelineShaderStageCreateInfo
+typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT
{
VkStructureType sType;
const void *pNext;
- VkPipelineShaderStageCreateFlags flags;
- VkShaderStageFlagBits stage;
- VkShaderModule WINE_VK_ALIGN(8) module;
- const char *pName;
- const VkSpecializationInfo *pSpecializationInfo;
-} VkPipelineShaderStageCreateInfo;
+ VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
+ VkDiscardRectangleModeEXT discardRectangleMode;
+ uint32_t discardRectangleCount;
+ const VkRect2D *pDiscardRectangles;
+} VkPipelineDiscardRectangleStateCreateInfoEXT;
-typedef struct VkQueueFamilyProperties2
+typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV
{
VkStructureType sType;
- void *pNext;
- VkQueueFamilyProperties queueFamilyProperties;
-} VkQueueFamilyProperties2;
+ const void *pNext;
+ uint32_t exclusiveScissorCount;
+ const VkRect2D *pExclusiveScissors;
+} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
-typedef struct VkSamplerYcbcrConversionCreateInfo
+typedef struct VkPresentRegionsKHR
{
VkStructureType sType;
const void *pNext;
- VkFormat format;
- VkSamplerYcbcrModelConversion ycbcrModel;
- VkSamplerYcbcrRange ycbcrRange;
- VkComponentMapping components;
- VkChromaLocation xChromaOffset;
- VkChromaLocation yChromaOffset;
- VkFilter chromaFilter;
- VkBool32 forceExplicitReconstruction;
-} VkSamplerYcbcrConversionCreateInfo;
+ uint32_t swapchainCount;
+ const VkPresentRegionKHR *pRegions;
+} VkPresentRegionsKHR;
-typedef struct VkValidationCacheCreateInfoEXT
+typedef struct VkRenderPassCreateInfo2KHR
{
VkStructureType sType;
const void *pNext;
- VkValidationCacheCreateFlagsEXT flags;
- size_t initialDataSize;
- const void *pInitialData;
-} VkValidationCacheCreateInfoEXT;
+ VkRenderPassCreateFlags flags;
+ uint32_t attachmentCount;
+ const VkAttachmentDescription2KHR *pAttachments;
+ uint32_t subpassCount;
+ const VkSubpassDescription2KHR *pSubpasses;
+ uint32_t dependencyCount;
+ const VkSubpassDependency2KHR *pDependencies;
+ uint32_t correlatedViewMaskCount;
+ const uint32_t *pCorrelatedViewMasks;
+} VkRenderPassCreateInfo2KHR;
+
+typedef struct VkSparseImageMemoryBind
+{
+ VkImageSubresource subresource;
+ VkOffset3D offset;
+ VkExtent3D extent;
+ VkDeviceMemory WINE_VK_ALIGN(8) memory;
+ VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
+ VkSparseMemoryBindFlags flags;
+} VkSparseImageMemoryBind;
+
+typedef struct VkSurfaceCapabilitiesKHR
+{
+ uint32_t minImageCount;
+ uint32_t maxImageCount;
+ VkExtent2D currentExtent;
+ VkExtent2D minImageExtent;
+ VkExtent2D maxImageExtent;
+ uint32_t maxImageArrayLayers;
+ VkSurfaceTransformFlagsKHR supportedTransforms;
+ VkSurfaceTransformFlagBitsKHR currentTransform;
+ VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
+ VkImageUsageFlags supportedUsageFlags;
+} VkSurfaceCapabilitiesKHR;
typedef struct VkAttachmentSampleLocationsEXT
{
@@ -4877,16 +5039,12 @@ typedef struct VkAttachmentSampleLocationsEXT
VkSampleLocationsInfoEXT sampleLocationsInfo;
} VkAttachmentSampleLocationsEXT;
-typedef struct VkComputePipelineCreateInfo
+typedef struct VkDedicatedAllocationImageCreateInfoNV
{
VkStructureType sType;
const void *pNext;
- VkPipelineCreateFlags flags;
- VkPipelineShaderStageCreateInfo WINE_VK_ALIGN(8) stage;
- VkPipelineLayout WINE_VK_ALIGN(8) layout;
- VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
- int32_t basePipelineIndex;
-} VkComputePipelineCreateInfo;
+ VkBool32 dedicatedAllocation;
+} VkDedicatedAllocationImageCreateInfoNV;
typedef struct VkExternalImageFormatProperties
{
@@ -4895,92 +5053,43 @@ typedef struct VkExternalImageFormatProperties
VkExternalMemoryProperties externalMemoryProperties;
} VkExternalImageFormatProperties;
-typedef struct VkImageViewCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkImageViewCreateFlags flags;
- VkImage WINE_VK_ALIGN(8) image;
- VkImageViewType viewType;
- VkFormat format;
- VkComponentMapping components;
- VkImageSubresourceRange subresourceRange;
-} VkImageViewCreateInfo;
-
-typedef struct VkPhysicalDeviceProperties
-{
- uint32_t apiVersion;
- uint32_t driverVersion;
- uint32_t vendorID;
- uint32_t deviceID;
- VkPhysicalDeviceType deviceType;
- char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
- uint8_t pipelineCacheUUID[VK_UUID_SIZE];
- VkPhysicalDeviceLimits WINE_VK_ALIGN(8) limits;
- VkPhysicalDeviceSparseProperties sparseProperties;
-} VkPhysicalDeviceProperties;
-
-typedef struct VkPipelineColorBlendStateCreateInfo
+typedef struct VkInstanceCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkPipelineColorBlendStateCreateFlags flags;
- VkBool32 logicOpEnable;
- VkLogicOp logicOp;
- uint32_t attachmentCount;
- const VkPipelineColorBlendAttachmentState *pAttachments;
- float blendConstants[4];
-} VkPipelineColorBlendStateCreateInfo;
+ VkInstanceCreateFlags flags;
+ const VkApplicationInfo *pApplicationInfo;
+ uint32_t enabledLayerCount;
+ const char * const*ppEnabledLayerNames;
+ uint32_t enabledExtensionCount;
+ const char * const*ppEnabledExtensionNames;
+} VkInstanceCreateInfo;
-typedef struct VkRayTracingPipelineCreateInfoNV
+typedef struct VkPhysicalDeviceMemoryProperties2
{
VkStructureType sType;
- const void *pNext;
- VkPipelineCreateFlags flags;
- uint32_t stageCount;
- const VkPipelineShaderStageCreateInfo *pStages;
- uint32_t groupCount;
- const VkRayTracingShaderGroupCreateInfoNV *pGroups;
- uint32_t maxRecursionDepth;
- VkPipelineLayout WINE_VK_ALIGN(8) layout;
- VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
- int32_t basePipelineIndex;
-} VkRayTracingPipelineCreateInfoNV;
-
-typedef struct VkSparseImageMemoryBind
-{
- VkImageSubresource subresource;
- VkOffset3D offset;
- VkExtent3D extent;
- VkDeviceMemory WINE_VK_ALIGN(8) memory;
- VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
- VkSparseMemoryBindFlags flags;
-} VkSparseImageMemoryBind;
+ void *pNext;
+ VkPhysicalDeviceMemoryProperties WINE_VK_ALIGN(8) memoryProperties;
+} VkPhysicalDeviceMemoryProperties2;
-typedef struct VkDeviceQueueInfo2
+typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT
{
VkStructureType sType;
const void *pNext;
- VkDeviceQueueCreateFlags flags;
- uint32_t queueFamilyIndex;
- uint32_t queueIndex;
-} VkDeviceQueueInfo2;
-
-typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT
-{
- VkStructureType sType;
- void *pNext;
- VkBool32 decodeModeSharedExponent;
-} VkPhysicalDeviceASTCDecodeFeaturesEXT;
+ uint32_t vertexBindingDivisorCount;
+ const VkVertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors;
+} VkPipelineVertexInputDivisorStateCreateInfoEXT;
-typedef struct VkPipelineViewportWScalingStateCreateInfoNV
+typedef struct VkRenderPassBeginInfo
{
VkStructureType sType;
const void *pNext;
- VkBool32 viewportWScalingEnable;
- uint32_t viewportCount;
- const VkViewportWScalingNV *pViewportWScalings;
-} VkPipelineViewportWScalingStateCreateInfoNV;
+ VkRenderPass WINE_VK_ALIGN(8) renderPass;
+ VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
+ VkRect2D renderArea;
+ uint32_t clearValueCount;
+ const VkClearValue *pClearValues;
+} VkRenderPassBeginInfo;
typedef struct VkSparseImageMemoryBindInfo
{
@@ -5005,12 +5114,48 @@ typedef struct VkBindSparseInfo
const VkSemaphore *pSignalSemaphores;
} VkBindSparseInfo;
-typedef struct VkPhysicalDeviceProperties2
+typedef struct VkPhysicalDeviceExternalFenceInfo
{
VkStructureType sType;
- void *pNext;
- VkPhysicalDeviceProperties WINE_VK_ALIGN(8) properties;
-} VkPhysicalDeviceProperties2;
+ const void *pNext;
+ VkExternalFenceHandleTypeFlagBits handleType;
+} VkPhysicalDeviceExternalFenceInfo;
+
+typedef struct VkPipelineViewportStateCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineViewportStateCreateFlags flags;
+ uint32_t viewportCount;
+ const VkViewport *pViewports;
+ uint32_t scissorCount;
+ const VkRect2D *pScissors;
+} VkPipelineViewportStateCreateInfo;
+
+typedef struct VkDeviceGroupRenderPassBeginInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t deviceMask;
+ uint32_t deviceRenderAreaCount;
+ const VkRect2D *pDeviceRenderAreas;
+} VkDeviceGroupRenderPassBeginInfo;
+
+typedef struct VkPipelineDepthStencilStateCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineDepthStencilStateCreateFlags flags;
+ VkBool32 depthTestEnable;
+ VkBool32 depthWriteEnable;
+ VkCompareOp depthCompareOp;
+ VkBool32 depthBoundsTestEnable;
+ VkBool32 stencilTestEnable;
+ VkStencilOpState front;
+ VkStencilOpState back;
+ float minDepthBounds;
+ float maxDepthBounds;
+} VkPipelineDepthStencilStateCreateInfo;
typedef struct VkGraphicsPipelineCreateInfo
{
@@ -5215,6 +5360,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice, VkDescriptorPoo
typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice, VkDeviceMemory, const VkAllocationCallbacks *);
typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice, VkAccelerationStructureNV, size_t, void *);
typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice, const VkAccelerationStructureMemoryRequirementsInfoNV *, VkMemoryRequirements2KHR *);
+typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice, const VkBufferDeviceAddressInfoEXT *);
typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements *);
typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
@@ -5467,6 +5613,7 @@ VkResult VKAPI_CALL vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descr
void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator);
VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void *pData);
void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV *pInfo, VkMemoryRequirements2KHR *pMemoryRequirements);
+VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(VkDevice device, const VkBufferDeviceAddressInfoEXT *pInfo);
void VKAPI_CALL vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements);
void VKAPI_CALL vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
diff --git a/include/wine/vulkan_driver.h b/include/wine/vulkan_driver.h
index a5bc50325c7d..02f504e9ae0a 100644
--- a/include/wine/vulkan_driver.h
+++ b/include/wine/vulkan_driver.h
@@ -3,7 +3,7 @@
* This file is generated from Vulkan vk.xml file covered
* by the following copyright and permission notice:
*
- * Copyright (c) 2015-2018 The Khronos Group Inc.
+ * Copyright (c) 2015-2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
--
2.19.2
2
1
1
0
Signed-off-by: Oliver Henning <oliver.henning(a)gmail.com>
---
po/de.po | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/po/de.po b/po/de.po
index af4b1b8679..7d94eacb00 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1633,7 +1633,7 @@ msgstr "Unternehmensstamm-OID"
#: crypt32.rc:122
msgid "Dummy Signer"
-msgstr "Attrapenunterzeichner"
+msgstr "Attrappenunterzeichner"
#: crypt32.rc:123
msgid "Encrypted Private Key"
@@ -2207,7 +2207,7 @@ msgstr "Zertifikatsspeicher wählen"
#: cryptui.rc:276
msgid "Select the certificate store you want to use:"
-msgstr "Zertifikatsspeicher wählen den Sie benutzen möchten:"
+msgstr "Zertifikatsspeicher wählen, den Sie benutzen möchten:"
#: cryptui.rc:279
msgid "&Show physical stores"
@@ -2436,7 +2436,7 @@ msgstr "&Verstärkte Sicherheit aktivieren"
#: cryptui.rc:427
msgid "Delete the private &key if the export is successful"
-msgstr "Priva&ten Schlüssel löschen wenn der Export erfolgreich war"
+msgstr "Priva&ten Schlüssel löschen, wenn der Export erfolgreich war"
#: cryptui.rc:444
msgid "Completing the Certificate Export Wizard"
@@ -2518,7 +2518,7 @@ msgstr "Dieses Zertifikat hat eine ungültige Signatur."
#: cryptui.rc:43
msgid "This certificate has expired or is not yet valid."
-msgstr "Dieses Zertifikat ist entweder abgelaufen, oder noch nicht gültig."
+msgstr "Dieses Zertifikat ist entweder abgelaufen oder noch nicht gültig."
#: cryptui.rc:44
msgid "This certificate's validity period exceeds that of its issuer."
@@ -16950,7 +16950,7 @@ msgstr "Die Datei konnte nicht gespeichert werden."
#: wordpad.rc:201
msgid "You do not have access to save the file."
msgstr ""
-"Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu speichern."
+"Sie haben keine ausreichende Zugriffsberechtigung, um die Datei zu speichern."
#: wordpad.rc:202
msgid "Could not open the file."
@@ -16959,7 +16959,7 @@ msgstr "Die Datei konnte nicht geöffnet werden."
#: wordpad.rc:203
msgid "You do not have access to open the file."
msgstr ""
-"Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu öffnen."
+"Sie haben keine ausreichende Zugriffsberechtigung, um die Datei zu öffnen."
#: wordpad.rc:204
msgid "Printing not implemented."
--
2.21.0.windows.1
1
0