Lines Matching refs:lines
468 // Use axis projected (inaccurate) method, i.e. for X-major lines:
602 * correct line interpolations for the triangulated lines.
630 const float wa = scene.lines[lineNdx].positions[0].w();
631 const float wb = scene.lines[lineNdx].positions[1].w();
632 const tcu::Vec2 pa = tcu::Vec2((scene.lines[lineNdx].positions[0].x() / wa + 1.0f) * 0.5f * (float)viewportSize.x(),
633 (scene.lines[lineNdx].positions[0].y() / wa + 1.0f) * 0.5f * (float)viewportSize.y());
634 const tcu::Vec2 pb = tcu::Vec2((scene.lines[lineNdx].positions[1].x() / wb + 1.0f) * 0.5f * (float)viewportSize.x(),
635 (scene.lines[lineNdx].positions[1].y() / wb + 1.0f) * 0.5f * (float)viewportSize.y());
929 triangleScene.triangles.resize(2 * scene.lines.size());
930 for (int lineNdx = 0; lineNdx < (int)scene.lines.size(); ++lineNdx)
943 tcu::Vec2(scene.lines[lineNdx].positions[0].x() / scene.lines[lineNdx].positions[0].w(), scene.lines[lineNdx].positions[0].y() / scene.lines[lineNdx].positions[0].w()),
944 tcu::Vec2(scene.lines[lineNdx].positions[1].x() / scene.lines[lineNdx].positions[1].w(), scene.lines[lineNdx].positions[1].y() / scene.lines[lineNdx].positions[1].w()),
1118 triangleScene.triangles.resize(2 * scene.lines.size());
1119 for (int lineNdx = 0; lineNdx < (int)scene.lines.size(); ++lineNdx)
1122 const float wa = scene.lines[lineNdx].positions[0].w();
1123 const float wb = scene.lines[lineNdx].positions[1].w();
1128 tcu::Vec2(scene.lines[lineNdx].positions[0].x() / wa, scene.lines[lineNdx].positions[0].y() / wa),
1129 tcu::Vec2(scene.lines[lineNdx].positions[1].x() / wb, scene.lines[lineNdx].positions[1].y() / wb),
1174 triangleScene.triangles[lineNdx*2 + 0].colors[0] = scene.lines[lineNdx].colors[0];
1175 triangleScene.triangles[lineNdx*2 + 0].colors[1] = scene.lines[lineNdx].colors[0];
1176 triangleScene.triangles[lineNdx*2 + 0].colors[2] = scene.lines[lineNdx].colors[1];
1186 triangleScene.triangles[lineNdx*2 + 1].colors[0] = scene.lines[lineNdx].colors[0];
1187 triangleScene.triangles[lineNdx*2 + 1].colors[1] = scene.lines[lineNdx].colors[1];
1188 triangleScene.triangles[lineNdx*2 + 1].colors[2] = scene.lines[lineNdx].colors[1];
1199 // For non-strict lines some allowance needs to be inplace for a few different styles of implementation.
1283 // to a change in how lines are specified in Vulkan versus GLES; in GLES bresenham lines using the
1284 // diamond-exit rule were the preferred way to draw single pixel non-antialiased lines, and not all
1288 log << tcu::TestLog::Message << "Checking line rasterisation using verifySinglesampleNarrowLineGroupInterpolation for nonStrict lines" << tcu::TestLog::EndMessage;
1293 log << tcu::TestLog::Message << "verifySinglesampleNarrowLineGroupInterpolation for nonStrict lines Passed" << tcu::TestLog::EndMessage;
1338 void genScreenSpaceLines (std::vector<tcu::Vec4>& screenspaceLines, const std::vector<LineSceneSpec::SceneLine>& lines, const tcu::IVec2& viewportSize)
1340 DE_ASSERT(screenspaceLines.size() == lines.size());
1342 for (int lineNdx = 0; lineNdx < (int)lines.size(); ++lineNdx)
1346 tcu::Vec2(lines[lineNdx].positions[0].x() / lines[lineNdx].positions[0].w(), lines[lineNdx].positions[0].y() / lines[lineNdx].positions[0].w()),
1347 tcu::Vec2(lines[lineNdx].positions[1].x() / lines[lineNdx].positions[1].w(), lines[lineNdx].positions[1].y() / lines[lineNdx].positions[1].w()),
1362 DE_ASSERT(scene.lines.size() < 255); // indices are stored as unsigned 8-bit ints
1369 std::vector<bool> lineIsXMajor (scene.lines.size());
1370 std::vector<tcu::Vec4> screenspaceLines(scene.lines.size());
1372 // Reference renderer produces correct fragments using the diamond-rule. Make 2D int array, each cell contains the highest index (first index = 1) of the overlapping lines or 0 if no line intersects the pixel
1376 genScreenSpaceLines(screenspaceLines, scene.lines, tcu::IVec2(surface.getWidth(), surface.getHeight()));
1379 for (int lineNdx = 0; lineNdx < (int)scene.lines.size(); ++lineNdx)
1497 int allowedDeviation = (int)scene.lines.size() * lineWidth; // one pixel per primitive in the major direction
1539 log << tcu::TestLog::Message << "Verifying line widths of the x-major lines." << tcu::TestLog::EndMessage;
1623 log << tcu::TestLog::Message << "Verifying line widths of the y-major lines." << tcu::TestLog::EndMessage;
1813 DE_ASSERT(scene.lines.size() < 8); // coverage indices are stored as bitmask in a unsigned 8-bit ints
1822 std::vector<tcu::Vec4> screenspaceLines (scene.lines.size()); //!< packed (x0, y0, x1, y1)
1825 // The map is used to find lines with potential coverage to a given pixel
1839 genScreenSpaceLines(screenspaceLines, scene.lines, viewportSize);
1842 // Find all possible lines with coverage, check pixel color matches one of them
1849 int lineCoverageSet = 0; // !< lines that may cover this fragment
1850 int lineSurroundingCoverage = 0xFFFF; // !< lines that will cover this fragment
1856 // Find lines with possible coverage
1871 // Check those lines
1873 for (int lineNdx = 0; lineNdx < (int)scene.lines.size(); ++lineNdx)
1877 const float wa = scene.lines[lineNdx].positions[0].w();
1878 const float wb = scene.lines[lineNdx].positions[1].w();
1886 const tcu::Vec4 valueMin = de::clamp(range.min.x(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[0] + de::clamp(range.min.y(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[1];
1887 const tcu::Vec4 valueMax = de::clamp(range.max.x(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[0] + de::clamp(range.max.y(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[1];
2054 DE_ASSERT(scene.lines.size() < 8); // coverage indices are stored as bitmask in a unsigned 8-bit ints
2067 std::vector<tcu::Vec4> effectiveLines (scene.lines.size()); //!< packed (x0, y0, x1, y1)
2068 std::vector<bool> lineIsXMajor (scene.lines.size());
2072 std::vector<std::vector<deUint32> > rootPixelLocation (scene.lines.size()); //!< packed [16b - flags] [16b - coordinate]
2081 // The map is used to find lines with potential coverage to a given pixel
2089 std::vector<tcu::Vec4> screenspaceLines(scene.lines.size());
2091 genScreenSpaceLines(screenspaceLines, scene.lines, viewportSize);
2094 for (int lineNdx = 0; lineNdx < (int)scene.lines.size(); ++lineNdx)
2116 for (int lineNdx = 0; lineNdx < (int)scene.lines.size(); ++lineNdx)
2171 // Find all possible lines with coverage, check pixel color matches one of them
2178 int lineCoverageSet = 0; // !< lines that may cover this fragment
2179 int lineSurroundingCoverage = 0xFFFF; // !< lines that will cover this fragment
2185 // Find lines with possible coverage
2200 // Check those lines
2202 for (int lineNdx = 0; lineNdx < (int)scene.lines.size(); ++lineNdx)
2206 const float wa = scene.lines[lineNdx].positions[0].w();
2207 const float wb = scene.lines[lineNdx].positions[1].w();
2245 const tcu::Vec4 valueMin = de::clamp(range.min.x(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[0] + de::clamp(range.min.y(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[1];
2246 const tcu::Vec4 valueMax = de::clamp(range.max.x(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[0] + de::clamp(range.max.y(), 0.0f, 1.0f) * scene.lines[lineNdx].colors[1];
2299 // no need to check other lines