2021-11-21 13:40:11 -08:00
|
|
|
#pragma once
|
|
|
|
#include "vk_core.h"
|
2022-01-09 11:14:44 -08:00
|
|
|
#include "vk_devmem.h"
|
2021-11-21 13:40:11 -08:00
|
|
|
|
|
|
|
typedef struct {
|
2022-01-09 11:14:44 -08:00
|
|
|
vk_devmem_t devmem;
|
2021-11-21 13:40:11 -08:00
|
|
|
VkImage image;
|
|
|
|
VkImageView view;
|
|
|
|
|
|
|
|
uint32_t width, height;
|
|
|
|
int mips;
|
|
|
|
} xvk_image_t;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
const char *debug_name;
|
|
|
|
uint32_t width, height;
|
2021-11-21 14:53:51 -08:00
|
|
|
int mips, layers;
|
2021-11-21 13:40:11 -08:00
|
|
|
VkFormat format;
|
|
|
|
VkImageTiling tiling;
|
|
|
|
VkImageUsageFlags usage;
|
|
|
|
qboolean has_alpha;
|
2021-11-21 14:53:51 -08:00
|
|
|
qboolean is_cubemap;
|
2022-02-05 13:31:04 -08:00
|
|
|
VkMemoryPropertyFlags memory_props;
|
2021-11-21 13:40:11 -08:00
|
|
|
} xvk_image_create_t;
|
|
|
|
|
|
|
|
xvk_image_t XVK_ImageCreate(const xvk_image_create_t *create);
|
|
|
|
void XVK_ImageDestroy(xvk_image_t *img);
|