//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #pragma once #include "BsVulkanPrerequisites.h" #include "Managers/BsGpuProgramManager.h" namespace bs { namespace ct { /** @addtogroup Vulkan * @{ */ /** Handles creation of GLSL GPU programs. */ class VulkanGLSLProgramFactory : public GpuProgramFactory { public: VulkanGLSLProgramFactory(); ~VulkanGLSLProgramFactory(); /** @copydoc GpuProgramFactory::create(const GPU_PROGRAM_DESC&, GpuDeviceFlags) */ SPtr create(const GPU_PROGRAM_DESC& desc, GpuDeviceFlags deviceMask = GDF_DEFAULT) override; /** @copydoc GpuProgramFactory::create(GpuProgramType, GpuDeviceFlags) */ SPtr create(GpuProgramType type, GpuDeviceFlags deviceMask = GDF_DEFAULT) override; protected: static const String LANGUAGE_NAME; }; /** @} */ }}