FTEQW
Documentation of the FTE engine source tree.
vk_init.c File Reference

Functions

void VK_RegisterVulkanCvars (void)
 
void R2D_Console_Resize (void)
 
 VKFunc (CreateDebugUtilsMessengerEXT)
 
 while (0)
 
char * DebugAnnotObjectToString (VkObjectType t)
 
uint32_t vk_find_memory_try (uint32_t typeBits, VkFlags requirements_mask)
 
uint32_t vk_find_memory_require (uint32_t typeBits, VkFlags requirements_mask)
 
void VK_DestroyVkTexture (vk_image_t *img)
 
void VK_Draw_Init (void)
 
void VK_Draw_Shutdown (void)
 
void VK_CreateSamplerInfo (VkSamplerCreateInfo *info, vk_image_t *img)
 
void VK_CreateSampler (unsigned int flags, vk_image_t *img)
 
void VK_UpdateFiltering (image_t *imagelist, int filtermip[3], int filterpic[3], int mipcap[2], float lodbias, float anis)
 
qboolean VK_AllocatePoolMemory (uint32_t pooltype, VkDeviceSize memsize, VkDeviceSize poolalignment, vk_poolmem_t *mem)
 
void VK_ReleasePoolMemory (vk_poolmem_t *mem)
 
qboolean VK_AllocateImageMemory (VkImage image, qboolean dedicated, vk_poolmem_t *mem)
 
qboolean VK_AllocateBindImageMemory (vk_image_t *image, qboolean dedicated)
 
vk_image_t VK_CreateTexture2DArray (uint32_t width, uint32_t height, uint32_t layers, uint32_t mips, uploadfmt_t encoding, unsigned int type, qboolean rendertarget, const char *debugname)
 
void set_image_layout (VkCommandBuffer cmd, VkImage image, VkImageAspectFlags aspectMask, VkImageLayout old_image_layout, VkAccessFlags srcaccess, VkPipelineStageFlagBits srcstagemask, VkImageLayout new_image_layout, VkAccessFlags dstaccess, VkPipelineStageFlagBits dststagemask)
 
void VK_FencedCheck (void)
 
voidVK_FencedBegin (void(*passed)(void *work), size_t worksize)
 
void VK_FencedSubmit (void *work)
 
void VK_FencedSync (void *work)
 
voidVK_AtFrameEnd (void(*frameended)(void *work), void *workdata, size_t worksize)
 
qboolean VK_LoadTextureMips (texid_t tex, const struct pendingtextureinfo *mips)
 
void VK_DestroyTexture (texid_t tex)
 
void VK_R_Init (void)
 
void VK_R_DeInit (void)
 
void VK_SetupViewPortProjection (qboolean flipy, vec3_t *eyeangorg, float *fovoverrides)
 
void VK_Set2D (void)
 
void VK_R_RenderEye (texid_t image, vec4_t fovoverride, vec3_t eyeangorg[2])
 
void VK_R_RenderView (void)
 
void VKVID_QueueGetRGBData (void(*gotrgbdata)(void *rgbdata, intptr_t bytestride, size_t width, size_t height, enum uploadfmt fmt))
 
char * VKVID_GetRGBInfo (int *bytestride, int *truevidwidth, int *truevidheight, enum uploadfmt *fmt)
 
VkCommandBuffer VK_AllocFrameCBuf (void)
 
qboolean VK_SCR_GrabBackBuffer (void)
 
void VK_Presented (void *fw)
 
void VK_DebugFramerate (void)
 
qboolean VK_SCR_UpdateScreen (void)
 
void VKBE_RenderToTextureUpdate2d (qboolean destchanged)
 
VkRenderPass VK_GetRenderPass (int pass)
 
void VK_DoPresent (struct vkframe *theframe)
 
int VK_Submit_Thread (void *arg)
 
void VK_Submit_Work (VkCommandBuffer cmdbuf, VkSemaphore semwait, VkPipelineStageFlags semwaitstagemask, VkSemaphore semsignal, VkFence fencesignal, struct vkframe *presentframe, struct vk_fencework *fencedwork)
 
void VK_Submit_Sync (void)
 
void VK_CheckTextureFormats (void)
 
qboolean VK_CreateInstance (vrsetup_t *info, char *vrexts, void *result)
 
qboolean VK_EnumerateDevices (void *usercontext, void(*callback)(void *context, const char *devicename, const char *outputname, const char *desc), const char *descprefix, PFN_vkGetInstanceProcAddr vk_GetInstanceProcAddr)
 
qboolean VK_Init (rendererstate_t *info, const char **sysextnames, qboolean(*createSurface)(void), void(*dopresent)(struct vkframe *theframe))
 
