Lines Matching refs:InfoLog
234 InfoLog tempInfoLog;
982 bool ProgramBinary::linkVaryings(InfoLog &infoLog, FragmentShader *fragmentShader, VertexShader *vertexShader)
997 if (!linkValidateVariables(infoLog, output->name, *input, *output))
1011 infoLog.append("Fragment varying %s does not match any vertex varying", input->name.c_str());
1019 bool ProgramBinary::load(InfoLog &infoLog, const void *binary, GLsizei length)
1029 infoLog.append("Invalid program binary format.");
1037 infoLog.append("Invalid program binary version.");
1045 infoLog.append("Invalid program binary version.");
1052 infoLog.append("Mismatched compilation flags.");
1089 infoLog.append("Invalid program binary.");
1122 infoLog.append("Invalid program binary.");
1151 infoLog.append("Invalid program binary.");
1207 infoLog.append("Could not create vertex shader.");
1229 infoLog.append("Could not create pixel shader.");
1244 infoLog.append("Could not create geometry shader.");
1259 infoLog.append("Invalid program binary.");
1459 bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBindings, FragmentShader *fragmentShader, VertexShader *vertexShader,
1483 infoLog, packing, fragmentShader, vertexShader, transformFeedbackVaryings);
1490 if (!linkVaryings(infoLog, fragmentShader, vertexShader))
1497 if (!mDynamicHLSL->generateShaderLinkHLSL(infoLog, registers, packing, pixelHLSL, mVertexHLSL,
1506 if (!linkAttributes(infoLog, attributeBindings, fragmentShader, vertexShader))
1511 if (!linkUniforms(infoLog, vertexShader->getUniforms(), fragmentShader->getUniforms()))
1524 if (!linkUniformBlocks(infoLog, vertexShader->getInterfaceBlocks(), fragmentShader->getInterfaceBlocks()))
1529 if (!gatherTransformFeedbackLinkedVaryings(infoLog, linkedVaryings, transformFeedbackVaryings,
1541 mPixelExecutable = mRenderer->compileToExecutable(infoLog, pixelHLSL.c_str(), rx::SHADER_PIXEL,
1549 mGeometryExecutable = mRenderer->compileToExecutable(infoLog, geometryHLSL.c_str(), rx::SHADER_GEOMETRY,
1557 infoLog.append("Failed to create D3D shaders.");
1577 bool ProgramBinary::linkAttributes(InfoLog &infoLog, const AttributeBindings &attributeBindings, FragmentShader *fragmentShader, VertexShader *vertexShader)
1596 infoLog.append("Active attribute (%s) at location %d is too big to fit", attribute.name.c_str(), location);
1612 infoLog.append("Attribute '%s' aliases attribute '%s' at location %d", attribute.name.c_str(), linkedAttribute.name.c_str(), rowLocation);
1636 infoLog.append("Too many active attributes (%s)", attribute.name.c_str());
1661 bool ProgramBinary::linkValidateVariablesBase(InfoLog &infoLog, const std::string &variableName, const gl::ShaderVariable &vertexVariable, const gl::ShaderVariable &fragmentVariable, bool validatePrecision)
1665 infoLog.append("Types for %s differ between vertex and fragment shaders", variableName.c_str());
1670 infoLog.append("Array sizes for %s differ between vertex and fragment shaders", variableName.c_str());
1675 infoLog.append("Precisions for %s differ between vertex and fragment shaders", variableName.c_str());
1683 bool ProgramBinary::linkValidateFields(InfoLog &infoLog, const std::string &varName, const ShaderVarType &vertexVar, const ShaderVarType &fragmentVar)
1687 infoLog.append("Structure lengths for %s differ between vertex and fragment shaders", varName.c_str());
1698 infoLog.append("Name mismatch for field '%d' of %s: (in vertex: '%s', in fragment: '%s')",
1704 if (!linkValidateVariables(infoLog, memberName, vertexMember, fragmentMember))
1713 bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const gl::Uniform &vertexUniform, const gl::Uniform &fragmentUniform)
1715 if (!linkValidateVariablesBase(infoLog, uniformName, vertexUniform, fragmentUniform, true))
1720 if (!linkValidateFields<gl::Uniform>(infoLog, uniformName, vertexUniform, fragmentUniform))
1728 bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &varyingName, const gl::Varying &vertexVarying, const gl::Varying &fragmentVarying)
1730 if (!linkValidateVariablesBase(infoLog, varyingName, vertexVarying, fragmentVarying, false))
1737 infoLog.append("Interpolation types for %s differ between vertex and fragment shaders", varyingName.c_str());
1741 if (!linkValidateFields<gl::Varying>(infoLog, varyingName, vertexVarying, fragmentVarying))
1749 bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const gl::InterfaceBlockField &vertexUniform, const gl::InterfaceBlockField &fragmentUniform)
1751 if (!linkValidateVariablesBase(infoLog, uniformName, vertexUniform, fragmentUniform, true))
1758 infoLog.append("Matrix packings for %s differ between vertex and fragment shaders", uniformName.c_str());
1762 if (!linkValidateFields<gl::InterfaceBlockField>(infoLog, uniformName, vertexUniform, fragmentUniform))
1770 bool ProgramBinary::linkUniforms(InfoLog &infoLog, const std::vector<gl::Uniform> &vertexUniforms, const std::vector<gl::Uniform> &fragmentUniforms)
1790 if (!linkValidateVariables(infoLog, uniformName, vertexUniform, fragmentUniform))
1799 if (!defineUniform(GL_VERTEX_SHADER, vertexUniforms[uniformIndex], infoLog))
1807 if (!defineUniform(GL_FRAGMENT_SHADER, fragmentUniforms[uniformIndex], infoLog))
1818 TextureType ProgramBinary::getTextureType(GLenum samplerType, InfoLog &infoLog)
1848 bool ProgramBinary::defineUniform(GLenum shader, const gl::Uniform &constant, InfoLog &infoLog)
1870 if (!defineUniform(shader, fieldUniform, infoLog))
1889 if (!defineUniform(shader, fieldUniform, infoLog))
1910 mSamplersVS[samplerIndex].textureType = getTextureType(constant.type, infoLog);
1916 infoLog.append("Vertex shader sampler count exceeds the maximum vertex texture units (%d).", mRenderer->getMaxVertexTextureImageUnits());
1925 mSamplersPS[samplerIndex].textureType = getTextureType(constant.type, infoLog);
1931 infoLog.append("Pixel shader sampler count exceeds MAX_TEXTURE_IMAGE_UNITS (%d).", MAX_TEXTURE_IMAGE_UNITS);
1988 infoLog.append("Vertex shader active uniforms exceed GL_MAX_VERTEX_UNIFORM_VECTORS (%u)", mRenderer->getMaxVertexUniformVectors());
1996 infoLog.append("Fragment shader active uniforms exceed GL_MAX_FRAGMENT_UNIFORM_VECTORS (%u)", mRenderer->getMaxFragmentUniformVectors());
2005 bool ProgramBinary::areMatchingInterfaceBlocks(InfoLog &infoLog, const gl::InterfaceBlock &vertexInterfaceBlock, const gl::InterfaceBlock &fragmentInterfaceBlock)
2012 infoLog.append("Types for interface block '%s' differ between vertex and fragment shaders", blockName);
2018 infoLog.append("Array sizes differ for interface block '%s' between vertex and fragment shaders", blockName);
2024 infoLog.append("Layout qualifiers differ for interface block '%s' between vertex and fragment shaders", blockName);
2036 infoLog.append("Name mismatch for field %d of interface block '%s': (in vertex: '%s', in fragment: '%s')",
2042 if (!linkValidateVariables(infoLog, uniformName, vertexMember, fragmentMember))
2051 bool ProgramBinary::linkUniformBlocks(InfoLog &infoLog, const std::vector<gl::InterfaceBlock> &vertexInterfaceBlocks,
2071 if (!areMatchingInterfaceBlocks(infoLog, vertexInterfaceBlock, fragmentInterfaceBlock))
2080 if (!defineUniformBlock(infoLog, GL_VERTEX_SHADER, vertexInterfaceBlocks[blockIndex]))
2088 if (!defineUniformBlock(infoLog, GL_FRAGMENT_SHADER, fragmentInterfaceBlocks[blockIndex]))
2097 bool ProgramBinary::gatherTransformFeedbackLinkedVaryings(InfoLog &infoLog, const std::vector<LinkedVarying> &linkedVaryings,
2119 infoLog.append("Two transform feedback varyings specify the same output variable (%s).", linkedVaryings[j].name.c_str());
2128 infoLog.append("Transform feedback varying's %s components (%u) exceed the maximum separate components (%u).",
2147 infoLog.append("Transform feedback varying total components (%u) exceed the maximum interleaved components (%u).",
2190 bool ProgramBinary::defineUniformBlock(InfoLog &infoLog, GLenum shader, const gl::InterfaceBlock &interfaceBlock)
2231 if (!assignUniformBlockRegister(infoLog, uniformBlock, shader, interfaceBlock.registerIndex + uniformBlockElement))
2240 bool ProgramBinary::assignUniformBlockRegister(InfoLog &infoLog, UniformBlock *uniformBlock, GLenum shader, unsigned int registerIndex)
2249 infoLog.append("Vertex shader uniform block count exceed GL_MAX_VERTEX_UNIFORM_BLOCKS (%u)", maximumBlocks);
2260 infoLog.append("Fragment shader uniform block count exceed GL_MAX_FRAGMENT_UNIFORM_BLOCKS (%u)", maximumBlocks);
2517 void ProgramBinary::validate(InfoLog &infoLog)
2520 if (!validateSamplers(&infoLog))
2530 bool ProgramBinary::validateSamplers(InfoLog *infoLog)
2552 if (infoLog)
2554 infoLog->append("Sampler uniform (%d) exceeds IMPLEMENTATION_MAX_COMBINED_TEXTURE_IMAGE_UNITS (%d)", unit, maxCombinedTextureImageUnits);
2564 if (infoLog)
2566 infoLog->append("Samplers of conflicting types refer to the same texture image unit (%d).", unit);
2587 if (infoLog)
2589 infoLog->append("Sampler uniform (%d) exceeds IMPLEMENTATION_MAX_COMBINED_TEXTURE_IMAGE_UNITS (%d)", unit, maxCombinedTextureImageUnits);
2599 if (infoLog)
2601 infoLog->append("Samplers of conflicting types refer to the same texture image unit (%d).", unit);