summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Null
diff options
context:
space:
mode:
authorConnor McLaughlin <stenzek@gmail.com>2019-04-20 12:56:02 +1000
committerGitHub <noreply@github.com>2019-04-20 12:56:02 +1000
commitc26f53bf84007bad8b6b89fae91e38f4cdb531bd (patch)
treebcfcddc830ed956545e7df122f98ae215dc1bab2 /Source/Core/VideoBackends/Null
parent9e951819d5ddc2f68635dea9d5077676a9799c06 (diff)
parent00b83b4196b060987f34cd55286aa4f55c02530d (diff)
Merge pull request #7999 from stenzek/pipeline-cache-data
Implement pipeline data cache for OpenGL and D3D12
Diffstat (limited to 'Source/Core/VideoBackends/Null')
-rw-r--r--Source/Core/VideoBackends/Null/NullBackend.cpp2
-rw-r--r--Source/Core/VideoBackends/Null/Render.cpp7
-rw-r--r--Source/Core/VideoBackends/Null/Render.h4
3 files changed, 8 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/Null/NullBackend.cpp b/Source/Core/VideoBackends/Null/NullBackend.cpp
index 6959c820ed..2f353d1fe3 100644
--- a/Source/Core/VideoBackends/Null/NullBackend.cpp
+++ b/Source/Core/VideoBackends/Null/NullBackend.cpp
@@ -52,6 +52,8 @@ void VideoBackend::InitBackendInfo()
g_Config.backend_info.bSupportsLogicOp = false;
g_Config.backend_info.bSupportsLargePoints = false;
g_Config.backend_info.bSupportsPartialDepthCopies = false;
+ g_Config.backend_info.bSupportsShaderBinaries = false;
+ g_Config.backend_info.bSupportsPipelineCacheData = false;
// aamodes: We only support 1 sample, so no MSAA
g_Config.backend_info.Adapters.clear();
diff --git a/Source/Core/VideoBackends/Null/Render.cpp b/Source/Core/VideoBackends/Null/Render.cpp
index ca57a0bdeb..6be3ee4753 100644
--- a/Source/Core/VideoBackends/Null/Render.cpp
+++ b/Source/Core/VideoBackends/Null/Render.cpp
@@ -46,9 +46,6 @@ class NullShader final : public AbstractShader
public:
explicit NullShader(ShaderStage stage) : AbstractShader(stage) {}
~NullShader() = default;
-
- bool HasBinary() const override { return false; }
- BinaryData GetBinary() const override { return {}; }
};
std::unique_ptr<AbstractShader> Renderer::CreateShaderFromSource(ShaderStage stage,
@@ -70,7 +67,9 @@ public:
~NullPipeline() override = default;
};
-std::unique_ptr<AbstractPipeline> Renderer::CreatePipeline(const AbstractPipelineConfig& config)
+std::unique_ptr<AbstractPipeline> Renderer::CreatePipeline(const AbstractPipelineConfig& config,
+ const void* cache_data,
+ size_t cache_data_length)
{
return std::make_unique<NullPipeline>();
}
diff --git a/Source/Core/VideoBackends/Null/Render.h b/Source/Core/VideoBackends/Null/Render.h
index 5ad4d8028e..339e21d637 100644
--- a/Source/Core/VideoBackends/Null/Render.h
+++ b/Source/Core/VideoBackends/Null/Render.h
@@ -28,7 +28,9 @@ public:
size_t length) override;
std::unique_ptr<NativeVertexFormat>
CreateNativeVertexFormat(const PortableVertexDeclaration& vtx_decl) override;
- std::unique_ptr<AbstractPipeline> CreatePipeline(const AbstractPipelineConfig& config) override;
+ std::unique_ptr<AbstractPipeline> CreatePipeline(const AbstractPipelineConfig& config,
+ const void* cache_data = nullptr,
+ size_t cache_data_length = 0) override;
u32 AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data) override { return 0; }
void PokeEFB(EFBAccessType type, const EfbPokeData* points, size_t num_points) override {}