Prepare for unifying more stuff
This commit is contained in:
parent
e136ad795a
commit
c74f5b2189
23 changed files with 80 additions and 87 deletions
|
@ -126,8 +126,12 @@ public:
|
|||
ShaderManagerCommon(Draw::DrawContext *draw) : draw_(draw) {}
|
||||
virtual ~ShaderManagerCommon() {}
|
||||
|
||||
virtual void ClearShaders() = 0;
|
||||
virtual void DirtyLastShader() = 0;
|
||||
|
||||
virtual void DeviceLost() = 0;
|
||||
virtual void DeviceRestore(Draw::DrawContext *draw) = 0; // must set draw_ to draw
|
||||
|
||||
protected:
|
||||
Draw::DrawContext *draw_ = nullptr;
|
||||
};
|
||||
|
|
|
@ -138,6 +138,10 @@ TextureCacheCommon::~TextureCacheCommon() {
|
|||
FreeAlignedMemory(expandClut_);
|
||||
}
|
||||
|
||||
void TextureCacheCommon::StartFrame() {
|
||||
textureShaderCache_->Decimate();
|
||||
}
|
||||
|
||||
// Produces a signed 1.23.8 value.
|
||||
static int TexLog2(float delta) {
|
||||
union FloatBits {
|
||||
|
@ -2906,7 +2910,3 @@ CheckAlphaResult TextureCacheCommon::CheckCLUTAlpha(const uint8_t *pixelData, GE
|
|||
return CheckAlpha32((const u32 *)pixelData, w, 0xFF000000);
|
||||
}
|
||||
}
|
||||
|
||||
void TextureCacheCommon::StartFrame() {
|
||||
textureShaderCache_->Decimate();
|
||||
}
|
||||
|
|
|
@ -350,6 +350,11 @@ public:
|
|||
}
|
||||
virtual bool GetCurrentTextureDebug(GPUDebugBuffer &buffer, int level, bool *isFramebuffer) { return false; }
|
||||
|
||||
virtual void StartFrame();
|
||||
|
||||
virtual void DeviceLost() = 0;
|
||||
virtual void DeviceRestore(Draw::DrawContext *draw) = 0;
|
||||
|
||||
protected:
|
||||
virtual void *GetNativeTextureView(const TexCacheEntry *entry) = 0;
|
||||
bool PrepareBuildTexture(BuildTexturePlan &plan, TexCacheEntry *entry);
|
||||
|
@ -403,8 +408,6 @@ protected:
|
|||
|
||||
virtual void BoundFramebufferTexture() {}
|
||||
|
||||
virtual void StartFrame();
|
||||
|
||||
void DecimateVideos();
|
||||
bool IsVideo(u32 texaddr) const;
|
||||
|
||||
|
|
|
@ -120,9 +120,9 @@ void GPU_D3D11::DeviceLost() {
|
|||
draw_->Invalidate(InvalidationFlags::CACHED_RENDER_STATE);
|
||||
// Simply drop all caches and textures.
|
||||
// FBOs appear to survive? Or no?
|
||||
shaderManagerD3D11_->ClearShaders();
|
||||
shaderManager_->ClearShaders();
|
||||
drawEngine_.ClearInputLayoutMap();
|
||||
textureCacheD3D11_->Clear(false);
|
||||
textureCache_->Clear(false);
|
||||
|
||||
GPUCommon::DeviceLost();
|
||||
}
|
||||
|
@ -141,19 +141,19 @@ void GPU_D3D11::InitClear() {
|
|||
void GPU_D3D11::BeginFrame() {
|
||||
GPUCommon::BeginFrame();
|
||||
|
||||
textureCacheD3D11_->StartFrame();
|
||||
textureCache_->StartFrame();
|
||||
drawEngine_.BeginFrame();
|
||||
|
||||
shaderManagerD3D11_->DirtyLastShader();
|
||||
shaderManager_->DirtyLastShader();
|
||||
|
||||
framebufferManagerD3D11_->BeginFrame();
|
||||
framebufferManager_->BeginFrame();
|
||||
gstate_c.Dirty(DIRTY_PROJTHROUGHMATRIX);
|
||||
|
||||
if (gstate_c.useFlagsChanged) {
|
||||
// TODO: It'd be better to recompile them in the background, probably?
|
||||
// This most likely means that saw equal depth changed.
|
||||
WARN_LOG(G3D, "Shader use flags changed, clearing all shaders and depth buffers");
|
||||
shaderManagerD3D11_->ClearShaders();
|
||||
shaderManager_->ClearShaders();
|
||||
framebufferManager_->ClearAllDepthBuffers();
|
||||
drawEngine_.ClearInputLayoutMap();
|
||||
gstate_c.useFlagsChanged = false;
|
||||
|
|
|
@ -86,9 +86,11 @@ public:
|
|||
~ShaderManagerD3D11();
|
||||
|
||||
void GetShaders(int prim, VertexDecoder *decoder, D3D11VertexShader **vshader, D3D11FragmentShader **fshader, const ComputedPipelineState &pipelineState, bool useHWTransform, bool useHWTessellation, bool weightsAsFloat, bool useSkinInDecode);
|
||||
void ClearShaders();
|
||||
void ClearShaders() override;
|
||||
void DirtyLastShader() override;
|
||||
|
||||
void DeviceLost() override {}
|
||||
void DeviceRestore(Draw::DrawContext *draw) override { draw_ = draw; }
|
||||
int GetNumVertexShaders() const { return (int)vsCache_.size(); }
|
||||
int GetNumFragmentShaders() const { return (int)fsCache_.size(); }
|
||||
|
||||
|
|
|
@ -54,6 +54,9 @@ public:
|
|||
|
||||
bool GetCurrentTextureDebug(GPUDebugBuffer &buffer, int level, bool *isFramebuffer) override;
|
||||
|
||||
void DeviceLost() override {}
|
||||
void DeviceRestore(Draw::DrawContext *draw) override { draw_ = draw; }
|
||||
|
||||
protected:
|
||||
void BindTexture(TexCacheEntry *entry) override;
|
||||
void Unbind() override;
|
||||
|
|
|
@ -106,25 +106,20 @@ u32 GPU_DX9::CheckGPUFeatures() const {
|
|||
}
|
||||
|
||||
GPU_DX9::~GPU_DX9() {
|
||||
framebufferManagerDX9_->DestroyAllFBOs();
|
||||
delete framebufferManagerDX9_;
|
||||
framebufferManager_->DestroyAllFBOs();
|
||||
delete framebufferManager_;
|
||||
delete textureCache_;
|
||||
shaderManagerDX9_->ClearCache(true);
|
||||
delete shaderManagerDX9_;
|
||||
shaderManager_->ClearShaders();
|
||||
delete shaderManager_;
|
||||
}
|
||||
|
||||
void GPU_DX9::DeviceLost() {
|
||||
// Simply drop all caches and textures.
|
||||
shaderManagerDX9_->ClearCache(false);
|
||||
textureCacheDX9_->Clear(false);
|
||||
shaderManager_->ClearShaders();
|
||||
textureCache_->Clear(false);
|
||||
GPUCommon::DeviceLost();
|
||||
}
|
||||
|
||||
void GPU_DX9::DeviceRestore() {
|
||||
GPUCommon::DeviceRestore();
|
||||
// Nothing needed.
|
||||
}
|
||||
|
||||
void GPU_DX9::InitClear() {
|
||||
if (!framebufferManager_->UseBufferedRendering()) {
|
||||
dxstate.depthWrite.set(true);
|
||||
|
@ -139,7 +134,7 @@ void GPU_DX9::ReapplyGfxState() {
|
|||
}
|
||||
|
||||
void GPU_DX9::BeginFrame() {
|
||||
textureCacheDX9_->StartFrame();
|
||||
textureCache_->StartFrame();
|
||||
drawEngine_.BeginFrame();
|
||||
|
||||
GPUCommon::BeginFrame();
|
||||
|
@ -151,7 +146,7 @@ void GPU_DX9::BeginFrame() {
|
|||
// TODO: It'd be better to recompile them in the background, probably?
|
||||
// This most likely means that saw equal depth changed.
|
||||
WARN_LOG(G3D, "Shader use flags changed, clearing all shaders and depth buffers");
|
||||
shaderManagerDX9_->ClearCache(true);
|
||||
shaderManager_->ClearShaders();
|
||||
framebufferManager_->ClearAllDepthBuffers();
|
||||
gstate_c.useFlagsChanged = false;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,6 @@ public:
|
|||
void ReapplyGfxState() override;
|
||||
void GetStats(char *buffer, size_t bufsize) override;
|
||||
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
||||
void DeviceRestore() override;
|
||||
|
||||
// Using string because it's generic - makes no assumptions on the size of the shader IDs of this backend.
|
||||
std::vector<std::string> DebugGetShaderIDs(DebugShaderType shader) override;
|
||||
|
|
|
@ -540,11 +540,10 @@ void ShaderManagerDX9::Clear() {
|
|||
DirtyShader();
|
||||
}
|
||||
|
||||
void ShaderManagerDX9::ClearCache(bool deleteThem) {
|
||||
void ShaderManagerDX9::ClearShaders() {
|
||||
Clear();
|
||||
}
|
||||
|
||||
|
||||
void ShaderManagerDX9::DirtyShader() {
|
||||
// Forget the last shader ID
|
||||
lastFSID_.set_invalid();
|
||||
|
@ -554,7 +553,7 @@ void ShaderManagerDX9::DirtyShader() {
|
|||
gstate_c.Dirty(DIRTY_ALL_UNIFORMS | DIRTY_VERTEXSHADER_STATE | DIRTY_FRAGMENTSHADER_STATE);
|
||||
}
|
||||
|
||||
void ShaderManagerDX9::DirtyLastShader() { // disables vertex arrays
|
||||
void ShaderManagerDX9::DirtyLastShader() {
|
||||
lastVShader_ = nullptr;
|
||||
lastPShader_ = nullptr;
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ public:
|
|||
ShaderManagerDX9(Draw::DrawContext *draw, LPDIRECT3DDEVICE9 device);
|
||||
~ShaderManagerDX9();
|
||||
|
||||
void ClearCache(bool deleteThem); // TODO: deleteThem currently not respected
|
||||
void ClearShaders() override;
|
||||
VSShader *ApplyShader(bool useHWTransform, bool useHWTessellation, VertexDecoder *decoder, bool weightsAsFloat, bool useSkinInDecode, const ComputedPipelineState &pipelineState);
|
||||
void DirtyShader();
|
||||
void DirtyLastShader() override;
|
||||
|
@ -85,6 +85,9 @@ public:
|
|||
int GetNumVertexShaders() const { return (int)vsCache_.size(); }
|
||||
int GetNumFragmentShaders() const { return (int)fsCache_.size(); }
|
||||
|
||||
void DeviceLost() override {}
|
||||
void DeviceRestore(Draw::DrawContext *draw) override { draw_ = draw; }
|
||||
|
||||
std::vector<std::string> DebugGetShaderIDs(DebugShaderType type);
|
||||
std::string DebugGetShaderString(std::string id, DebugShaderType type, DebugShaderStringType stringType);
|
||||
|
||||
|
|
|
@ -42,6 +42,9 @@ public:
|
|||
|
||||
bool GetCurrentTextureDebug(GPUDebugBuffer &buffer, int level, bool *isFramebuffer) override;
|
||||
|
||||
void DeviceLost() override {}
|
||||
void DeviceRestore(Draw::DrawContext *draw) override { draw_ = draw; }
|
||||
|
||||
protected:
|
||||
void BindTexture(TexCacheEntry *entry) override;
|
||||
void Unbind() override;
|
||||
|
|
|
@ -139,17 +139,14 @@ GPU_GLES::~GPU_GLES() {
|
|||
}
|
||||
}
|
||||
|
||||
framebufferManagerGL_->DestroyAllFBOs();
|
||||
shaderManagerGL_->ClearCache(true);
|
||||
framebufferManager_->DestroyAllFBOs();
|
||||
shaderManager_->ClearShaders();
|
||||
fragmentTestCache_.Clear();
|
||||
|
||||
delete shaderManagerGL_;
|
||||
shaderManagerGL_ = nullptr;
|
||||
delete framebufferManagerGL_;
|
||||
delete textureCacheGL_;
|
||||
|
||||
// Clear features so they're not visible in system info.
|
||||
gstate_c.SetUseFlags(0);
|
||||
delete shaderManager_;
|
||||
shaderManager_ = nullptr;
|
||||
delete framebufferManager_;
|
||||
delete textureCache_;
|
||||
}
|
||||
|
||||
// Take the raw GL extension and versioning data and turn into feature flags.
|
||||
|
@ -249,8 +246,8 @@ void GPU_GLES::DeviceLost() {
|
|||
// FBOs appear to survive? Or no?
|
||||
// TransformDraw has registered as a GfxResourceHolder.
|
||||
CancelReady();
|
||||
shaderManagerGL_->DeviceLost();
|
||||
textureCacheGL_->DeviceLost();
|
||||
shaderManager_->DeviceLost();
|
||||
textureCache_->DeviceLost();
|
||||
fragmentTestCache_.DeviceLost();
|
||||
drawEngine_.DeviceLost();
|
||||
|
||||
|
@ -263,8 +260,8 @@ void GPU_GLES::DeviceRestore() {
|
|||
UpdateCmdInfo();
|
||||
UpdateVsyncInterval(true);
|
||||
|
||||
shaderManagerGL_->DeviceRestore(draw_);
|
||||
textureCacheGL_->DeviceRestore(draw_);
|
||||
shaderManager_->DeviceRestore(draw_);
|
||||
textureCache_->DeviceRestore(draw_);
|
||||
drawEngine_.DeviceRestore(draw_);
|
||||
fragmentTestCache_.DeviceRestore(draw_);
|
||||
}
|
||||
|
@ -284,7 +281,7 @@ void GPU_GLES::BeginHostFrame() {
|
|||
// TODO: It'd be better to recompile them in the background, probably?
|
||||
// This most likely means that saw equal depth changed.
|
||||
WARN_LOG(G3D, "Shader use flags changed, clearing all shaders and depth buffers");
|
||||
shaderManagerGL_->ClearCache(true);
|
||||
shaderManager_->ClearShaders();
|
||||
framebufferManager_->ClearAllDepthBuffers();
|
||||
gstate_c.useFlagsChanged = false;
|
||||
}
|
||||
|
@ -299,22 +296,22 @@ void GPU_GLES::ReapplyGfxState() {
|
|||
}
|
||||
|
||||
void GPU_GLES::BeginFrame() {
|
||||
textureCacheGL_->StartFrame();
|
||||
fragmentTestCache_.Decimate();
|
||||
|
||||
GPUCommon::BeginFrame();
|
||||
|
||||
textureCache_->StartFrame();
|
||||
|
||||
// Save the cache from time to time. TODO: How often? We save on exit, so shouldn't need to do this all that often.
|
||||
if (shaderCachePath_.Valid() && (gpuStats.numFlips & 4095) == 0) {
|
||||
shaderManagerGL_->SaveCache(shaderCachePath_, &drawEngine_);
|
||||
}
|
||||
|
||||
shaderManagerGL_->DirtyShader();
|
||||
|
||||
// Not sure if this is really needed.
|
||||
gstate_c.Dirty(DIRTY_ALL_UNIFORMS);
|
||||
|
||||
framebufferManagerGL_->BeginFrame();
|
||||
framebufferManager_->BeginFrame();
|
||||
|
||||
fragmentTestCache_.Decimate();
|
||||
}
|
||||
|
||||
void GPU_GLES::FinishDeferred() {
|
||||
|
|
|
@ -715,7 +715,7 @@ void ShaderManagerGLES::Clear() {
|
|||
DirtyShader();
|
||||
}
|
||||
|
||||
void ShaderManagerGLES::ClearCache(bool deleteThem) {
|
||||
void ShaderManagerGLES::ClearShaders() {
|
||||
// TODO: Recreate all from the diskcache when we come back.
|
||||
Clear();
|
||||
}
|
||||
|
|
|
@ -165,15 +165,15 @@ public:
|
|||
ShaderManagerGLES(Draw::DrawContext *draw);
|
||||
~ShaderManagerGLES();
|
||||
|
||||
void ClearCache(bool deleteThem); // TODO: deleteThem currently not respected
|
||||
void ClearShaders() override;
|
||||
|
||||
// This is the old ApplyShader split into two parts, because of annoying information dependencies.
|
||||
// If you call ApplyVertexShader, you MUST call ApplyFragmentShader soon afterwards.
|
||||
Shader *ApplyVertexShader(bool useHWTransform, bool useHWTessellation, VertexDecoder *vertexDecoder, bool weightsAsFloat, bool useSkinInDecode, VShaderID *VSID);
|
||||
LinkedShader *ApplyFragmentShader(VShaderID VSID, Shader *vs, const ComputedPipelineState &pipelineState, bool useBufferedRendering);
|
||||
|
||||
void DeviceLost();
|
||||
void DeviceRestore(Draw::DrawContext *draw);
|
||||
void DeviceLost() override;
|
||||
void DeviceRestore(Draw::DrawContext *draw) override;
|
||||
|
||||
void DirtyShader();
|
||||
void DirtyLastShader() override;
|
||||
|
|
|
@ -54,8 +54,8 @@ public:
|
|||
|
||||
bool GetCurrentTextureDebug(GPUDebugBuffer &buffer, int level, bool *isFramebuffer) override;
|
||||
|
||||
void DeviceLost();
|
||||
void DeviceRestore(Draw::DrawContext *draw);
|
||||
void DeviceLost() override;
|
||||
void DeviceRestore(Draw::DrawContext *draw) override;
|
||||
|
||||
protected:
|
||||
void BindTexture(TexCacheEntry *entry) override;
|
||||
|
|
|
@ -10,7 +10,11 @@
|
|||
#include "GPU/Common/FramebufferManagerCommon.h"
|
||||
|
||||
GPUCommonHW::GPUCommonHW(GraphicsContext *gfxCtx, Draw::DrawContext *draw) : GPUCommon(gfxCtx, draw) {}
|
||||
GPUCommonHW::~GPUCommonHW() {}
|
||||
|
||||
GPUCommonHW::~GPUCommonHW() {
|
||||
// Clear features so they're not visible in system info.
|
||||
gstate_c.SetUseFlags(0);
|
||||
}
|
||||
|
||||
void GPUCommonHW::PreExecuteOp(u32 op, u32 diff) {
|
||||
CheckFlushOp(op >> 24, diff);
|
||||
|
|
|
@ -187,10 +187,10 @@ GPU_Vulkan::~GPU_Vulkan() {
|
|||
DestroyDeviceObjects();
|
||||
framebufferManagerVulkan_->DestroyAllFBOs();
|
||||
drawEngine_.DeviceLost();
|
||||
delete textureCacheVulkan_;
|
||||
delete textureCache_;
|
||||
delete pipelineManager_;
|
||||
delete shaderManagerVulkan_;
|
||||
delete framebufferManagerVulkan_;
|
||||
delete shaderManager_;
|
||||
delete framebufferManager_;
|
||||
}
|
||||
|
||||
u32 GPU_Vulkan::CheckGPUFeatures() const {
|
||||
|
@ -292,7 +292,7 @@ void GPU_Vulkan::BeginHostFrame() {
|
|||
GPUCommon::BeginHostFrame();
|
||||
|
||||
drawEngine_.BeginFrame();
|
||||
textureCacheVulkan_->StartFrame();
|
||||
textureCache_->StartFrame();
|
||||
|
||||
VulkanContext *vulkan = (VulkanContext *)draw_->GetNativeObject(Draw::NativeObject::CONTEXT);
|
||||
int curFrame = vulkan->GetCurFrame();
|
||||
|
@ -301,7 +301,7 @@ void GPU_Vulkan::BeginHostFrame() {
|
|||
frame.push_->Reset();
|
||||
frame.push_->Begin(vulkan);
|
||||
|
||||
framebufferManagerVulkan_->BeginFrame();
|
||||
framebufferManager_->BeginFrame();
|
||||
textureCacheVulkan_->SetPushBuffer(frameData_[curFrame].push_);
|
||||
|
||||
shaderManagerVulkan_->DirtyShader();
|
||||
|
@ -313,7 +313,7 @@ void GPU_Vulkan::BeginHostFrame() {
|
|||
WARN_LOG(G3D, "Shader use flags changed, clearing all shaders and depth buffers");
|
||||
// TODO: Not all shaders need to be recompiled. In fact, quite few? Of course, depends on
|
||||
// the use flag change.. This is a major frame rate hitch in the start of a race in Outrun.
|
||||
shaderManagerVulkan_->ClearShaders();
|
||||
shaderManager_->ClearShaders();
|
||||
pipelineManager_->Clear();
|
||||
framebufferManager_->ClearAllDepthBuffers();
|
||||
gstate_c.useFlagsChanged = false;
|
||||
|
@ -335,7 +335,6 @@ void GPU_Vulkan::EndHostFrame() {
|
|||
frame.push_->End();
|
||||
|
||||
drawEngine_.EndFrame();
|
||||
textureCacheVulkan_->EndFrame();
|
||||
|
||||
GPUCommon::EndHostFrame();
|
||||
}
|
||||
|
@ -391,10 +390,6 @@ void GPU_Vulkan::BuildReportingInfo() {
|
|||
Reporting::UpdateConfig();
|
||||
}
|
||||
|
||||
void GPU_Vulkan::Reinitialize() {
|
||||
GPUCommon::Reinitialize();
|
||||
}
|
||||
|
||||
void GPU_Vulkan::InitClear() {
|
||||
if (!framebufferManager_->UseBufferedRendering()) {
|
||||
// TODO?
|
||||
|
@ -450,8 +445,8 @@ void GPU_Vulkan::DestroyDeviceObjects() {
|
|||
}
|
||||
|
||||
void GPU_Vulkan::CheckRenderResized() {
|
||||
GPUCommon::CheckRenderResized();
|
||||
if (renderResized_) {
|
||||
GPUCommon::CheckRenderResized();
|
||||
pipelineManager_->InvalidateMSAAPipelines();
|
||||
framebufferManager_->ReleasePipelines();
|
||||
}
|
||||
|
@ -471,11 +466,11 @@ void GPU_Vulkan::DeviceLost() {
|
|||
textureCacheVulkan_->DeviceLost();
|
||||
shaderManagerVulkan_->DeviceLost();
|
||||
|
||||
GPUCommon::DeviceLost();
|
||||
GPUCommonHW::DeviceLost();
|
||||
}
|
||||
|
||||
void GPU_Vulkan::DeviceRestore() {
|
||||
GPUCommon::DeviceRestore();
|
||||
GPUCommonHW::DeviceRestore();
|
||||
InitDeviceObjects();
|
||||
|
||||
gstate_c.SetUseFlags(CheckGPUFeatures());
|
||||
|
|
|
@ -68,7 +68,6 @@ protected:
|
|||
private:
|
||||
void BuildReportingInfo() override;
|
||||
void InitClear() override;
|
||||
void Reinitialize() override;
|
||||
|
||||
void InitDeviceObjects();
|
||||
void DestroyDeviceObjects();
|
||||
|
|
|
@ -114,8 +114,8 @@ public:
|
|||
ShaderManagerVulkan(Draw::DrawContext *draw);
|
||||
~ShaderManagerVulkan();
|
||||
|
||||
void DeviceLost();
|
||||
void DeviceRestore(Draw::DrawContext *draw);
|
||||
void DeviceLost() override;
|
||||
void DeviceRestore(Draw::DrawContext *draw) override;
|
||||
|
||||
void GetShaders(int prim, VertexDecoder *decoder, VulkanVertexShader **vshader, VulkanFragmentShader **fshader, VulkanGeometryShader **gshader, const ComputedPipelineState &pipelineState, bool useHWTransform, bool useHWTessellation, bool weightsAsFloat, bool useSkinInDecode);
|
||||
void ClearShaders();
|
||||
|
|
|
@ -352,14 +352,6 @@ void TextureCacheVulkan::StartFrame() {
|
|||
computeShaderManager_.BeginFrame();
|
||||
}
|
||||
|
||||
void TextureCacheVulkan::EndFrame() {
|
||||
computeShaderManager_.EndFrame();
|
||||
|
||||
if (texelsScaledThisFrame_) {
|
||||
VERBOSE_LOG(G3D, "Scaled %i texels", texelsScaledThisFrame_);
|
||||
}
|
||||
}
|
||||
|
||||
void TextureCacheVulkan::UpdateCurrentClut(GEPaletteFormat clutFormat, u32 clutBase, bool clutIndexIsSimple) {
|
||||
const u32 clutBaseBytes = clutFormat == GE_CMODE_32BIT_ABGR8888 ? (clutBase * sizeof(u32)) : (clutBase * sizeof(u16));
|
||||
// Technically, these extra bytes weren't loaded, but hopefully it was loaded earlier.
|
||||
|
|
|
@ -58,7 +58,6 @@ public:
|
|||
~TextureCacheVulkan();
|
||||
|
||||
void StartFrame() override;
|
||||
void EndFrame();
|
||||
|
||||
void DeviceLost();
|
||||
void DeviceRestore(Draw::DrawContext *draw);
|
||||
|
|
|
@ -208,6 +208,3 @@ void VulkanComputeShaderManager::BeginFrame() {
|
|||
FrameData &frame = frameData_[curFrame];
|
||||
frame.descPool.Reset();
|
||||
}
|
||||
|
||||
void VulkanComputeShaderManager::EndFrame() {
|
||||
}
|
||||
|
|
|
@ -61,7 +61,6 @@ public:
|
|||
VkPipelineLayout GetPipelineLayout() const { return pipelineLayout_; }
|
||||
|
||||
void BeginFrame();
|
||||
void EndFrame();
|
||||
|
||||
private:
|
||||
void InitDeviceObjects(Draw::DrawContext *draw);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue