mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Delete unused stuff in all backends
This commit is contained in:
parent
126ace770e
commit
f8e0c09463
10 changed files with 1 additions and 269 deletions
|
@ -978,7 +978,6 @@ void FramebufferManagerCommon::DrawPixels(VirtualFramebuffer *vfb, int dstX, int
|
|||
Draw::Texture *pixelsTex = MakePixelTexture(srcPixels, srcPixelFormat, srcStride, width, height);
|
||||
if (pixelsTex) {
|
||||
draw_->BindTextures(0, 1, &pixelsTex);
|
||||
Bind2DShader();
|
||||
DrawActiveTexture(dstX, dstY, width, height, vfb->bufferWidth, vfb->bufferHeight, u0, v0, u1, v1, ROTATION_LOCKED_HORIZONTAL, flags);
|
||||
gpuStats.numUploads++;
|
||||
pixelsTex->Release();
|
||||
|
|
|
@ -353,7 +353,6 @@ protected:
|
|||
void SetViewport2D(int x, int y, int w, int h);
|
||||
Draw::Texture *MakePixelTexture(const u8 *srcPixels, GEBufferFormat srcPixelFormat, int srcStride, int width, int height);
|
||||
void DrawActiveTexture(float x, float y, float w, float h, float destW, float destH, float u0, float v0, float u1, float v1, int uvRotation, int flags);
|
||||
virtual void Bind2DShader() = 0;
|
||||
|
||||
void DrawStrip2D(Draw::Texture *tex, Draw2DVertex *verts, int vertexCount, bool linearFilter);
|
||||
|
||||
|
|
|
@ -43,65 +43,16 @@
|
|||
#include <emmintrin.h>
|
||||
#endif
|
||||
|
||||
static const char *vscode =
|
||||
"struct VS_IN {\n"
|
||||
" float4 ObjPos : POSITION;\n"
|
||||
" float2 Uv : TEXCOORD0;\n"
|
||||
"};\n"
|
||||
"struct VS_OUT {\n"
|
||||
" float2 Uv : TEXCOORD0;\n"
|
||||
" float4 ProjPos : SV_Position;\n"
|
||||
"};\n"
|
||||
"VS_OUT main(VS_IN In) {\n"
|
||||
" VS_OUT Out;\n"
|
||||
" Out.ProjPos = In.ObjPos;\n"
|
||||
" Out.Uv = In.Uv;\n"
|
||||
" return Out;\n"
|
||||
"}\n";
|
||||
|
||||
static const char *pscode =
|
||||
"SamplerState samp : register(s0);\n"
|
||||
"Texture2D<float4> tex : register(t0);\n"
|
||||
"struct PS_IN {\n"
|
||||
" float2 Uv : TEXCOORD0;\n"
|
||||
"};\n"
|
||||
"float4 main( PS_IN In ) : SV_Target {\n"
|
||||
" float4 c = tex.Sample(samp, In.Uv);\n"
|
||||
" return c;\n"
|
||||
"}\n";
|
||||
|
||||
const D3D11_INPUT_ELEMENT_DESC FramebufferManagerD3D11::g_QuadVertexElements[2] = {
|
||||
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, },
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 12, },
|
||||
};
|
||||
|
||||
FramebufferManagerD3D11::FramebufferManagerD3D11(Draw::DrawContext *draw)
|
||||
: FramebufferManagerCommon(draw) {
|
||||
device_ = (ID3D11Device *)draw->GetNativeObject(Draw::NativeObject::DEVICE);
|
||||
context_ = (ID3D11DeviceContext *)draw->GetNativeObject(Draw::NativeObject::CONTEXT);
|
||||
featureLevel_ = (D3D_FEATURE_LEVEL)draw->GetNativeObject(Draw::NativeObject::FEATURE_LEVEL);
|
||||
|
||||
std::vector<uint8_t> bytecode;
|
||||
|
||||
std::string errorMsg;
|
||||
quadVertexShader_ = CreateVertexShaderD3D11(device_, vscode, strlen(vscode), &bytecode, featureLevel_);
|
||||
quadPixelShader_ = CreatePixelShaderD3D11(device_, pscode, strlen(pscode), featureLevel_);
|
||||
ASSERT_SUCCESS(device_->CreateInputLayout(g_QuadVertexElements, ARRAY_SIZE(g_QuadVertexElements), bytecode.data(), bytecode.size(), &quadInputLayout_));
|
||||
|
||||
// STRIP geometry
|
||||
static const float fsCoord[20] = {
|
||||
-1.0f,-1.0f, 0.0f, 0.0f, 0.0f,
|
||||
1.0f,-1.0f, 0.0f, 1.0f, 0.0f,
|
||||
-1.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
||||
1.0f, 1.0f, 0.0f, 1.0f, 1.0f,
|
||||
};
|
||||
D3D11_BUFFER_DESC vb{};
|
||||
vb.ByteWidth = 20 * 4;
|
||||
vb.Usage = D3D11_USAGE_IMMUTABLE;
|
||||
vb.CPUAccessFlags = 0;
|
||||
vb.BindFlags = D3D11_BIND_VERTEX_BUFFER;
|
||||
D3D11_SUBRESOURCE_DATA data{ fsCoord };
|
||||
ASSERT_SUCCESS(device_->CreateBuffer(&vb, &data, &fsQuadBuffer_));
|
||||
vb.Usage = D3D11_USAGE_DYNAMIC;
|
||||
vb.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
|
||||
ASSERT_SUCCESS(device_->CreateBuffer(&vb, nullptr, &quadBuffer_));
|
||||
|
@ -127,13 +78,7 @@ FramebufferManagerD3D11::FramebufferManagerD3D11(Draw::DrawContext *draw)
|
|||
|
||||
FramebufferManagerD3D11::~FramebufferManagerD3D11() {
|
||||
// Drawing cleanup
|
||||
if (quadVertexShader_)
|
||||
quadVertexShader_->Release();
|
||||
if (quadPixelShader_)
|
||||
quadPixelShader_->Release();
|
||||
quadInputLayout_->Release();
|
||||
quadBuffer_->Release();
|
||||
fsQuadBuffer_->Release();
|
||||
|
||||
// Stencil cleanup
|
||||
for (int i = 0; i < 256; i++) {
|
||||
|
@ -167,12 +112,6 @@ void FramebufferManagerD3D11::SetDrawEngine(DrawEngineD3D11 *td) {
|
|||
drawEngine_ = td;
|
||||
}
|
||||
|
||||
void FramebufferManagerD3D11::Bind2DShader() {
|
||||
context_->IASetInputLayout(quadInputLayout_);
|
||||
context_->PSSetShader(quadPixelShader_, 0, 0);
|
||||
context_->VSSetShader(quadVertexShader_, 0, 0);
|
||||
}
|
||||
|
||||
static void CopyPixelDepthOnly(u32 *dstp, const u32 *srcp, size_t c) {
|
||||
size_t x = 0;
|
||||
|
||||
|
|
|
@ -48,22 +48,14 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
void Bind2DShader() override;
|
||||
void PackDepthbuffer(VirtualFramebuffer *vfb, int x, int y, int w, int h);
|
||||
|
||||
ID3D11Device *device_;
|
||||
ID3D11DeviceContext *context_;
|
||||
D3D_FEATURE_LEVEL featureLevel_;
|
||||
|
||||
ID3D11VertexShader *quadVertexShader_;
|
||||
ID3D11PixelShader *quadPixelShader_;
|
||||
ID3D11InputLayout *quadInputLayout_;
|
||||
// Dynamic
|
||||
ID3D11Buffer *quadBuffer_;
|
||||
ID3D11Buffer *fsQuadBuffer_;
|
||||
const UINT quadStride_ = 20;
|
||||
const UINT quadOffset_ = 0;
|
||||
static const D3D11_INPUT_ELEMENT_DESC g_QuadVertexElements[2];
|
||||
|
||||
ID3D11PixelShader *stencilUploadPS_ = nullptr;
|
||||
ID3D11VertexShader *stencilUploadVS_ = nullptr;
|
||||
|
|
|
@ -47,59 +47,11 @@
|
|||
|
||||
namespace DX9 {
|
||||
|
||||
static const char *vscode = R"(
|
||||
struct VS_IN {
|
||||
float4 ObjPos : POSITION;
|
||||
float2 Uv : TEXCOORD0;
|
||||
};
|
||||
struct VS_OUT {
|
||||
float4 ProjPos : POSITION;
|
||||
float2 Uv : TEXCOORD0;
|
||||
};
|
||||
VS_OUT main( VS_IN In ) {
|
||||
VS_OUT Out;
|
||||
Out.ProjPos = In.ObjPos;
|
||||
Out.Uv = In.Uv;
|
||||
return Out;
|
||||
}
|
||||
)";
|
||||
|
||||
static const char *pscode = R"(
|
||||
sampler s: register(s0);
|
||||
struct PS_IN {
|
||||
float2 Uv : TEXCOORD0;
|
||||
};
|
||||
float4 main( PS_IN In ) : COLOR {
|
||||
float4 c = tex2D(s, In.Uv);
|
||||
return c;
|
||||
}
|
||||
)";
|
||||
|
||||
static const D3DVERTEXELEMENT9 g_FramebufferVertexElements[] = {
|
||||
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
|
||||
{ 0, 12, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
|
||||
D3DDECL_END()
|
||||
};
|
||||
|
||||
FramebufferManagerDX9::FramebufferManagerDX9(Draw::DrawContext *draw)
|
||||
: FramebufferManagerCommon(draw) {
|
||||
|
||||
device_ = (LPDIRECT3DDEVICE9)draw->GetNativeObject(Draw::NativeObject::DEVICE);
|
||||
deviceEx_ = (LPDIRECT3DDEVICE9)draw->GetNativeObject(Draw::NativeObject::DEVICE_EX);
|
||||
std::string errorMsg;
|
||||
if (!CompileVertexShaderD3D9(device_, vscode, &pFramebufferVertexShader, &errorMsg)) {
|
||||
OutputDebugStringA(errorMsg.c_str());
|
||||
}
|
||||
|
||||
if (!CompilePixelShaderD3D9(device_, pscode, &pFramebufferPixelShader, &errorMsg)) {
|
||||
OutputDebugStringA(errorMsg.c_str());
|
||||
if (pFramebufferVertexShader) {
|
||||
pFramebufferVertexShader->Release();
|
||||
}
|
||||
}
|
||||
|
||||
device_->CreateVertexDeclaration(g_FramebufferVertexElements, &pFramebufferVertexDecl);
|
||||
|
||||
|
||||
int usage = 0;
|
||||
D3DPOOL pool = D3DPOOL_MANAGED;
|
||||
|
@ -118,24 +70,9 @@ static const D3DVERTEXELEMENT9 g_FramebufferVertexElements[] = {
|
|||
}
|
||||
|
||||
FramebufferManagerDX9::~FramebufferManagerDX9() {
|
||||
if (pFramebufferVertexShader) {
|
||||
pFramebufferVertexShader->Release();
|
||||
pFramebufferVertexShader = nullptr;
|
||||
}
|
||||
if (pFramebufferPixelShader) {
|
||||
pFramebufferPixelShader->Release();
|
||||
pFramebufferPixelShader = nullptr;
|
||||
}
|
||||
pFramebufferVertexDecl->Release();
|
||||
for (auto &it : offscreenSurfaces_) {
|
||||
it.second.surface->Release();
|
||||
}
|
||||
if (stencilUploadPS_) {
|
||||
stencilUploadPS_->Release();
|
||||
}
|
||||
if (stencilUploadVS_) {
|
||||
stencilUploadVS_->Release();
|
||||
}
|
||||
if (nullTex_)
|
||||
nullTex_->Release();
|
||||
}
|
||||
|
@ -152,12 +89,6 @@ static const D3DVERTEXELEMENT9 g_FramebufferVertexElements[] = {
|
|||
drawEngine_ = td;
|
||||
}
|
||||
|
||||
void FramebufferManagerDX9::Bind2DShader() {
|
||||
device_->SetVertexDeclaration(pFramebufferVertexDecl);
|
||||
device_->SetPixelShader(pFramebufferPixelShader);
|
||||
device_->SetVertexShader(pFramebufferVertexShader);
|
||||
}
|
||||
|
||||
LPDIRECT3DSURFACE9 FramebufferManagerDX9::GetOffscreenSurface(LPDIRECT3DSURFACE9 similarSurface, VirtualFramebuffer *vfb) {
|
||||
D3DSURFACE_DESC desc = {};
|
||||
HRESULT hr = similarSurface->GetDesc(&desc);
|
||||
|
|
|
@ -56,7 +56,6 @@ public:
|
|||
LPDIRECT3DSURFACE9 GetOffscreenSurface(D3DFORMAT fmt, u32 w, u32 h);
|
||||
|
||||
protected:
|
||||
void Bind2DShader() override;
|
||||
void DecimateFBOs() override;
|
||||
|
||||
private:
|
||||
|
@ -67,14 +66,6 @@ private:
|
|||
LPDIRECT3DDEVICE9 device_;
|
||||
LPDIRECT3DDEVICE9 deviceEx_;
|
||||
|
||||
LPDIRECT3DVERTEXSHADER9 pFramebufferVertexShader = nullptr;
|
||||
LPDIRECT3DPIXELSHADER9 pFramebufferPixelShader = nullptr;
|
||||
LPDIRECT3DVERTEXDECLARATION9 pFramebufferVertexDecl = nullptr;
|
||||
|
||||
LPDIRECT3DPIXELSHADER9 stencilUploadPS_ = nullptr;
|
||||
LPDIRECT3DVERTEXSHADER9 stencilUploadVS_ = nullptr;
|
||||
bool stencilUploadFailed_ = false;
|
||||
|
||||
LPDIRECT3DTEXTURE9 nullTex_ = nullptr;
|
||||
|
||||
struct OffscreenSurface {
|
||||
|
@ -85,4 +76,4 @@ private:
|
|||
std::unordered_map<u64, OffscreenSurface> offscreenSurfaces_;
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -70,33 +70,6 @@ void main() {
|
|||
}
|
||||
)";
|
||||
|
||||
void FramebufferManagerGLES::CompileDraw2DProgram() {
|
||||
if (!draw2dprogram_) {
|
||||
std::string errorString;
|
||||
static std::string vs_code, fs_code;
|
||||
vs_code = ApplyGLSLPrelude(basic_vs, GL_VERTEX_SHADER);
|
||||
fs_code = ApplyGLSLPrelude(tex_fs, GL_FRAGMENT_SHADER);
|
||||
std::vector<GLRShader *> shaders;
|
||||
shaders.push_back(render_->CreateShader(GL_VERTEX_SHADER, vs_code, "draw2d"));
|
||||
shaders.push_back(render_->CreateShader(GL_FRAGMENT_SHADER, fs_code, "draw2d"));
|
||||
|
||||
std::vector<GLRProgram::UniformLocQuery> queries;
|
||||
queries.push_back({ &u_draw2d_tex, "u_tex" });
|
||||
std::vector<GLRProgram::Initializer> initializers;
|
||||
initializers.push_back({ &u_draw2d_tex, 0 });
|
||||
std::vector<GLRProgram::Semantic> semantics;
|
||||
semantics.push_back({ 0, "a_position" });
|
||||
semantics.push_back({ 1, "a_texcoord0" });
|
||||
draw2dprogram_ = render_->CreateProgram(shaders, semantics, queries, initializers, false, false);
|
||||
for (auto shader : shaders)
|
||||
render_->DeleteShader(shader);
|
||||
}
|
||||
}
|
||||
|
||||
void FramebufferManagerGLES::Bind2DShader() {
|
||||
render_->BindProgram(draw2dprogram_);
|
||||
}
|
||||
|
||||
FramebufferManagerGLES::FramebufferManagerGLES(Draw::DrawContext *draw, GLRenderManager *render) :
|
||||
FramebufferManagerCommon(draw),
|
||||
render_(render)
|
||||
|
@ -109,7 +82,6 @@ FramebufferManagerGLES::FramebufferManagerGLES(Draw::DrawContext *draw, GLRender
|
|||
|
||||
void FramebufferManagerGLES::Init() {
|
||||
FramebufferManagerCommon::Init();
|
||||
CompileDraw2DProgram();
|
||||
}
|
||||
|
||||
void FramebufferManagerGLES::SetTextureCache(TextureCacheGLES *tc) {
|
||||
|
@ -126,25 +98,9 @@ void FramebufferManagerGLES::SetDrawEngine(DrawEngineGLES *td) {
|
|||
}
|
||||
|
||||
void FramebufferManagerGLES::CreateDeviceObjects() {
|
||||
CompileDraw2DProgram();
|
||||
|
||||
std::vector<GLRInputLayout::Entry> entries;
|
||||
entries.push_back({ 0, 3, GL_FLOAT, GL_FALSE, sizeof(Simple2DVertex), offsetof(Simple2DVertex, pos) });
|
||||
entries.push_back({ 1, 2, GL_FLOAT, GL_FALSE, sizeof(Simple2DVertex), offsetof(Simple2DVertex, uv) });
|
||||
simple2DInputLayout_ = render_->CreateInputLayout(entries);
|
||||
}
|
||||
|
||||
void FramebufferManagerGLES::DestroyDeviceObjects() {
|
||||
if (simple2DInputLayout_) {
|
||||
render_->DeleteInputLayout(simple2DInputLayout_);
|
||||
simple2DInputLayout_ = nullptr;
|
||||
}
|
||||
|
||||
if (draw2dprogram_) {
|
||||
render_->DeleteProgram(draw2dprogram_);
|
||||
draw2dprogram_ = nullptr;
|
||||
}
|
||||
|
||||
if (stencilUploadPipeline_) {
|
||||
stencilUploadPipeline_->Release();
|
||||
stencilUploadPipeline_ = nullptr;
|
||||
|
|
|
@ -56,9 +56,6 @@ private:
|
|||
void CreateDeviceObjects();
|
||||
void DestroyDeviceObjects();
|
||||
|
||||
void Bind2DShader() override;
|
||||
void CompileDraw2DProgram();
|
||||
|
||||
void PackDepthbuffer(VirtualFramebuffer *vfb, int x, int y, int w, int h);
|
||||
|
||||
GLRenderManager *render_;
|
||||
|
@ -66,22 +63,12 @@ private:
|
|||
u8 *convBuf_ = nullptr;
|
||||
u32 convBufSize_ = 0;
|
||||
|
||||
GLRProgram *draw2dprogram_ = nullptr;
|
||||
|
||||
GLRProgram *depthDownloadProgram_ = nullptr;
|
||||
int u_depthDownloadTex = -1;
|
||||
int u_depthDownloadFactor = -1;
|
||||
int u_depthDownloadShift = -1;
|
||||
int u_depthDownloadTo8 = -1;
|
||||
|
||||
// Cached uniform locs
|
||||
int u_draw2d_tex = -1;
|
||||
|
||||
DrawEngineGLES *drawEngineGL_ = nullptr;
|
||||
|
||||
struct Simple2DVertex {
|
||||
float pos[3];
|
||||
float uv[2];
|
||||
};
|
||||
GLRInputLayout *simple2DInputLayout_ = nullptr;
|
||||
};
|
||||
|
|
|
@ -100,52 +100,10 @@ void FramebufferManagerVulkan::SetDrawEngine(DrawEngineVulkan *td) {
|
|||
}
|
||||
|
||||
void FramebufferManagerVulkan::InitDeviceObjects() {
|
||||
VulkanContext *vulkan = (VulkanContext *)draw_->GetNativeObject(Draw::NativeObject::CONTEXT);
|
||||
std::string fs_errors, vs_errors;
|
||||
fsBasicTex_ = CompileShaderModule(vulkan, VK_SHADER_STAGE_FRAGMENT_BIT, tex_fs, &fs_errors);
|
||||
vsBasicTex_ = CompileShaderModule(vulkan, VK_SHADER_STAGE_VERTEX_BIT, tex_vs, &vs_errors);
|
||||
_assert_(fsBasicTex_ != VK_NULL_HANDLE);
|
||||
_assert_(vsBasicTex_ != VK_NULL_HANDLE);
|
||||
|
||||
VkSamplerCreateInfo samp = { VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO };
|
||||
samp.addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
|
||||
samp.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
|
||||
samp.addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
|
||||
samp.magFilter = VK_FILTER_NEAREST;
|
||||
samp.minFilter = VK_FILTER_NEAREST;
|
||||
VkResult res = vkCreateSampler(vulkan->GetDevice(), &samp, nullptr, &nearestSampler_);
|
||||
_assert_(res == VK_SUCCESS);
|
||||
samp.magFilter = VK_FILTER_LINEAR;
|
||||
samp.minFilter = VK_FILTER_LINEAR;
|
||||
res = vkCreateSampler(vulkan->GetDevice(), &samp, nullptr, &linearSampler_);
|
||||
_assert_(res == VK_SUCCESS);
|
||||
}
|
||||
|
||||
void FramebufferManagerVulkan::DestroyDeviceObjects() {
|
||||
if (!draw_)
|
||||
return;
|
||||
VulkanContext *vulkan = (VulkanContext *)draw_->GetNativeObject(Draw::NativeObject::CONTEXT);
|
||||
if (fsBasicTex_ != VK_NULL_HANDLE) {
|
||||
vulkan2D_->PurgeFragmentShader(fsBasicTex_);
|
||||
vulkan->Delete().QueueDeleteShaderModule(fsBasicTex_);
|
||||
}
|
||||
if (vsBasicTex_ != VK_NULL_HANDLE) {
|
||||
vulkan2D_->PurgeVertexShader(vsBasicTex_);
|
||||
vulkan->Delete().QueueDeleteShaderModule(vsBasicTex_);
|
||||
}
|
||||
if (stencilFs_ != VK_NULL_HANDLE) {
|
||||
vulkan2D_->PurgeFragmentShader(stencilFs_);
|
||||
vulkan->Delete().QueueDeleteShaderModule(stencilFs_);
|
||||
}
|
||||
if (stencilVs_ != VK_NULL_HANDLE) {
|
||||
vulkan2D_->PurgeVertexShader(stencilVs_);
|
||||
vulkan->Delete().QueueDeleteShaderModule(stencilVs_);
|
||||
}
|
||||
|
||||
if (linearSampler_ != VK_NULL_HANDLE)
|
||||
vulkan->Delete().QueueDeleteSampler(linearSampler_);
|
||||
if (nearestSampler_ != VK_NULL_HANDLE)
|
||||
vulkan->Delete().QueueDeleteSampler(nearestSampler_);
|
||||
}
|
||||
|
||||
void FramebufferManagerVulkan::NotifyClear(bool clearColor, bool clearAlpha, bool clearDepth, uint32_t color, float depth) {
|
||||
|
@ -170,11 +128,6 @@ void FramebufferManagerVulkan::NotifyClear(bool clearColor, bool clearAlpha, boo
|
|||
}
|
||||
}
|
||||
|
||||
void FramebufferManagerVulkan::Bind2DShader() {
|
||||
VkRenderPass rp = (VkRenderPass)draw_->GetNativeObject(Draw::NativeObject::COMPATIBLE_RENDERPASS);
|
||||
cur2DPipeline_ = vulkan2D_->GetPipeline(rp, vsBasicTex_, fsBasicTex_);
|
||||
}
|
||||
|
||||
void FramebufferManagerVulkan::BeginFrameVulkan() {
|
||||
BeginFrame();
|
||||
}
|
||||
|
|
|
@ -53,9 +53,6 @@ public:
|
|||
// do that.
|
||||
void NotifyClear(bool clearColor, bool clearAlpha, bool clearDepth, uint32_t color, float depth);
|
||||
|
||||
protected:
|
||||
void Bind2DShader() override;
|
||||
|
||||
private:
|
||||
void InitDeviceObjects();
|
||||
void DestroyDeviceObjects();
|
||||
|
@ -70,18 +67,6 @@ private:
|
|||
|
||||
VkPipelineCache pipelineCache2D_;
|
||||
|
||||
// Basic shaders
|
||||
VkShaderModule fsBasicTex_ = VK_NULL_HANDLE;
|
||||
VkShaderModule vsBasicTex_ = VK_NULL_HANDLE;
|
||||
|
||||
VkShaderModule stencilVs_ = VK_NULL_HANDLE;
|
||||
VkShaderModule stencilFs_ = VK_NULL_HANDLE;
|
||||
|
||||
VkPipeline cur2DPipeline_ = VK_NULL_HANDLE;
|
||||
|
||||
VkSampler linearSampler_;
|
||||
VkSampler nearestSampler_;
|
||||
|
||||
// Simple 2D drawing engine.
|
||||
Vulkan2D *vulkan2D_;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue