From 52dcae5ec7a176e343950b531be92187d3a5d591 Mon Sep 17 00:00:00 2001 From: assiduous Date: Mon, 25 Jan 2021 13:42:02 -0800 Subject: GraphicsAccessories: added PipelineTypeFromShaderStages function --- Graphics/GraphicsEngine/interface/PipelineState.h | 4 +++- Graphics/GraphicsEngine/interface/Shader.h | 22 ++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) (limited to 'Graphics/GraphicsEngine') diff --git a/Graphics/GraphicsEngine/interface/PipelineState.h b/Graphics/GraphicsEngine/interface/PipelineState.h index 5e2aa72b..90f54ebc 100644 --- a/Graphics/GraphicsEngine/interface/PipelineState.h +++ b/Graphics/GraphicsEngine/interface/PipelineState.h @@ -302,7 +302,9 @@ DILIGENT_TYPED_ENUM(PIPELINE_TYPE, Uint8) /// Ray tracing pipeline, which is used by IDeviceContext::TraceRays(). PIPELINE_TYPE_RAY_TRACING, - PIPELINE_TYPE_LAST = PIPELINE_TYPE_RAY_TRACING + PIPELINE_TYPE_LAST = PIPELINE_TYPE_RAY_TRACING, + + PIPELINE_TYPE_INVALID = 0xFF }; diff --git a/Graphics/GraphicsEngine/interface/Shader.h b/Graphics/GraphicsEngine/interface/Shader.h index e7694ca4..28207960 100644 --- a/Graphics/GraphicsEngine/interface/Shader.h +++ b/Graphics/GraphicsEngine/interface/Shader.h @@ -60,11 +60,29 @@ DILIGENT_TYPED_ENUM(SHADER_TYPE, Uint32) SHADER_TYPE_RAY_ANY_HIT = 0x0800, ///< Ray any hit shader SHADER_TYPE_RAY_INTERSECTION = 0x1000, ///< Ray intersection shader SHADER_TYPE_CALLABLE = 0x2000, ///< Callable shader - SHADER_TYPE_LAST = SHADER_TYPE_CALLABLE + SHADER_TYPE_LAST = SHADER_TYPE_CALLABLE, + + /// All graphics pipeline shader stages + SHADER_TYPE_ALL_GRAPHICS = SHADER_TYPE_VERTEX | + SHADER_TYPE_PIXEL | + SHADER_TYPE_GEOMETRY | + SHADER_TYPE_HULL | + SHADER_TYPE_DOMAIN, + + /// All mesh shading pipeline stages + SHADER_TYPE_ALL_MESH = SHADER_TYPE_AMPLIFICATION | + SHADER_TYPE_MESH, + + /// All ray-tracing pipeline shader stages + SHADER_TYPE_ALL_RAY_TRACING = SHADER_TYPE_RAY_GEN | + SHADER_TYPE_RAY_MISS | + SHADER_TYPE_RAY_CLOSEST_HIT | + SHADER_TYPE_RAY_ANY_HIT | + SHADER_TYPE_RAY_INTERSECTION | + SHADER_TYPE_CALLABLE }; DEFINE_FLAG_ENUM_OPERATORS(SHADER_TYPE); - /// Describes the shader source code language DILIGENT_TYPED_ENUM(SHADER_SOURCE_LANGUAGE, Uint32) { -- cgit v1.2.3