Skip to content
Snippets Groups Projects
Verified Commit a8d661b2 authored by Tobias Frisch's avatar Tobias Frisch
Browse files

Update Vulkan and VMA headers, fix issue in RTX project and adjust shader stage flags

parent d7d49aa2
No related branches found
No related tags found
No related merge requests found
...@@ -14,48 +14,51 @@ namespace vkcv { ...@@ -14,48 +14,51 @@ namespace vkcv {
* @brief Enum class to specify the stage of a shader. * @brief Enum class to specify the stage of a shader.
*/ */
enum class ShaderStage : VkShaderStageFlags { enum class ShaderStage : VkShaderStageFlags {
VERTEX = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eVertex), VERTEX = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eVertex),
TESS_CONTROL = TESS_CONTROL =
static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eTessellationControl), static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eTessellationControl),
TESS_EVAL = TESS_EVAL =
static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eTessellationEvaluation), static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eTessellationEvaluation),
GEOMETRY = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eGeometry), GEOMETRY = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eGeometry),
FRAGMENT = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eFragment), FRAGMENT = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eFragment),
COMPUTE = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eCompute), COMPUTE = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eCompute),
TASK = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eTaskNV), TASK = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eTaskNV),
MESH = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eMeshNV), MESH = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eMeshNV),
RAY_GEN = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eRaygenKHR), RAY_GEN = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eRaygenKHR),
RAY_ANY_HIT = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eAnyHitKHR), RAY_ANY_HIT = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eAnyHitKHR),
RAY_CLOSEST_HIT = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eClosestHitKHR), RAY_CLOSEST_HIT = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eClosestHitKHR),
RAY_MISS = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eMissKHR), RAY_MISS = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eMissKHR),
RAY_INTERSECTION = RAY_INTERSECTION =
static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eIntersectionKHR), static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eIntersectionKHR),
RAY_CALLABLE = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eCallableKHR) RAY_CALLABLE = static_cast<VkShaderStageFlags>(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eCallableKHR)
}; };
using ShaderStages = vk::Flags<ShaderStage>; using ShaderStages = VULKAN_HPP_NAMESPACE::Flags<ShaderStage>;
} // namespace vkcv } // namespace vkcv
/** /**
* @cond VULKAN_TYPES * @cond VULKAN_TYPES
*/ */
namespace vk { namespace VULKAN_HPP_NAMESPACE {
template <> template <>
struct [[maybe_unused]] FlagTraits<vkcv::ShaderStage> { struct [[maybe_unused]] FlagTraits<vkcv::ShaderStage> {
enum : VkFlags { static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
allFlags [[maybe_unused]] = static VULKAN_HPP_CONST_OR_CONSTEXPR Flags<vkcv::ShaderStage> allFlags =
(VkFlags(vkcv::ShaderStage::VERTEX) | VkFlags(vkcv::ShaderStage::TESS_CONTROL) vkcv::ShaderStage::VERTEX
| VkFlags(vkcv::ShaderStage::TESS_EVAL) | VkFlags(vkcv::ShaderStage::GEOMETRY) | vkcv::ShaderStage::TESS_CONTROL
| VkFlags(vkcv::ShaderStage::FRAGMENT) | VkFlags(vkcv::ShaderStage::COMPUTE) | vkcv::ShaderStage::TESS_EVAL
| VkFlags(vkcv::ShaderStage::TASK) | VkFlags(vkcv::ShaderStage::MESH) | vkcv::ShaderStage::GEOMETRY
| VkFlags(vkcv::ShaderStage::RAY_GEN) | VkFlags(vkcv::ShaderStage::RAY_ANY_HIT) | vkcv::ShaderStage::FRAGMENT
| VkFlags(vkcv::ShaderStage::RAY_CLOSEST_HIT) | vkcv::ShaderStage::TASK
| VkFlags(vkcv::ShaderStage::RAY_MISS) | vkcv::ShaderStage::MESH
| VkFlags(vkcv::ShaderStage::RAY_INTERSECTION) | vkcv::ShaderStage::RAY_GEN
| VkFlags(vkcv::ShaderStage::RAY_CALLABLE)) | vkcv::ShaderStage::RAY_ANY_HIT
}; | vkcv::ShaderStage::RAY_CLOSEST_HIT
| vkcv::ShaderStage::RAY_MISS
| vkcv::ShaderStage::RAY_INTERSECTION
| vkcv::ShaderStage::RAY_CALLABLE;
}; };
} // namespace vk } // namespace vk
...@@ -65,8 +68,8 @@ namespace vk { ...@@ -65,8 +68,8 @@ namespace vk {
namespace vkcv { namespace vkcv {
constexpr vk::ShaderStageFlags getShaderStageFlags(ShaderStages shaderStages) noexcept { constexpr VULKAN_HPP_NAMESPACE::ShaderStageFlags getShaderStageFlags(ShaderStages shaderStages) noexcept {
return vk::ShaderStageFlags(static_cast<VkShaderStageFlags>(shaderStages)); return VULKAN_HPP_NAMESPACE::ShaderStageFlags(static_cast<VkShaderStageFlags>(shaderStages));
} }
constexpr ShaderStages operator|(ShaderStage stage0, ShaderStage stage1) noexcept { constexpr ShaderStages operator|(ShaderStage stage0, ShaderStage stage1) noexcept {
......
Subproject commit 8ba8294c86d0e99fcb457bedbd573dd678ccc9b3 Subproject commit b092b2fccc812453c1d0ec0a829eb8f34f174803
Subproject commit ef609a2f77dd1756e672712f264e76b64acdba61 Subproject commit a577b390e8651e9b1351d7c6839a4f43303c0f34
Subproject commit c351692490513cdb0e5a2c925aaf7ea4a9b672f4 Subproject commit 73d13a83ede142fa030d84e603a313831fcc424a
Subproject commit e00a0b1ab8bba230e8c701423540ff3828aea2d5 Subproject commit 62b1d32e96acf36f6da619d3f818d2edc7cbbc7b
...@@ -280,7 +280,7 @@ namespace vkcv::rtx { ...@@ -280,7 +280,7 @@ namespace vkcv::rtx {
shaderStages.data(), // const vk::PipelineShaderStageCreateInfo* pStages_ = {} shaderStages.data(), // const vk::PipelineShaderStageCreateInfo* pStages_ = {}
(uint32_t) shaderGroups.size(), // uint32_t groupCount_ = {} (uint32_t) shaderGroups.size(), // uint32_t groupCount_ = {}
shaderGroups.data(), // const vk::RayTracingShaderGroupCreateInfoKHR* pGroups_ = {} shaderGroups.data(), // const vk::RayTracingShaderGroupCreateInfoKHR* pGroups_ = {}
16, // uint32_t maxPipelineRayRecursionDepth_ = {} 1, // uint32_t maxPipelineRayRecursionDepth_ = {}
&rtxPipelineLibraryCreateInfo, // const vk::PipelineLibraryCreateInfoKHR* pLibraryInfo_ = {} &rtxPipelineLibraryCreateInfo, // const vk::PipelineLibraryCreateInfoKHR* pLibraryInfo_ = {}
nullptr, // const vk::RayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface_ = {} nullptr, // const vk::RayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface_ = {}
nullptr, // const vk::PipelineDynamicStateCreateInfo* pDynamicState_ = {} nullptr, // const vk::PipelineDynamicStateCreateInfo* pDynamicState_ = {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment