//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #include "Managers/BsVulkanRenderStateManager.h" #include "BsVulkanGpuPipelineState.h" #include "BsVulkanGpuPipelineParamInfo.h" #include "BsVulkanSamplerState.h" namespace bs { namespace ct { SPtr VulkanRenderStateManager::createSamplerStateInternal(const SAMPLER_STATE_DESC& desc, GpuDeviceFlags deviceMask) const { SPtr samplerState = bs_shared_ptr(new (bs_alloc()) VulkanSamplerState(desc, deviceMask)); samplerState->_setThisPtr(samplerState); return samplerState; } SPtr VulkanRenderStateManager::_createGraphicsPipelineState( const PIPELINE_STATE_DESC& desc, GpuDeviceFlags deviceMask) const { SPtr pipelineState = bs_shared_ptr(new (bs_alloc()) VulkanGraphicsPipelineState(desc, deviceMask)); pipelineState->_setThisPtr(pipelineState); return pipelineState; } SPtr VulkanRenderStateManager::_createComputePipelineState( const SPtr& program, GpuDeviceFlags deviceMask) const { SPtr pipelineState = bs_shared_ptr(new (bs_alloc()) VulkanComputePipelineState(program, deviceMask)); pipelineState->_setThisPtr(pipelineState); return pipelineState; } SPtr VulkanRenderStateManager::_createPipelineParamInfo( const GPU_PIPELINE_PARAMS_DESC& desc, GpuDeviceFlags deviceMask) const { SPtr paramInfo = bs_shared_ptr(new (bs_alloc()) VulkanGpuPipelineParamInfo(desc, deviceMask)); paramInfo->_setThisPtr(paramInfo); return paramInfo; } }}