libs/vkd3d: Introduce resource flags.

This commit is contained in:
Józef Kucia 2016-10-25 13:23:18 +02:00
parent 0d1550788e
commit b011f0b972
2 changed files with 6 additions and 4 deletions

View File

@ -328,7 +328,7 @@ static void d3d12_resource_destroy(struct d3d12_resource *resource, struct d3d12
{ {
const struct vkd3d_vk_device_procs *vk_procs = &device->vk_procs; const struct vkd3d_vk_device_procs *vk_procs = &device->vk_procs;
if (resource->external) if (resource->flags & VKD3D_RESOURCE_EXTERNAL)
return; return;
switch (resource->desc.Dimension) switch (resource->desc.Dimension)
@ -670,7 +670,7 @@ static HRESULT d3d12_committed_resource_init(struct d3d12_resource *resource, st
if (optimized_clear_value) if (optimized_clear_value)
FIXME("Ignoring optimized clear value.\n"); FIXME("Ignoring optimized clear value.\n");
resource->external = false; resource->flags = 0;
switch (desc->Dimension) switch (desc->Dimension)
{ {
@ -753,7 +753,7 @@ HRESULT vkd3d_create_image_resource(ID3D12Device *device, const D3D12_RESOURCE_D
object->desc = *desc; object->desc = *desc;
object->u.vk_image = vk_image; object->u.vk_image = vk_image;
object->vk_memory = VK_NULL_HANDLE; object->vk_memory = VK_NULL_HANDLE;
object->external = true; object->flags = VKD3D_RESOURCE_EXTERNAL;
object->map_count = 0; object->map_count = 0;
object->map_data = NULL; object->map_data = NULL;
memset(&object->heap_properties, 0, sizeof(object->heap_properties)); memset(&object->heap_properties, 0, sizeof(object->heap_properties));

View File

@ -114,6 +114,8 @@ struct d3d12_fence
HRESULT d3d12_fence_create(struct d3d12_device *device, HRESULT d3d12_fence_create(struct d3d12_device *device,
UINT64 initial_value, D3D12_FENCE_FLAGS flags, struct d3d12_fence **fence) DECLSPEC_HIDDEN; UINT64 initial_value, D3D12_FENCE_FLAGS flags, struct d3d12_fence **fence) DECLSPEC_HIDDEN;
#define VKD3D_RESOURCE_EXTERNAL 0x00000001
/* ID3D12Resource */ /* ID3D12Resource */
struct d3d12_resource struct d3d12_resource
{ {
@ -129,7 +131,7 @@ struct d3d12_resource
VkImage vk_image; VkImage vk_image;
} u; } u;
VkDeviceMemory vk_memory; VkDeviceMemory vk_memory;
bool external; unsigned int flags;
unsigned int map_count; unsigned int map_count;
void *map_data; void *map_data;