Lines Matching refs:state
812 void transformVertexClipCoordsToWindowCoords (const RenderState& state, VertexPacket& packet)
824 const WindowRectangle& viewport = state.viewport.rect;
829 const float zn = state.viewport.zn;
830 const float zf = state.viewport.zf;
839 void transformPrimitiveClipCoordsToWindowCoords (const RenderState& state, pa::Triangle& target)
841 transformVertexClipCoordsToWindowCoords(state, *target.v0);
842 transformVertexClipCoordsToWindowCoords(state, *target.v1);
843 transformVertexClipCoordsToWindowCoords(state, *target.v2);
846 void transformPrimitiveClipCoordsToWindowCoords (const RenderState& state, pa::Line& target)
848 transformVertexClipCoordsToWindowCoords(state, *target.v0);
849 transformVertexClipCoordsToWindowCoords(state, *target.v1);
852 void transformPrimitiveClipCoordsToWindowCoords (const RenderState& state, pa::Point& target)
854 transformVertexClipCoordsToWindowCoords(state, *target.v0);
858 void transformClipCoordsToWindowCoords (const RenderState& state, ContainerType& list)
861 transformPrimitiveClipCoordsToWindowCoords(state, *it);
1029 void writeFragmentPackets (const RenderState& state,
1070 rr::FragmentOperationState noStencilDepthWriteState(state.fragOps);
1079 // Only the last output-pass has default state, other passes have stencil & depth writemask=0
1080 const rr::FragmentOperationState& fragOpsState = (outputNdx == numOutputs-1) ? (state.fragOps) : (noStencilDepthWriteState);
1104 void rasterizePrimitive (const RenderState& state,
1112 const float depthClampMin = de::min(state.viewport.zn, state.viewport.zf);
1113 const float depthClampMax = de::max(state.viewport.zn, state.viewport.zf);
1114 TriangleRasterizer rasterizer (renderTargetRect, numSamples, state.rasterization, state.subpixelBits);
1121 if ((state.cullMode == CULLMODE_FRONT && visibleFace == FACETYPE_FRONT) ||
1122 (state.cullMode == CULLMODE_BACK && visibleFace == FACETYPE_BACK))
1129 if (buffers.fragmentDepthBuffer && state.fragOps.polygonOffsetEnabled)
1134 depthOffset = maximumDepthSlope * state.fragOps.polygonOffsetFactor + minimumResolvableDifference * state.fragOps.polygonOffsetUnits;
1153 if (buffers.fragmentDepthBuffer && state.fragOps.polygonOffsetEnabled)
1162 if (buffers.fragmentDepthBuffer && state.fragOps.depthClampEnabled)
1168 writeFragmentPackets(state, renderTarget, program, &buffers.fragmentPackets[0], numRasterizedPackets, visibleFace, buffers.shaderOutputs, buffers.shaderOutputsSrc1, buffers.fragmentDepthBuffer, buffers.shadedFragments);
1172 void rasterizePrimitive (const RenderState& state,
1180 const float depthClampMin = de::min(state.viewport.zn, state.viewport.zf);
1181 const float depthClampMax = de::max(state.viewport.zn, state.viewport.zf);
1184 SingleSampleLineRasterizer aliasedRasterizer (renderTargetRect, state.subpixelBits);
1185 MultiSampleLineRasterizer msaaRasterizer (numSamples, renderTargetRect, state.subpixelBits);
1189 msaaRasterizer.init(line.v0->position, line.v1->position, state.line.lineWidth);
1191 aliasedRasterizer.init(line.v0->position, line.v1->position, state.line.lineWidth, 1, 0xFFFF);
1215 if (buffers.fragmentDepthBuffer && state.fragOps.depthClampEnabled)
1221 writeFragmentPackets(state, renderTarget, program, &buffers.fragmentPackets[0], numRasterizedPackets, rr::FACETYPE_FRONT, buffers.shaderOutputs, buffers.shaderOutputsSrc1, buffers.fragmentDepthBuffer, buffers.shadedFragments);
1225 void rasterizePrimitive (const RenderState& state,
1233 const float depthClampMin = de::min(state.viewport.zn, state.viewport.zf);
1234 const float depthClampMax = de::max(state.viewport.zn, state.viewport.zf);
1235 TriangleRasterizer rasterizer1 (renderTargetRect, numSamples, state.rasterization, state.subpixelBits);
1236 TriangleRasterizer rasterizer2 (renderTargetRect, numSamples, state.rasterization, state.subpixelBits);
1280 if (buffers.fragmentDepthBuffer && state.fragOps.depthClampEnabled)
1286 writeFragmentPackets(state, renderTarget, program, &buffers.fragmentPackets[0], numRasterizedPackets, rr::FACETYPE_FRONT, buffers.shaderOutputs, buffers.shaderOutputsSrc1, buffers.fragmentDepthBuffer, buffers.shadedFragments);
1291 void rasterize (const RenderState& state,
1300 const tcu::IVec4 viewportRect = tcu::IVec4(state.viewport.rect.left, state.viewport.rect.bottom, state.viewport.rect.width, state.viewport.rect.height);
1330 rasterizePrimitive(state, renderTarget, program, *it, renderTargetRect, buffers);
1337 void drawBasicPrimitives (const RenderState& state, const RenderTarget& renderTarget, const Program& program, ContainerType& primList, VertexPacketAllocator& vpalloc)
1339 const bool clipZ = !state.fragOps.depthClampEnabled;
1351 transformClipCoordsToWindowCoords(state, primList);
1354 rasterize(state, renderTarget, program, primList);
1394 void drawGeometryShaderOutputAsPrimitives (const RenderState& state, const RenderTarget& renderTarget, const Program& program, VertexPacket* const* vertices, size_t numVertices, VertexPacketAllocator& vpalloc)
1401 PrimitiveTypeTraits<DrawPrimitiveType>::Assembler::exec(inputPrimitives.begin(), vertices, numVertices, state.provokingVertexConvention); // \note input Primitives are baseType_t => only basic primitives (non adjacency) will compile
1409 drawBasicPrimitives(state, renderTarget, program, inputPrimitives, vpalloc);
1413 void drawWithGeometryShader(const RenderState& state, const RenderTarget& renderTarget, const Program& program, std::vector<typename PrimitiveTypeTraits<DrawPrimitiveType>::Type>& input, DrawContext& drawContext)
1464 case rr::GEOMETRYSHADEROUTPUTTYPE_POINTS: drawGeometryShaderOutputAsPrimitives<PRIMITIVETYPE_POINTS> (state, renderTarget, program, &emitted[primitiveBegin], primitiveEnd-primitiveBegin, vpalloc); break;
1465 case rr::GEOMETRYSHADEROUTPUTTYPE_LINE_STRIP: drawGeometryShaderOutputAsPrimitives<PRIMITIVETYPE_LINE_STRIP> (state, renderTarget, program, &emitted[primitiveBegin], primitiveEnd-primitiveBegin, vpalloc); break;
1466 case rr::GEOMETRYSHADEROUTPUTTYPE_TRIANGLE_STRIP: drawGeometryShaderOutputAsPrimitives<PRIMITIVETYPE_TRIANGLE_STRIP> (state, renderTarget, program, &emitted[primitiveBegin], primitiveEnd-primitiveBegin, vpalloc); break;
1481 void drawAsPrimitives (const RenderState& state, const RenderTarget& renderTarget, const Program& program, VertexPacket* const* vertices, int numVertices, DrawContext& drawContext, VertexPacketAllocator& vpalloc)
1487 PrimitiveTypeTraits<DrawPrimitiveType>::Assembler::exec(inputPrimitives.begin(), vertices, (size_t)numVertices, state.provokingVertexConvention);
1490 //if (state.tesselation)
1491 // primList = state.tesselation.exec(primList);
1497 drawWithGeometryShader<DrawPrimitiveType>(state, renderTarget, program, inputPrimitives, drawContext);
1513 drawBasicPrimitives(state, renderTarget, program, basePrimitives, vpalloc);
1792 !(command.state.restart.enabled && command.primitives.isRestartIndex(elementNdx, command.state.restart.restartIndex)))
1799 vertexPackets[numVertexPackets]->pointSize = command.state.point.pointSize; // default value from the current state
1820 case PRIMITIVETYPE_TRIANGLES: { drawAsPrimitives<PRIMITIVETYPE_TRIANGLES> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1821 case PRIMITIVETYPE_TRIANGLE_STRIP: { drawAsPrimitives<PRIMITIVETYPE_TRIANGLE_STRIP> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1822 case PRIMITIVETYPE_TRIANGLE_FAN: { drawAsPrimitives<PRIMITIVETYPE_TRIANGLE_FAN> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1823 case PRIMITIVETYPE_LINES: { drawAsPrimitives<PRIMITIVETYPE_LINES> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1824 case PRIMITIVETYPE_LINE_STRIP: { drawAsPrimitives<PRIMITIVETYPE_LINE_STRIP> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1825 case PRIMITIVETYPE_LINE_LOOP: { drawAsPrimitives<PRIMITIVETYPE_LINE_LOOP> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1826 case PRIMITIVETYPE_POINTS: { drawAsPrimitives<PRIMITIVETYPE_POINTS> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1827 case PRIMITIVETYPE_LINES_ADJACENCY: { drawAsPrimitives<PRIMITIVETYPE_LINES_ADJACENCY> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1828 case PRIMITIVETYPE_LINE_STRIP_ADJACENCY: { drawAsPrimitives<PRIMITIVETYPE_LINE_STRIP_ADJACENCY> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1829 case PRIMITIVETYPE_TRIANGLES_ADJACENCY: { drawAsPrimitives<PRIMITIVETYPE_TRIANGLES_ADJACENCY> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }
1830 case PRIMITIVETYPE_TRIANGLE_STRIP_ADJACENCY:{ drawAsPrimitives<PRIMITIVETYPE_TRIANGLE_STRIP_ADJACENCY> (command.state, command.renderTarget, command.program, &vertexPackets[0], numVertexPackets, drawContext, vpalloc); break; }