void VK_Shutdown (void)
 

Variables

qboolean vid_isfullscreen
 
cvar_t vk_stagingbuffers = CVARFD ("vk_stagingbuffers", "", CVAR_RENDERERLATCH, "Configures which dynamic buffers are copied into gpu memory for rendering, instead of reading from shared memory. Empty for default settings.\nAccepted chars are u(niform), e(lements), v(ertex), 0(none).")
 
cvar_t vid_srgb
 
cvar_t vid_vsync
 
cvar_t vid_triplebuffer
 
cvar_t r_stereo_method
 
cvar_t vid_multisample
 
cvar_t vid_bpp
 
texid_t r_blackcubeimage
 
texid_t r_whitecubeimage
 
qboolean scr_con_forcedraw
 
const char * vklayerlist []
 

Function Documentation

◆ DebugAnnotObjectToString()

char * DebugAnnotObjectToString ( VkObjectType  t)

◆ R2D_Console_Resize()

void R2D_Console_Resize ( void  )

◆ set_image_layout()

void set_image_layout ( VkCommandBuffer  cmd,
VkImage  image,
VkImageAspectFlags  aspectMask,
VkImageLayout  old_image_layout,
VkAccessFlags  srcaccess,
VkPipelineStageFlagBits  srcstagemask,
VkImageLayout  new_image_layout,
VkAccessFlags  dstaccess,
VkPipelineStageFlagBits  dststagemask 
)

◆ VK_AllocateBindImageMemory()

qboolean VK_AllocateBindImageMemory ( vk_image_t image,
qboolean  dedicated 
)

◆ VK_AllocateImageMemory()

qboolean VK_AllocateImageMemory ( VkImage  image,
qboolean  dedicated,
vk_poolmem_t mem 
)

◆ VK_AllocatePoolMemory()

qboolean VK_AllocatePoolMemory ( uint32_t  pooltype,
VkDeviceSize  memsize,
VkDeviceSize  poolalignment,
vk_poolmem_t mem 
)

◆ VK_AllocFrameCBuf()

VkCommandBuffer VK_AllocFrameCBuf ( void  )

◆ VK_AtFrameEnd()

void * VK_AtFrameEnd ( void(*)(void *work)  frameended,
void workdata,
size_t  worksize 
)

◆ VK_CheckTextureFormats()

void VK_CheckTextureFormats ( void  )

◆ VK_CreateInstance()

qboolean VK_CreateInstance ( vrsetup_t info,
char *  vrexts,
void result 
)

◆ VK_CreateSampler()

void VK_CreateSampler ( unsigned int  flags,
vk_image_t img 
)

◆ VK_CreateSamplerInfo()

void VK_CreateSamplerInfo ( VkSamplerCreateInfo info,
vk_image_t img 
)

◆ VK_CreateTexture2DArray()

vk_image_t VK_CreateTexture2DArray ( uint32_t  width,
uint32_t  height,
uint32_t  layers,
uint32_t  mips,
uploadfmt_t  encoding,
unsigned int  type,
qboolean  rendertarget,
const char *  debugname 
)

◆ VK_DebugFramerate()

void VK_DebugFramerate ( void  )

◆ VK_DestroyTexture()

void VK_DestroyTexture ( texid_t  tex)

◆ VK_DestroyVkTexture()

void VK_DestroyVkTexture ( vk_image_t img)

◆ VK_DoPresent()

void VK_DoPresent ( struct vkframe *  theframe)

◆ VK_Draw_Init()

void VK_Draw_Init ( void  )

◆ VK_Draw_Shutdown()

void VK_Draw_Shutdown ( void  )

◆ VK_EnumerateDevices()

