vkd3d: Remove type/next from vkd3d device/instance structures

There's really no reason to overcomplicate adding optional extensions this way.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
Joshua Ashton 2021-04-19 17:17:13 +01:00 committed by Hans-Kristian Arntzen
parent bd988f2b74
commit 3e4a8b1504
9 changed files with 0 additions and 76 deletions

View File

@ -493,8 +493,6 @@ static inline struct demo_swapchain *demo_swapchain_create(ID3D12CommandQueue *c
WaitForFences(vk_device, 1, &vk_fence, VK_TRUE, UINT64_MAX);
ResetFences(vk_device, 1, &vk_fence);
resource_create_info.type = VKD3D_STRUCTURE_TYPE_IMAGE_RESOURCE_CREATE_INFO;
resource_create_info.next = NULL;
resource_create_info.desc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
resource_create_info.desc.Alignment = 0;
resource_create_info.desc.Width = desc->width;

View File

@ -69,16 +69,6 @@ enum vkd3d_config_flags
VKD3D_CONFIG_FLAG_FORCE_TGSM_BARRIERS = 0x00000040,
};
enum vkd3d_structure_type
{
/* 1.0 */
VKD3D_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
VKD3D_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
VKD3D_STRUCTURE_TYPE_IMAGE_RESOURCE_CREATE_INFO,
VKD3D_FORCE_32_BIT_ENUM(VKD3D_STRUCTURE_TYPE),
};
typedef HRESULT (*PFN_vkd3d_signal_event)(HANDLE event);
typedef void * (*PFN_vkd3d_thread)(void *data);
@ -90,9 +80,6 @@ struct vkd3d_instance;
struct vkd3d_instance_create_info
{
enum vkd3d_structure_type type;
const void *next;
PFN_vkd3d_signal_event pfn_signal_event;
PFN_vkd3d_create_thread pfn_create_thread;
PFN_vkd3d_join_thread pfn_join_thread;
@ -109,9 +96,6 @@ struct vkd3d_instance_create_info
struct vkd3d_device_create_info
{
enum vkd3d_structure_type type;
const void *next;
D3D_FEATURE_LEVEL minimum_feature_level;
struct vkd3d_instance *instance;
@ -131,9 +115,6 @@ struct vkd3d_device_create_info
struct vkd3d_image_resource_create_info
{
enum vkd3d_structure_type type;
const void *next;
VkImage vk_image;
D3D12_RESOURCE_DESC desc;
unsigned int flags;

View File

@ -293,8 +293,6 @@ HRESULT WINAPI DLLEXPORT D3D12CreateDevice(IUnknown *adapter, D3D_FEATURE_LEVEL
goto done;
}
instance_create_info.type = VKD3D_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
instance_create_info.next = NULL;
instance_create_info.pfn_signal_event = d3d12_signal_event;
instance_create_info.pfn_create_thread = d3d12_create_thread;
instance_create_info.pfn_join_thread = d3d12_join_thread;
@ -310,8 +308,6 @@ HRESULT WINAPI DLLEXPORT D3D12CreateDevice(IUnknown *adapter, D3D_FEATURE_LEVEL
goto done;
}
device_create_info.type = VKD3D_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
device_create_info.next = NULL;
device_create_info.minimum_feature_level = minimum_feature_level;
device_create_info.instance = instance;
device_create_info.instance_create_info = NULL;

View File

@ -55,8 +55,6 @@ VKD3D_UTILS_EXPORT HRESULT WINAPI D3D12CreateDevice(IUnknown *adapter,
FIXME("Ignoring adapter %p.\n", adapter);
memset(&instance_create_info, 0, sizeof(instance_create_info));
instance_create_info.type = VKD3D_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
instance_create_info.next = NULL;
instance_create_info.pfn_signal_event = vkd3d_signal_event;
instance_create_info.instance_extensions = instance_extensions;
instance_create_info.instance_extension_count = ARRAY_SIZE(instance_extensions);
@ -64,8 +62,6 @@ VKD3D_UTILS_EXPORT HRESULT WINAPI D3D12CreateDevice(IUnknown *adapter,
instance_create_info.optional_instance_extension_count = ARRAY_SIZE(optional_instance_extensions);
memset(&device_create_info, 0, sizeof(device_create_info));
device_create_info.type = VKD3D_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
device_create_info.next = NULL;
device_create_info.minimum_feature_level = minimum_feature_level;
device_create_info.instance_create_info = &instance_create_info;
device_create_info.device_extensions = device_extensions;

View File

@ -29,27 +29,6 @@
#include "vkd3d_descriptor_debug.h"
#endif
struct vkd3d_struct
{
enum vkd3d_structure_type type;
const void *next;
};
#define vkd3d_find_struct(c, t) vkd3d_find_struct_(c, VKD3D_STRUCTURE_TYPE_##t)
static const void *vkd3d_find_struct_(const struct vkd3d_struct *chain,
enum vkd3d_structure_type type)
{
while (chain)
{
if (chain->type == type)
return chain;
chain = chain->next;
}
return NULL;
}
static uint32_t vkd3d_get_vk_version(void)
{
int major, minor, patch;
@ -700,11 +679,6 @@ VKD3D_EXPORT HRESULT vkd3d_create_instance(const struct vkd3d_instance_create_in
if (!create_info || !instance)
return E_INVALIDARG;
if (create_info->type != VKD3D_STRUCTURE_TYPE_INSTANCE_CREATE_INFO)
{
WARN("Invalid structure type %#x.\n", create_info->type);
return E_INVALIDARG;
}
if (!(object = vkd3d_malloc(sizeof(*object))))
return E_OUTOFMEMORY;

View File

@ -2632,13 +2632,6 @@ VKD3D_EXPORT HRESULT vkd3d_create_image_resource(ID3D12Device *device,
if (!create_info || !resource)
return E_INVALIDARG;
if (create_info->type != VKD3D_STRUCTURE_TYPE_IMAGE_RESOURCE_CREATE_INFO)
{
WARN("Invalid structure type %#x.\n", create_info->type);
return E_INVALIDARG;
}
if (create_info->next)
WARN("Unhandled next %p.\n", create_info->next);
if (!(object = vkd3d_malloc(sizeof(*object))))
return E_OUTOFMEMORY;

View File

@ -32,11 +32,6 @@ VKD3D_EXPORT HRESULT vkd3d_create_device(const struct vkd3d_device_create_info *
if (!create_info)
return E_INVALIDARG;
if (create_info->type != VKD3D_STRUCTURE_TYPE_DEVICE_CREATE_INFO)
{
WARN("Invalid structure type %#x.\n", create_info->type);
return E_INVALIDARG;
}
if (!create_info->instance && !create_info->instance_create_info)
{
ERR("Instance or instance create info is required.\n");

View File

@ -490,7 +490,6 @@ static bool check_device_extension(VkInstance instance, VkPhysicalDevice vk_phys
static HRESULT create_vkd3d_instance(struct vkd3d_instance **instance)
{
struct vkd3d_instance_create_info instance_create_info = {
.type = VKD3D_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
.pfn_signal_event = vkd3d_signal_event,
};
@ -547,8 +546,6 @@ static HRESULT create_vkd3d_device(struct vkd3d_instance *instance,
return E_INVALIDARG;
memset(&device_create_info, 0, sizeof(device_create_info));
device_create_info.type = VKD3D_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
device_create_info.next = NULL;
device_create_info.minimum_feature_level = minimum_feature_level;
device_create_info.instance = instance;
device_create_info.vk_physical_device = vk_physical_device;

View File

@ -60,13 +60,11 @@ static HRESULT signal_event(HANDLE event)
static const struct vkd3d_instance_create_info instance_default_create_info =
{
.type = VKD3D_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
.pfn_signal_event = signal_event,
};
static const struct vkd3d_device_create_info device_default_create_info =
{
.type = VKD3D_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
.minimum_feature_level = D3D_FEATURE_LEVEL_11_0,
.instance_create_info = &instance_default_create_info,
};
@ -863,8 +861,6 @@ static void test_external_resource_map(void)
vk_memory = allocate_vulkan_image_memory(device,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, vk_image);
resource_create_info.type = VKD3D_STRUCTURE_TYPE_IMAGE_RESOURCE_CREATE_INFO;
resource_create_info.next = NULL;
resource_create_info.vk_image = vk_image;
resource_create_info.desc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
resource_create_info.desc.Alignment = 0;
@ -940,8 +936,6 @@ static void test_external_resource_present_state(void)
vk_memory = allocate_vulkan_image_memory(device,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, vk_image);
resource_create_info.type = VKD3D_STRUCTURE_TYPE_IMAGE_RESOURCE_CREATE_INFO;
resource_create_info.next = NULL;
resource_create_info.vk_image = vk_image;
resource_create_info.desc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
resource_create_info.desc.Alignment = 0;