Adding interface for renderpass layout transitions

This commit is contained in:
Dynamitos
2024-01-31 09:49:53 +01:00
parent 1bf08f696b
commit 5678021c9e
34 changed files with 616 additions and 184 deletions
+15 -13
View File
@@ -165,7 +165,6 @@ typedef uint32 KeyModifierFlags;
namespace Gfx
{
static constexpr bool useAsyncCompute = true;
static constexpr bool waitIdleOnSubmit = false;
static constexpr bool useMeshShading = true;
static constexpr uint32 numFramesBuffered = 3;
@@ -173,6 +172,7 @@ static constexpr uint32 numFramesBuffered = 3;
static constexpr uint32 numVerticesPerMeshlet = 64;
static constexpr uint32 numPrimitivesPerMeshlet = 126;
double getCurrentFrameDelta();
uint32 getCurrentFrameIndex();
enum class QueueType
{
@@ -1670,7 +1670,7 @@ typedef enum SeDeviceQueueCreateFlagBits
typedef SeFlags SeDeviceQueueCreateFlags;
typedef enum SePipelineStageFlagBits
{
{
SE_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
SE_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
SE_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
@@ -1688,15 +1688,16 @@ typedef enum SePipelineStageFlagBits
SE_PIPELINE_STAGE_HOST_BIT = 0x00004000,
SE_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
SE_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
SE_PIPELINE_STAGE_NONE = 0,
SE_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
SE_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
SE_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
SE_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
SE_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 0x00200000,
SE_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000,
SE_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
SE_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
SE_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
SE_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
SE_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
SE_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
SE_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
SE_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000,
SE_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000,
SE_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} SePipelineStageFlagBits;
typedef SeFlags SePipelineStageFlags;
@@ -1969,17 +1970,18 @@ typedef enum SeAccessFlagBits
SE_ACCESS_HOST_WRITE_BIT = 0x00004000,
SE_ACCESS_MEMORY_READ_BIT = 0x00008000,
SE_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
SE_ACCESS_NONE = 0,
SE_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
SE_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
SE_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
SE_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
SE_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,
SE_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
SE_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
SE_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
SE_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000,
SE_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000,
SE_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
SE_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
SE_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
SE_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
SE_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
SE_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
SE_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} SeAccessFlagBits;
typedef SeFlags SeAccessFlags;