#include "dxvk_graphics.h" namespace dxvk { size_t DxvkGraphicsPipelineState::hash() const { // TODO implement } bool DxvkGraphicsPipelineState::operator == (const DxvkGraphicsPipelineState& other) const { // TODO implement } bool DxvkGraphicsPipelineState::operator != (const DxvkGraphicsPipelineState& other) const { return !this->operator == (other); } DxvkGraphicsPipeline::DxvkGraphicsPipeline( const Rc& vkd, const Rc& vs, const Rc& tcs, const Rc& tes, const Rc& gs, const Rc& fs) : m_vkd(vkd), m_vs(vs), m_tcs(tcs), m_tes(tes), m_gs(gs), m_fs(fs) { } DxvkGraphicsPipeline::~DxvkGraphicsPipeline() { } VkPipeline DxvkGraphicsPipeline::getPipelineHandle( const DxvkGraphicsPipelineState& state) { std::lock_guard lock(m_mutex); auto pair = m_pipelines.find(state); if (pair != m_pipelines.end()) return pair->second; VkPipeline pipeline = this->compilePipeline(state); m_pipelines.insert(std::make_pair(state, pipeline)); return pipeline; } VkPipeline DxvkGraphicsPipeline::compilePipeline( const DxvkGraphicsPipelineState& state) const { } }