diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2011-12-10 07:38:30 -0600 |
|---|---|---|
| committer | Sonicadvance1 <sonicadvance1@RH-Live.(none)> | 2012-10-09 23:41:05 -0500 |
| commit | 1f75ee49bf3003b10a41d93c0848573b38a7b440 (patch) | |
| tree | f99ee819fac072118bcf0b1eaf817596528f38b9 /Source/Core/VideoCommon/Src/PixelShaderGen.cpp | |
| parent | 904adb9e3dbc2af4c34740022ecabe3c1493c725 (diff) | |
UBO works for Pixel Shaders if Binding for UBO is zero, otherwise fails. Probably why Vertex shader UBO is failing. Too tired to investigate right now.
Diffstat (limited to 'Source/Core/VideoCommon/Src/PixelShaderGen.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/PixelShaderGen.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp index 05997bd1db..d6a128ac4f 100644 --- a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp +++ b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp @@ -511,11 +511,11 @@ static void BuildSwapModeTable() const char* WriteRegister(API_TYPE ApiType, const char *prefix, const u32 num) { - if(ApiType == API_GLSL) - return ""; // Nothing to do here - static char result[64]; - sprintf(result, " : register(%s%d)", prefix, num); - return result; + if(ApiType == API_GLSL) + return ""; // Nothing to do here + static char result[64]; + sprintf(result, " : register(%s%d)", prefix, num); + return result; } const char* WriteBinding(API_TYPE ApiType, const u32 num) { @@ -527,9 +527,9 @@ const char* WriteBinding(API_TYPE ApiType, const u32 num) } const char *WriteLocation(API_TYPE ApiType) { - static char result[64]; if(ApiType == API_GLSL && g_ActiveConfig.backend_info.bSupportsGLSLUBO) return ""; + static char result[64]; sprintf(result, "uniform "); return result; } @@ -620,7 +620,7 @@ const char *GeneratePixelShaderCode(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType WRITE(p, "\n"); if(ApiType == API_GLSL && g_ActiveConfig.backend_info.bSupportsGLSLUBO) - WRITE(p, "layout(std140, binding = 4) uniform PSBlock {\n"); + WRITE(p, "layout(std140, binding = 0) uniform PSBlock {\n"); WRITE(p, "%sfloat4 "I_COLORS"[4] %s;\n", WriteLocation(ApiType), WriteRegister(ApiType, "c", C_COLORS)); WRITE(p, "%sfloat4 "I_KCOLORS"[4] %s;\n", WriteLocation(ApiType), WriteRegister(ApiType, "c", C_KCOLORS)); |
