Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions framework/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ set(FRAMEWORK_FILES
structure_chain_builder.h
# Source Files
drawer.cpp
spirv_reflection.cpp
gltf_loader.cpp
debug_info.cpp
fence_pool.cpp
Expand Down Expand Up @@ -238,14 +237,12 @@ set(CORE_FILES
core/hpp_queue.h
core/hpp_render_pass.h
core/hpp_sampler.h
core/hpp_shader_module.h
core/hpp_swapchain.h
core/vulkan_resource.h
# Source Files
core/command_pool_base.cpp
core/debug.cpp
core/image_core.cpp
core/shader_module.cpp
core/pipeline_layout.cpp
core/pipeline.cpp
core/descriptor_set_layout.cpp
Expand Down
67 changes: 0 additions & 67 deletions framework/common/hpp_resource_caching.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
#include "core/hpp_descriptor_set.h"
#include "core/hpp_image_view.h"
#include "core/hpp_render_pass.h"
#include "core/hpp_shader_module.h"
#include "hpp_resource_record.h"
#include "resource_caching.h"
#include <vulkan/vulkan_hash.hpp>
Expand Down Expand Up @@ -157,58 +156,6 @@ struct hash<vkb::core::HPPRenderPass>
}
};

template <>
struct hash<vkb::core::HPPShaderModule>
{
size_t operator()(const vkb::core::HPPShaderModule &shader_module) const
{
return std::hash<vkb::ShaderModule>()(reinterpret_cast<vkb::ShaderModule const &>(shader_module));
}
};

template <>
struct hash<vkb::core::HPPShaderResource>
{
size_t operator()(vkb::core::HPPShaderResource const &shader_resource) const
{
size_t result = 0;
vkb::hash_combine(result, shader_resource.stages);
vkb::hash_combine(result, shader_resource.type);
vkb::hash_combine(result, shader_resource.mode);
vkb::hash_combine(result, shader_resource.set);
vkb::hash_combine(result, shader_resource.binding);
vkb::hash_combine(result, shader_resource.location);
vkb::hash_combine(result, shader_resource.input_attachment_index);
vkb::hash_combine(result, shader_resource.vec_size);
vkb::hash_combine(result, shader_resource.columns);
vkb::hash_combine(result, shader_resource.array_size);
vkb::hash_combine(result, shader_resource.offset);
vkb::hash_combine(result, shader_resource.size);
vkb::hash_combine(result, shader_resource.constant_id);
vkb::hash_combine(result, shader_resource.qualifiers);
vkb::hash_combine(result, shader_resource.name);
return result;
}
};

template <>
struct hash<vkb::core::HPPShaderSource>
{
size_t operator()(const vkb::core::HPPShaderSource &shader_source) const
{
return std::hash<vkb::ShaderSource>()(reinterpret_cast<vkb::ShaderSource const &>(shader_source));
}
};

template <>
struct hash<vkb::core::HPPShaderVariant>
{
size_t operator()(const vkb::core::HPPShaderVariant &shader_variant) const
{
return std::hash<vkb::ShaderVariant>()(reinterpret_cast<vkb::ShaderVariant const &>(shader_variant));
}
};

template <>
struct hash<vkb::core::HPPSubpassInfo>
{
Expand Down Expand Up @@ -281,20 +228,6 @@ struct HPPRecordHelper
{}
};

template <class... A>
struct HPPRecordHelper<vkb::core::HPPShaderModule, A...>
{
size_t record(HPPResourceRecord &recorder, A &...args)
{
return recorder.register_shader_module(args...);
}

void index(HPPResourceRecord &recorder, size_t index, vkb::core::HPPShaderModule &shader_module)
{
recorder.set_shader_module(index, shader_module);
}
};

