diff --git a/Source/Core/VideoCommon/Src/TextureConversionShader.cpp b/Source/Core/VideoCommon/Src/TextureConversionShader.cpp index bc3450d56e..c3a440009f 100644 --- a/Source/Core/VideoCommon/Src/TextureConversionShader.cpp +++ b/Source/Core/VideoCommon/Src/TextureConversionShader.cpp @@ -627,15 +627,15 @@ void WriteZ24Encoder(char* p) WRITE(p, " if(cl > 0.5f) {\n"); // upper 16 WRITE(p, " ocol0.b = frac(depth0 * 256.0f);\n"); - WRITE(p, " ocol0.g = depth0\n"); + WRITE(p, " ocol0.g = depth0;\n"); WRITE(p, " ocol0.r = frac(depth1 * 256.0f);\n"); - WRITE(p, " ocol0.a = depth1\n"); + WRITE(p, " ocol0.a = depth1;\n"); WRITE(p, " } else {\n"); // lower 8 WRITE(p, " ocol0.b = 1.0f;\n"); - WRITE(p, " ocol0.g = frac(depth0 * 65536.0f)\n"); - WRITE(p, " ocol0.r = 1.0f);\n"); - WRITE(p, " ocol0.a = frac(depth0 * 65536.0f)\n"); + WRITE(p, " ocol0.g = frac(depth0 * 65536.0f);\n"); + WRITE(p, " ocol0.r = 1.0f;\n"); + WRITE(p, " ocol0.a = frac(depth0 * 65536.0f);\n"); WRITE(p, " }\n" "}\n"); } diff --git a/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp index 6006268416..ff12edcac2 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp @@ -251,11 +251,20 @@ bool PixelShaderCache::CompilePixelShader(FRAGMENTSHADER& ps, const char* pstrpr sprintf(stropt, "MaxLocalParams=32,NumInstructionSlots=%d", s_nMaxPixelInstructions); const char *opts[] = {"-profileopts", stropt, "-O2", "-q", NULL}; CGprogram tempprog = cgCreateProgram(g_cgcontext, CG_SOURCE, pstrprogram, g_cgfProf, "main", opts); - if (!cgIsProgram(tempprog) || cgGetError() != CG_NO_ERROR) { - cgDestroyProgram(tempprog); - ERROR_LOG(VIDEO, "Failed to compile ps %s:", cgGetLastListing(g_cgcontext)); - ERROR_LOG(VIDEO, pstrprogram); - return false; + + // handle errors + if (!cgIsProgram(tempprog)) { + cgDestroyProgram(tempprog); + ERROR_LOG(VIDEO, "Failed to compile ps %s:", cgGetLastListing(g_cgcontext)); + ERROR_LOG(VIDEO, pstrprogram); + return false; + } + + // handle warnings + if(cgGetError() != CG_NO_ERROR) + { + WARN_LOG(VIDEO, "Warnings on compile ps %s:", cgGetLastListing(g_cgcontext)); + WARN_LOG(VIDEO, pstrprogram); } // This looks evil - we modify the program through the const char * we got from cgGetProgramString! diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp index 1da19803c1..84e7a14409 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp @@ -196,7 +196,7 @@ bool VertexShaderCache::CompileVertexShader(VERTEXSHADER& vs, const char* pstrpr sprintf(stropt, "MaxLocalParams=256,MaxInstructions=%d", s_nMaxVertexInstructions); const char *opts[] = {"-profileopts", stropt, "-O2", "-q", NULL}; CGprogram tempprog = cgCreateProgram(g_cgcontext, CG_SOURCE, pstrprogram, g_cgvProf, "main", opts); - if (!cgIsProgram(tempprog) || cgGetError() != CG_NO_ERROR) { + if (!cgIsProgram(tempprog)) { if (s_displayCompileAlert) { PanicAlert("Failed to create vertex shader"); s_displayCompileAlert = false; @@ -207,6 +207,12 @@ bool VertexShaderCache::CompileVertexShader(VERTEXSHADER& vs, const char* pstrpr return false; } + if(cgGetError() != CG_NO_ERROR) + { + WARN_LOG(VIDEO, "Failed to load vs %s:", cgGetLastListing(g_cgcontext)); + WARN_LOG(VIDEO, pstrprogram); + } + // This looks evil - we modify the program through the const char * we got from cgGetProgramString! // It SHOULD not have any nasty side effects though - but you never know... char *pcompiledprog = (char*)cgGetProgramString(tempprog, CG_COMPILED_PROGRAM);