mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-14 00:48:44 +01:00
54ed8f0bb0
Co-authored-by: Philip Rebohle <philip.rebohle@tu-dortmund.de> Co-authored-by: Robin Kertels <robin.kertels@gmail.com> Co-authored-by: pchome <pchome@users.noreply.github.com> Co-authored-by: Christopher Egert <cme3000@gmail.com> Co-authored-by: Derek Lesho <dereklesho52@Gmail.com> Co-authored-by: Luis Cáceres <lacaceres97@gmail.com> Co-authored-by: Nelson Chen <crazysim@gmail.com> Co-authored-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Co-authored-by: Riesi <riesi@opentrash.com> Co-authored-by: gbMichelle <gbmichelle.dev@gmail.com>
36 lines
686 B
C++
36 lines
686 B
C++
#pragma once
|
|
|
|
#include "d3d9_include.h"
|
|
|
|
#include "../dxvk/dxvk_shader.h"
|
|
|
|
namespace dxvk {
|
|
|
|
class D3D9VertexDecl;
|
|
class D3D9DeviceEx;
|
|
|
|
struct D3D9VertexDeclHash {
|
|
size_t operator () (const D3D9VertexElements& key) const;
|
|
};
|
|
|
|
struct D3D9VertexDeclEq {
|
|
bool operator () (const D3D9VertexElements& a, const D3D9VertexElements& b) const;
|
|
};
|
|
|
|
class D3D9SWVPEmulator {
|
|
|
|
public:
|
|
|
|
Rc<DxvkShader> GetShaderModule(D3D9DeviceEx* pDevice, const D3D9VertexDecl* pDecl);
|
|
|
|
private:
|
|
|
|
std::mutex m_mutex;
|
|
|
|
std::unordered_map<
|
|
D3D9VertexElements, Rc<DxvkShader>,
|
|
D3D9VertexDeclHash, D3D9VertexDeclEq> m_modules;
|
|
|
|
};
|
|
|
|
} |