|
|
|
@ -201,6 +201,22 @@ struct SimpleVertexSpec {
|
|
|
|
|
static constexpr bool has_images = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct SimpleStorageSpec {
|
|
|
|
|
static constexpr std::array<bool, 5> enabled_stages{true, false, false, false, true};
|
|
|
|
|
static constexpr bool has_storage_buffers = true;
|
|
|
|
|
static constexpr bool has_texture_buffers = false;
|
|
|
|
|
static constexpr bool has_image_buffers = false;
|
|
|
|
|
static constexpr bool has_images = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct SimpleImageSpec {
|
|
|
|
|
static constexpr std::array<bool, 5> enabled_stages{true, false, false, false, true};
|
|
|
|
|
static constexpr bool has_storage_buffers = false;
|
|
|
|
|
static constexpr bool has_texture_buffers = false;
|
|
|
|
|
static constexpr bool has_image_buffers = false;
|
|
|
|
|
static constexpr bool has_images = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct DefaultSpec {
|
|
|
|
|
static constexpr std::array<bool, 5> enabled_stages{true, true, true, true, true};
|
|
|
|
|
static constexpr bool has_storage_buffers = true;
|
|
|
|
@ -211,7 +227,7 @@ struct DefaultSpec {
|
|
|
|
|
|
|
|
|
|
ConfigureFuncPtr ConfigureFunc(const std::array<vk::ShaderModule, NUM_STAGES>& modules,
|
|
|
|
|
const std::array<Shader::Info, NUM_STAGES>& infos) {
|
|
|
|
|
return FindSpec<SimpleVertexSpec, SimpleVertexFragmentSpec, DefaultSpec>(modules, infos);
|
|
|
|
|
return FindSpec<SimpleVertexSpec, SimpleVertexFragmentSpec, SimpleStorageSpec, SimpleImageSpec, DefaultSpec>(modules, infos);
|
|
|
|
|
}
|
|
|
|
|
} // Anonymous namespace
|
|
|
|
|
|
|
|
|
|