summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexShaderGen.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2015-11-04 13:42:49 +1300
committerScott Mansell <phiren@gmail.com>2015-11-04 13:42:49 +1300
commite161e714c76e64d7dee98c93df6e143eae73b41e (patch)
treebdd03a63a59cd2b61c19403df9a71689e22a2353 /Source/Core/VideoCommon/VertexShaderGen.cpp
parent9cc4cffa1d3618a875b0c9070c4e26cf3074036d (diff)
parent71d1eb3c313535b5003884bb862635d4d2f8aae9 (diff)
Merge pull request #3226 from Tilka/shadergen
VideoCommon: return code/uid from shader gens
Diffstat (limited to 'Source/Core/VideoCommon/VertexShaderGen.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexShaderGen.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/Source/Core/VideoCommon/VertexShaderGen.cpp b/Source/Core/VideoCommon/VertexShaderGen.cpp
index f00a6d760c..4f6331cfde 100644
--- a/Source/Core/VideoCommon/VertexShaderGen.cpp
+++ b/Source/Core/VideoCommon/VertexShaderGen.cpp
@@ -16,8 +16,9 @@
static char text[16768];
template<class T>
-static inline void GenerateVertexShader(T& out, API_TYPE api_type)
+static inline T GenerateVertexShader(API_TYPE api_type)
{
+ T out;
const u32 components = VertexLoaderManager::g_current_components;
// Non-uid template parameters will write to the dummy data (=> gets optimized out)
vertex_shader_uid_data dummy_data;
@@ -394,14 +395,16 @@ static inline void GenerateVertexShader(T& out, API_TYPE api_type)
if (text[sizeof(text) - 1] != 0x7C)
PanicAlert("VertexShader generator - buffer too small, canary has been eaten!");
}
+
+ return out;
}
-void GetVertexShaderUid(VertexShaderUid& object, API_TYPE api_type)
+VertexShaderUid GetVertexShaderUid(API_TYPE api_type)
{
- GenerateVertexShader<VertexShaderUid>(object, api_type);
+ return GenerateVertexShader<VertexShaderUid>(api_type);
}
-void GenerateVertexShaderCode(ShaderCode& object, API_TYPE api_type)
+ShaderCode GenerateVertexShaderCode(API_TYPE api_type)
{
- GenerateVertexShader<ShaderCode>(object, api_type);
+ return GenerateVertexShader<ShaderCode>(api_type);
}