109 lines
4 KiB
C
109 lines
4 KiB
C
|
#ifndef R_CONFIG_H
|
||
|
#define R_CONFIG_H
|
||
|
|
||
|
// TODO: See if we can generate this from zig, or pass this to zig... avoid duplication.
|
||
|
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
// number of swapchain images
|
||
|
#define R_MaxSwapchainLen (3)
|
||
|
#define R_DesiredSwapchainLen (2)
|
||
|
// number of resources for dynamic buffers and images
|
||
|
#define R_ResourceSets (2)
|
||
|
#define R_CmdsPerQueue (64)
|
||
|
|
||
|
#define R_AnisotropySamples (4)
|
||
|
|
||
|
// ----------------------------------------------------------------------------
|
||
|
// resource bindings
|
||
|
|
||
|
// texture tables
|
||
|
|
||
|
#define bid_TextureTable1D (0)
|
||
|
#define bid_TextureTable1D_TYPE (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)
|
||
|
#define bid_TextureTable1D_COUNT (64)
|
||
|
#define bid_TextureTable1D_STAGES (VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_TextureTable2D (bid_TextureTable1D + 1)
|
||
|
#define bid_TextureTable2D_TYPE (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)
|
||
|
#define bid_TextureTable2D_COUNT (512)
|
||
|
#define bid_TextureTable2D_STAGES (VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_TextureTable3D (bid_TextureTable2D + 1)
|
||
|
#define bid_TextureTable3D_TYPE (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)
|
||
|
#define bid_TextureTable3D_COUNT (64)
|
||
|
#define bid_TextureTable3D_STAGES (VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_TextureTableCube (bid_TextureTable3D + 1)
|
||
|
#define bid_TextureTableCube_TYPE (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)
|
||
|
#define bid_TextureTableCube_COUNT (64)
|
||
|
#define bid_TextureTableCube_STAGES (VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_TextureTable2DArray (bid_TextureTableCube + 1)
|
||
|
#define bid_TextureTable2DArray_TYPE (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)
|
||
|
#define bid_TextureTable2DArray_COUNT (64)
|
||
|
#define bid_TextureTable2DArray_STAGES (VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
// loose bindings
|
||
|
|
||
|
#define bid_Globals (bid_TextureTable2DArray + 1)
|
||
|
#define bid_Globals_TYPE (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER)
|
||
|
#define bid_Globals_STAGES (VK_SHADER_STAGE_ALL)
|
||
|
|
||
|
#define bid_SceneLuminance (bid_Globals + 1)
|
||
|
#define bid_SceneLuminance_TYPE (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)
|
||
|
#define bid_SceneLuminance_STAGES (VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_RWSceneLuminance (bid_SceneLuminance + 1)
|
||
|
#define bid_RWSceneLuminance_TYPE (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE)
|
||
|
#define bid_RWSceneLuminance_STAGES (VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_HistogramBuffer (bid_RWSceneLuminance + 1)
|
||
|
#define bid_HistogramBuffer_TYPE (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)
|
||
|
#define bid_HistogramBuffer_STAGES (VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_ExposureBuffer (bid_HistogramBuffer + 1)
|
||
|
#define bid_ExposureBuffer_TYPE (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)
|
||
|
#define bid_ExposureBuffer_STAGES (VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT)
|
||
|
|
||
|
#define bid_COUNT (bid_ExposureBuffer + 1)
|
||
|
|
||
|
// descriptor pool sizes
|
||
|
|
||
|
// bid_Globals
|
||
|
#define DescPool_UniformBuffer_COUNT (1)
|
||
|
|
||
|
// bid_RWSceneLuminance
|
||
|
#define DescPool_StorageImage_COUNT (1)
|
||
|
|
||
|
// bid_HistogramBuffer
|
||
|
// bid_ExposureBuffer
|
||
|
#define DescPool_StorageBuffer_COUNT (2)
|
||
|
|
||
|
// bid_TextureTable1D
|
||
|
// bid_TextureTable2D
|
||
|
// bid_TextureTable3D
|
||
|
// bid_TextureTableCube
|
||
|
// bid_TextureTable2DArray
|
||
|
// bid_SceneLuminance
|
||
|
#define DescPool_CombinedImageSampler_COUNT (\
|
||
|
bid_TextureTable1D_COUNT + \
|
||
|
bid_TextureTable2D_COUNT + \
|
||
|
bid_TextureTable3D_COUNT + \
|
||
|
bid_TextureTableCube_COUNT + \
|
||
|
bid_TextureTable2DArray_COUNT + \
|
||
|
bid_SceneLuminance)
|
||
|
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
// colorspace
|
||
|
//#define COLOR_SCENE_REC709 1
|
||
|
//#define COLOR_SCENE_REC2020 1
|
||
|
#define COLOR_SCENE_AP1 1
|
||
|
//#define COLOR_SCENE_AP0 1
|
||
|
|
||
|
// packed emission range
|
||
|
#define kEmissionScale 100.0f
|
||
|
|
||
|
#endif // R_CONFIG_H
|