qboolean VK_EnumerateDevices ( void usercontext,
void(*)(void *context, const char *devicename, const char *outputname, const char *desc callback,
const char *  descprefix,
PFN_vkGetInstanceProcAddr  vk_GetInstanceProcAddr 
)

◆ VK_FencedBegin()

void * VK_FencedBegin ( void(*)(void *work)  passed,
size_t  worksize 
)

◆ VK_FencedCheck()

void VK_FencedCheck ( void  )

◆ VK_FencedSubmit()

void VK_FencedSubmit ( void work)

◆ VK_FencedSync()

void VK_FencedSync ( void work)

◆ vk_find_memory_require()

uint32_t vk_find_memory_require ( uint32_t  typeBits,
VkFlags  requirements_mask 
)

◆ vk_find_memory_try()

uint32_t vk_find_memory_try ( uint32_t  typeBits,
VkFlags  requirements_mask 
)

◆ VK_GetRenderPass()

VkRenderPass VK_GetRenderPass ( int  pass)

◆ VK_Init()

qboolean VK_Init ( rendererstate_t info,
const char **  sysextnames,
qboolean(*)(void createSurface,
void(*)(struct vkframe *theframe)  dopresent 
)

◆ VK_LoadTextureMips()

qboolean VK_LoadTextureMips ( texid_t  tex,
const struct pendingtextureinfo mips 
)

◆ VK_Presented()

void VK_Presented ( void fw)

◆ VK_R_DeInit()

void VK_R_DeInit ( void  )

◆ VK_R_Init()

void VK_R_Init ( void  )

◆ VK_R_RenderEye()

void VK_R_RenderEye ( texid_t  image,
vec4_t  fovoverride,
vec3_t  eyeangorg[2] 
)

◆ VK_R_RenderView()

void VK_R_RenderView ( void  )

◆ VK_RegisterVulkanCvars()

void VK_RegisterVulkanCvars ( void  )

◆ VK_ReleasePoolMemory()

void VK_ReleasePoolMemory ( vk_poolmem_t mem)

◆ VK_SCR_GrabBackBuffer()

qboolean VK_SCR_GrabBackBuffer ( void  )

◆ VK_SCR_UpdateScreen()

qboolean VK_SCR_UpdateScreen ( void  )

◆ VK_Set2D()

void VK_Set2D ( void  )

◆ VK_SetupViewPortProjection()

void VK_SetupViewPortProjection ( qboolean  flipy,
vec3_t eyeangorg,
float *  fovoverrides 
)

◆ VK_Shutdown()

void VK_Shutdown ( void  )

◆ VK_Submit_Sync()

void VK_Submit_Sync ( void  )

◆ VK_Submit_Thread()

int VK_Submit_Thread ( void arg)

◆ VK_Submit_Work()

void VK_Submit_Work ( VkCommandBuffer  cmdbuf,
VkSemaphore  semwait,
VkPipelineStageFlags  semwaitstagemask,
VkSemaphore  semsignal,
VkFence  fencesignal,
struct vkframe *  presentframe,
struct vk_fencework *  fencedwork 
)

◆ VK_UpdateFiltering()

void VK_UpdateFiltering ( image_t imagelist,
int  filtermip[3],
int  filterpic[3],
int  mipcap[2],
float  lodbias,
float  anis 
)

◆ VKBE_RenderToTextureUpdate2d()

void VKBE_RenderToTextureUpdate2d ( qboolean  destchanged)

◆ VKFunc()

VKFunc ( CreateDebugUtilsMessengerEXT  )

◆ VKVID_GetRGBInfo()

char * VKVID_GetRGBInfo ( int bytestride,
int truevidwidth,
int truevidheight,
enum uploadfmt fmt 
)

◆ VKVID_QueueGetRGBData()

void VKVID_QueueGetRGBData ( void(*)(void *rgbdata, intptr_t bytestride, size_t width, size_t height, enum uploadfmt fmt gotrgbdata)

◆ while()

while ( )

Variable Documentation

◆ r_blackcubeimage

texid_t r_blackcubeimage

◆ r_stereo_method

cvar_t r_stereo_method

◆ r_whitecubeimage

texid_t r_whitecubeimage

◆ scr_con_forcedraw

qboolean scr_con_forcedraw
extern

◆ vid_bpp

cvar_t vid_bpp

◆ vid_isfullscreen

qboolean vid_isfullscreen
extern

◆ vid_multisample

cvar_t vid_multisample

◆ vid_srgb

cvar_t vid_srgb
extern

◆ vid_triplebuffer

cvar_t vid_triplebuffer

◆ vid_vsync

cvar_t vid_vsync

◆ vk_stagingbuffers

cvar_t vk_stagingbuffers = CVARFD ("vk_stagingbuffers", "", CVAR_RENDERERLATCH, "Configures which dynamic buffers are copied into gpu memory for rendering, instead of reading from shared memory. Empty for default settings.\nAccepted chars are u(niform), e(lements), v(ertex), 0(none).")

◆ vklayerlist

const char* vklayerlist[]
Initial value:
=
{
#if 1
"VK_LAYER_KHRONOS_validation"
#elif 1
"VK_LAYER_LUNARG_standard_validation"
#else
"VK_LAYER_LUNARG_device_limits",
"VK_LAYER_LUNARG_image",
"VK_LAYER_LUNARG_object_tracker",
"VK_LAYER_LUNARG_param_checker",
"VK_LAYER_LUNARG_screenshot",
"VK_LAYER_LUNARG_swapchain",
"VK_LAYER_GOOGLE_threading",
"VK_LAYER_GOOGLE_unique_objects",
#endif
}