summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/FramebufferShaderGen.h
diff options
context:
space:
mode:
authorTilka <tilkax@gmail.com>2019-02-26 04:21:05 +0000
committerGitHub <noreply@github.com>2019-02-26 04:21:05 +0000
commit6ce7f44b8a0bb3b95d3f12ebffbef7a71a443fdd (patch)
tree98380ce3a3284c52597a6fba86589c847219ecd5 /Source/Core/VideoCommon/FramebufferShaderGen.h
parent19673ce79af814ca3b77d7f8ea60458e564bfa51 (diff)
parentf039149198657c1891e1c6462ed30c31ed4b8486 (diff)
Merge pull request #7753 from stenzek/videocommon-all-the-things
Move a significant amount of video backend logic to VideoCommon
Diffstat (limited to 'Source/Core/VideoCommon/FramebufferShaderGen.h')
-rw-r--r--Source/Core/VideoCommon/FramebufferShaderGen.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/FramebufferShaderGen.h b/Source/Core/VideoCommon/FramebufferShaderGen.h
new file mode 100644
index 0000000000..0e065521cf
--- /dev/null
+++ b/Source/Core/VideoCommon/FramebufferShaderGen.h
@@ -0,0 +1,32 @@
+#pragma once
+#include <string>
+#include "VideoCommon/VideoCommon.h"
+
+enum class EFBReinterpretType;
+
+namespace FramebufferShaderGen
+{
+struct Config
+{
+ Config(APIType api_type_, u32 efb_samples_, u32 efb_layers_, bool ssaa_)
+ : api_type(api_type_), efb_samples(efb_samples_), efb_layers(efb_layers_), ssaa(ssaa_)
+ {
+ }
+
+ APIType api_type;
+ u32 efb_samples;
+ u32 efb_layers;
+ bool ssaa;
+};
+
+std::string GenerateScreenQuadVertexShader();
+std::string GeneratePassthroughGeometryShader(u32 num_tex, u32 num_colors);
+std::string GenerateTextureCopyVertexShader();
+std::string GenerateTextureCopyPixelShader();
+std::string GenerateResolveDepthPixelShader(u32 samples);
+std::string GenerateClearVertexShader();
+std::string GenerateEFBPokeVertexShader();
+std::string GenerateColorPixelShader();
+std::string GenerateFormatConversionShader(EFBReinterpretType convtype, u32 samples);
+
+} // namespace FramebufferShaderGen