//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #include "Managers/BsVulkanGLSLProgramFactory.h" #include "BsVulkanGpuProgram.h" #define AMD_EXTENSIONS #include "glslang/Public/ShaderLang.h" namespace bs { namespace ct { VulkanGLSLProgramFactory::VulkanGLSLProgramFactory() { glslang::InitializeProcess(); } VulkanGLSLProgramFactory::~VulkanGLSLProgramFactory() { glslang::FinalizeProcess(); } SPtr VulkanGLSLProgramFactory::create(const GPU_PROGRAM_DESC& desc, GpuDeviceFlags deviceMask) { SPtr gpuProg = bs_shared_ptr(new (bs_alloc()) VulkanGpuProgram(desc, deviceMask)); gpuProg->_setThisPtr(gpuProg); return gpuProg; } SPtr VulkanGLSLProgramFactory::create(GpuProgramType type, GpuDeviceFlags deviceMask) { GPU_PROGRAM_DESC desc; desc.type = type; SPtr gpuProg = bs_shared_ptr(new (bs_alloc()) VulkanGpuProgram(desc, deviceMask)); gpuProg->_setThisPtr(gpuProg); return gpuProg; } }}