Lines Matching full:uniform
21 * \brief Uniform block case.
186 // Uniform implementation.
188 Uniform::Uniform (const char* name, const VarType& type, deUint32 flags)
594 const Uniform& uniform = *uniformIter;
595 computeStd140Layout(layout, curOffset, activeBlockNdx, blockPrefix + uniform.getName(), uniform.getType(), mergeLayoutFlags(block.getFlags(), uniform.getFlags()));
612 // Compute active uniform set for block.
813 void generateDeclaration (std::ostringstream& src, const Uniform& uniform, int indentLevel);
906 void generateDeclaration (std::ostringstream& src, const Uniform& uniform, int indentLevel)
908 if ((uniform.getFlags() & LAYOUT_MASK) != 0)
909 src << "layout(" << LayoutFlagsFmt(uniform.getFlags() & LAYOUT_MASK) << ") ";
911 generateDeclaration(src, uniform.getType(), uniform.getName(), indentLevel, uniform.getFlags() & UNUSED_BOTH);
919 src << "uniform " << block.getBlockName();
1081 const Uniform& uniform = *uniformIter;
1083 if (uniform.getFlags() & unusedMask)
1084 continue; // Don't read from that uniform.
1086 generateCompareSrc(src, resultVar, uniform.getType(), (srcPrefix + uniform.getName()).c_str(), (apiPrefix + uniform.getName()).c_str(), layout, basePtr, unusedMask);
1175 GLU_EXPECT_NO_ERROR(gl.getError(), "Failed to get number of uniforms and uniform blocks");
1190 GLU_EXPECT_NO_ERROR(gl.getError(), "Uniform block query failed");
1203 GLU_EXPECT_NO_ERROR(gl.getError(), "Uniform block query failed");
1208 // Uniform entries.
1232 GLU_EXPECT_NO_ERROR(gl.getError(), "Active uniform query failed");
1246 GLU_EXPECT_NO_ERROR(gl.getError(), "Uniform name query failed");
1368 GLU_EXPECT_NO_ERROR(m_renderCtx.getFunctions().getError(), "Failed to allocate uniform buffer");
1448 log << TestLog::Section("ActiveUniformBlocks", "Active Uniform Blocks");
1480 // Assign binding points to all active uniform blocks.
1487 GLU_EXPECT_NO_ERROR(gl.getError(), "Failed to set uniform block bindings");
1512 GLU_EXPECT_NO_ERROR(gl.getError(), "Failed to upload uniform buffer data");
1557 GLU_EXPECT_NO_ERROR(gl.getError(), "Failed to upload uniform buffer data");
1600 log << TestLog::Message << "Error: Uniform block '" << instanceName << "' not found" << TestLog::EndMessage;
1628 log << TestLog::Message << "Error: Uniform '" << refEntry.name << "' not found" << TestLog::EndMessage;
1679 log << TestLog::Message << "Error: Uniform block '" << instanceName << "' not found" << TestLog::EndMessage;
1705 log << TestLog::Message << "Error: Uniform '" << refEntry.name << "' not found" << TestLog::EndMessage;
1762 log << TestLog::Message << "Error: Uniform '" << cmpEntry.name << "' not found in reference layout" << TestLog::EndMessage;
1772 log << TestLog::Message << "Error: Uniform type mismatch in '" << refEntry.name << "':\n"
1792 // Check uniform block indices.
1795 const UniformLayoutEntry& uniform = layout.uniforms[uniformNdx];
1797 if (uniform.blockNdx < 0 || !deInBounds32(uniform.blockNdx, 0, numBlocks))
1799 log << TestLog::Message << "Error: Invalid block index in uniform '" << uniform.name << "'" << TestLog::EndMessage;
1813 log << TestLog::Message << "Error: Invalid active uniform index " << *uniformIter << " in block '" << block.name << "'" << TestLog::EndMessage;
1830 const UniformLayoutEntry& uniform = layout.uniforms[uniformNdx];
1832 if (uniform.blockNdx < 0)
1835 const BlockLayoutEntry& block = layout.blocks[uniform.blockNdx];
1836 bool isMatrix = glu::isDataTypeMatrix(uniform.type);
1837 int numVecs = isMatrix ? (uniform.isRowMajor ? glu::getDataTypeMatrixNumRows(uniform.type) : glu::getDataTypeMatrixNumColumns(uniform.type)) : 1;
1838 int numComps = isMatrix ? (uniform.isRowMajor ? glu::getDataTypeMatrixNumColumns(uniform.type) : glu::getDataTypeMatrixNumRows(uniform.type)) : glu::getDataTypeScalarSize(uniform.type);
1839 int numElements = uniform.size;
1847 minOffset = de::min(minOffset, (numVecs-1)*uniform.matrixStride);
1848 minOffset = de::min(minOffset, (numElements-1)*uniform.arrayStride);
1849 minOffset = de::min(minOffset, (numElements-1)*uniform.arrayStride + (numVecs-1)*uniform.matrixStride);
1852 maxOffset = de::max(maxOffset, (numVecs-1)*uniform.matrixStride + vecSize);
1853 maxOffset = de::max(maxOffset, (numElements-1)*uniform.arrayStride + vecSize);
1854 maxOffset = de::max(maxOffset, (numElements-1)*uniform.arrayStride + (numVecs-1)*uniform.matrixStride + vecSize);
1856 if (uniform.offset+minOffset < 0 || uniform.offset+maxOffset > block.size)
1858 log << TestLog::Message << "Error: Uniform '" << uniform.name << "' out of block bounds" << TestLog::EndMessage;
1872 // \note Spec mandates that uniform blocks are assigned consecutive locations from 0