template <class... A>
struct HPPRecordHelper<vkb::core::HPPPipelineLayout, A...>
{
Expand Down
42 changes: 22 additions & 20 deletions framework/common/resource_caching.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
namespace std
{
template <>
struct hash<vkb::ShaderSource>
struct hash<vkb::core::ShaderSource>
{
std::size_t operator()(const vkb::ShaderSource &shader_source) const
std::size_t operator()(const vkb::core::ShaderSource &shader_source) const
{
std::size_t result = 0;

Expand All @@ -47,9 +47,9 @@ struct hash<vkb::ShaderSource>
};

template <>
struct hash<vkb::ShaderVariant>
struct hash<vkb::core::ShaderVariant>
{
std::size_t operator()(const vkb::ShaderVariant &shader_variant) const
std::size_t operator()(const vkb::core::ShaderVariant &shader_variant) const
{
std::size_t result = 0;

Expand All @@ -59,10 +59,10 @@ struct hash<vkb::ShaderVariant>
}
};

template <>
struct hash<vkb::ShaderModule>
template <vkb::BindingType bindingType>
struct hash<vkb::core::ShaderModule<bindingType>>
{
std::size_t operator()(const vkb::ShaderModule &shader_module) const
std::size_t operator()(const vkb::core::ShaderModule<bindingType> &shader_module) const
{
std::size_t result = 0;

Expand Down Expand Up @@ -205,25 +205,25 @@ struct hash<vkb::rendering::SpecializationConstantState>
}
};

template <>
struct hash<vkb::ShaderResource>
template <vkb::BindingType bindingType>
struct hash<vkb::core::ShaderResource<bindingType>>
{
std::size_t operator()(const vkb::ShaderResource &shader_resource) const
std::size_t operator()(const vkb::core::ShaderResource<bindingType> &shader_resource) const
{
std::size_t result = 0;

if (shader_resource.type == vkb::ShaderResourceType::Input ||
shader_resource.type == vkb::ShaderResourceType::Output ||
shader_resource.type == vkb::ShaderResourceType::PushConstant ||
shader_resource.type == vkb::ShaderResourceType::SpecializationConstant)
if (shader_resource.type == vkb::core::ShaderResourceType::Input ||
shader_resource.type == vkb::core::ShaderResourceType::Output ||
shader_resource.type == vkb::core::ShaderResourceType::PushConstant ||
shader_resource.type == vkb::core::ShaderResourceType::SpecializationConstant)
{
return result;
}

vkb::hash_combine(result, shader_resource.set);
vkb::hash_combine(result, shader_resource.binding);
vkb::hash_combine(result,
static_cast<std::underlying_type<vkb::ShaderResourceType>::type>(shader_resource.type));
static_cast<std::underlying_type<vkb::core::ShaderResourceType>::type>(shader_resource.type));
vkb::hash_combine(result, shader_resource.mode);

return result;
Expand Down Expand Up @@ -617,7 +617,8 @@ inline void hash_param<std::vector<SubpassInfo>>(size_t &seed, const std::vector
}

template <>
inline void hash_param<std::vector<ShaderModule *>>(size_t &seed, const std::vector<ShaderModule *> &value)
inline void hash_param<std::vector<vkb::core::ShaderModuleC *>>(size_t &seed,
const std::vector<vkb::core::ShaderModuleC *> &value)
{
for (auto &shader_module : value)
{
Expand All @@ -626,7 +627,8 @@ inline void hash_param<std::vector<ShaderModule *>>(size_t &seed, const std::vec
}

template <>
inline void hash_param<std::vector<ShaderResource>>(size_t &seed, const std::vector<ShaderResource> &value)
inline void hash_param<std::vector<vkb::core::ShaderResourceC>>(size_t &seed,
const std::vector<vkb::core::ShaderResourceC> &value)
{
for (auto &resource : value)
{
Expand Down Expand Up @@ -686,15 +688,15 @@ struct RecordHelper
{}
};

template <class... A>
struct RecordHelper<ShaderModule, A...>
template <vkb::BindingType bindingType, class... A>
struct RecordHelper<vkb::core::ShaderModule<bindingType>, A...>
{
size_t record(ResourceRecord &recorder, A &...args)
{
return recorder.register_shader_module(args...);
}

void index(ResourceRecord &recorder, size_t index, ShaderModule &shader_module)
void index(ResourceRecord &recorder, size_t index, vkb::core::ShaderModule<bindingType> &shader_module)
{
recorder.set_shader_module(index, shader_module);
}
Expand Down
24 changes: 12 additions & 12 deletions framework/common/strings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1477,31 +1477,31 @@ const std::string to_string(bool flag)
return "false";
}

const std::string to_string(ShaderResourceType type)
const std::string to_string(vkb::core::ShaderResourceType type)
{
switch (type)
{
case ShaderResourceType::Input:
case vkb::core::ShaderResourceType::Input:
return "Input";
case ShaderResourceType::InputAttachment:
case vkb::core::ShaderResourceType::InputAttachment:
return "InputAttachment";
case ShaderResourceType::Output:
case vkb::core::ShaderResourceType::Output:
return "Output";
case ShaderResourceType::Image:
case vkb::core::ShaderResourceType::Image:
return "Image";
case ShaderResourceType::ImageSampler:
case vkb::core::ShaderResourceType::ImageSampler:
return "ImageSampler";
case ShaderResourceType::ImageStorage:
case vkb::core::ShaderResourceType::ImageStorage:
return "ImageStorage";
case ShaderResourceType::Sampler:
case vkb::core::ShaderResourceType::Sampler:
return "Sampler";
case ShaderResourceType::BufferUniform:
case vkb::core::ShaderResourceType::BufferUniform:
return "BufferUniform";
case ShaderResourceType::BufferStorage:
case vkb::core::ShaderResourceType::BufferStorage:
return "BufferStorage";
case ShaderResourceType::PushConstant:
case vkb::core::ShaderResourceType::PushConstant:
return "PushConstant";
case ShaderResourceType::SpecializationConstant:
case vkb::core::ShaderResourceType::SpecializationConstant:
return "SpecializationConstant";
default:
return "Unkown Type";
Expand Down
8 changes: 5 additions & 3 deletions framework/common/strings.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (c) 2018-2024, Arm Limited and Contributors
/* Copyright (c) 2018-2026, Arm Limited and Contributors
*
* SPDX-License-Identifier: Apache-2.0
*
Expand Down Expand Up @@ -27,8 +27,10 @@

namespace vkb
{
namespace core
{
enum class ShaderResourceType;

}
namespace sg
{
enum class AlphaMode;
Expand Down Expand Up @@ -210,7 +212,7 @@ const std::string to_string(bool flag);
* @param type Vulkan ShaderResourceType to convert
* @return The string to return
*/
const std::string to_string(ShaderResourceType type);
const std::string to_string(vkb::core::ShaderResourceType type);

/**
* @brief Helper generic function to convert a bitmask to a string of its components
Expand Down
Loading
Loading