[vulkan] Use the previously existing tex_t formats

I'd forgotten we had these (though direct GL_* was used).
This commit is contained in:
Bill Currie 2021-01-16 15:39:36 +09:00
parent fa6ff04c5a
commit f3695ec3dd
3 changed files with 11 additions and 13 deletions

View file

@ -1,17 +1,12 @@
#ifndef __QF_Vulkan_texture_h #ifndef __QF_Vulkan_texture_h
#define __QF_Vulkan_texture_h #define __QF_Vulkan_texture_h
typedef enum { #include "QF/image.h"
QFV_LUMINANCE,
QFV_LUMINANCE_ALPHA,
QFV_RGB,
QFV_RGBA,
} QFVFormat;
typedef struct scrap_s scrap_t; typedef struct scrap_s scrap_t;
scrap_t *QFV_CreateScrap (struct qfv_device_s *device, int size, scrap_t *QFV_CreateScrap (struct qfv_device_s *device, int size,
QFVFormat format); QFFormat format);
void QFV_ScrapClear (scrap_t *scrap); void QFV_ScrapClear (scrap_t *scrap);
void QFV_DestroyScrap (scrap_t *scrap); void QFV_DestroyScrap (scrap_t *scrap);
VkImageView QFV_ScrapImageView (scrap_t *scrap) __attribute__((pure)); VkImageView QFV_ScrapImageView (scrap_t *scrap) __attribute__((pure));

View file

@ -42,6 +42,7 @@
#include "QF/cvar.h" #include "QF/cvar.h"
#include "QF/dstring.h" #include "QF/dstring.h"
#include "QF/hash.h" #include "QF/hash.h"
#include "QF/image.h"
#include "QF/qfplist.h" #include "QF/qfplist.h"
#include "QF/quakefs.h" #include "QF/quakefs.h"
#include "QF/render.h" #include "QF/render.h"
@ -75,25 +76,27 @@ struct scrap_s {
}; };
scrap_t * scrap_t *
QFV_CreateScrap (qfv_device_t *device, int size, QFVFormat format) QFV_CreateScrap (qfv_device_t *device, int size, QFFormat format)
{ {
int bpp = 0; int bpp = 0;
VkFormat fmt = VK_FORMAT_UNDEFINED; VkFormat fmt = VK_FORMAT_UNDEFINED;
switch (format) { switch (format) {
case QFV_LUMINANCE: case tex_l:
case tex_a:
case tex_palette:
bpp = 1; bpp = 1;
fmt = VK_FORMAT_R8_UNORM; fmt = VK_FORMAT_R8_UNORM;
break; break;
case QFV_LUMINANCE_ALPHA: case tex_la:
bpp = 2; bpp = 2;
fmt = VK_FORMAT_R8G8_UNORM; fmt = VK_FORMAT_R8G8_UNORM;
break; break;
case QFV_RGB: case tex_rgb:
bpp = 3; bpp = 3;
fmt = VK_FORMAT_R8G8B8_UNORM; fmt = VK_FORMAT_R8G8B8_UNORM;
break; break;
case QFV_RGBA: case tex_rgba:
bpp = 4; bpp = 4;
fmt = VK_FORMAT_R8G8B8A8_UNORM; fmt = VK_FORMAT_R8G8B8A8_UNORM;
break; break;

View file

@ -367,7 +367,7 @@ Vulkan_Draw_Init (vulkan_ctx_t *ctx)
0, 0); 0, 0);
create_quad_buffers (ctx); create_quad_buffers (ctx);
dctx->scrap = QFV_CreateScrap (device, 2048, QFV_RGBA); dctx->scrap = QFV_CreateScrap (device, 2048, tex_rgba);
dctx->stage = QFV_CreateStagingBuffer (device, 4 * 1024 * 1024, 4, dctx->stage = QFV_CreateStagingBuffer (device, 4 * 1024 * 1024, 4,
ctx->cmdpool); ctx->cmdpool);
dctx->sampler = QFV_GetSampler (ctx, "quakepic"); dctx->sampler = QFV_GetSampler (ctx, "quakepic");