summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorTony Wasserka <neobrainx@gmail.com>2014-02-27 22:38:37 +0100
committerTony Wasserka <neobrainx@gmail.com>2014-02-27 22:38:37 +0100
commit1f5b3c928f8c34d4f75cb4ed48c89a39fa331e9f (patch)
treee98d2e07d8244790c5fde33aa0195aece53473b4 /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
parent698bf8f2d3fdde77484bce30cb1c0baa3c8e88ba (diff)
parentf628695d31f09ad14dd9ae65c318470160698aa7 (diff)
Merge pull request #108 from degasus/GLSLUtilShader
GLSL utility shader optimization
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
index 79826860a7..0de9034f51 100644
--- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
+++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
@@ -452,12 +452,6 @@ void ProgramShaderCache::CreateHeader ( void )
// Precision defines for GLSLES3
"%s\n"
- "\n"// A few required defines and ones that will make our lives a lot easier
- "#define ATTRIN in\n"
- "#define ATTROUT out\n"
- "#define VARYIN %s\n"
- "#define VARYOUT %s\n"
-
// Silly differences
"#define float2 vec2\n"
"#define float3 vec3\n"
@@ -470,8 +464,9 @@ void ProgramShaderCache::CreateHeader ( void )
"#define frac fract\n"
"#define lerp mix\n"
- // Terrible hack, look at DriverDetails.h
- "%s\n"
+ // Terrible hacks, look at DriverDetails.h
+ "%s\n" // replace textureSize as constant
+ "%s\n" // wipe out all centroid usages
, v==GLSLES3 ? "#version 300 es" : v==GLSL_130 ? "#version 130" : v==GLSL_140 ? "#version 140" : "#version 150"
, v<GLSL_140 ? "#extension GL_ARB_uniform_buffer_object : enable" : ""
@@ -480,9 +475,8 @@ void ProgramShaderCache::CreateHeader ( void )
, v==GLSLES3 ? "precision highp float;" : ""
- , DriverDetails::HasBug(DriverDetails::BUG_BROKENCENTROID) ? "in" : "centroid in"
- , DriverDetails::HasBug(DriverDetails::BUG_BROKENCENTROID) ? "out" : "centroid out"
, DriverDetails::HasBug(DriverDetails::BUG_BROKENTEXTURESIZE) ? "#define textureSize(x, y) ivec2(1, 1)" : ""
+ , DriverDetails::HasBug(DriverDetails::BUG_BROKENCENTROID) ? "#define centroid" : ""
);
}