Searched refs:pStream (Results 1 - 23 of 23) sorted by relevance

/xsrc/external/mit/glu/dist/src/libnurbs/nurbtess/
H A DmonoTriangulation.cc55 void monoTriangulationOpt(directedLine* poly, primStream* pStream) argument
64 monoTriangulationFun(poly, compV2InX, pStream);
75 monoTriangulationFun(poly, compV2InX, pStream);
87 monoTriangulationFun(ret_p1, compV2InX, pStream);
88 monoTriangulationFun(ret_p2, compV2InX, pStream);
98 monoTriangulationFun(poly, compV2InY, pStream);
107 primStream* pStream)
116 right_chain, right_current, pStream);
134 pStream);
139 pStream);
104 monoTriangulationRecOpt(Real * topVertex,Real * botVertex,vertexArray * left_chain,Int left_current,vertexArray * right_chain,Int right_current,primStream * pStream) argument
162 monoTriangulationRecGenTBOpt(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,Int inc_end,vertexArray * dec_chain,Int dec_current,Int dec_end,primStream * pStream) argument
181 triangulateXYMonoTB(Int n_left,Real ** leftVerts,Int n_right,Real ** rightVerts,primStream * pStream) argument
324 monoTriangulationRecGenInU(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,Int inc_end,vertexArray * dec_chain,Int dec_current,Int dec_end,primStream * pStream) argument
332 monoTriangulationRecGenOpt(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,Int inc_end,vertexArray * dec_chain,Int dec_current,Int dec_end,primStream * pStream) argument
492 monoTriangulationRecGen(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,Int inc_end,vertexArray * dec_chain,Int dec_current,Int dec_end,primStream * pStream) argument
577 monoTriangulationFun(directedLine * monoPolygon,Int (* compFun)(Real *,Real *),primStream * pStream) argument
626 monoTriangulation(directedLine * monoPolygon,primStream * pStream) argument
678 monoTriangulation2(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_smallIndex,Int inc_largeIndex,Int is_increase_chain,primStream * pStream) argument
734 monoTriangulationRecFunGen(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,Int inc_end,vertexArray * dec_chain,Int dec_current,Int dec_end,Int (* compFun)(Real *,Real *),primStream * pStream) argument
832 monoTriangulationRecFun(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,vertexArray * dec_chain,Int dec_current,Int (* compFun)(Real *,Real *),primStream * pStream) argument
929 monoTriangulationRec(Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,vertexArray * dec_chain,Int dec_current,primStream * pStream) argument
1033 monoTriangulationRec(directedLine * inc_chain,Int inc_index,directedLine * dec_chain,Int dec_index,directedLine * topVertex,Int top_index,directedLine * botVertex,primStream * pStream) argument
1404 outputFan(Real v[2],primStream * pStream) argument
1420 processNewVertex(Real v[2],primStream * pStream) argument
[all...]
H A DsampleCompRight.h46 primStream* pStream,
57 primStream* pStream
65 primStream* pStream);
73 primStream* pStream);
78 primStream* pStream);
85 primStream* pStream);
98 primStream* pStream);
112 primStream* pStream);
H A DgridWrap.cc137 void gridWrap::outputFanWithPoint(Int v, Int uleft, Int uright, Real vert[2], primStream* pStream) argument
143 pStream->begin();
144 pStream->insert(vert);
151 pStream->insert(u_values[i], v_values[v]);
156 pStream->insert(u_values[i], v_values[v]);
159 pStream->end(PRIMITIVE_STREAM_FAN);
249 void gridBoundaryChain::rightEndFan(Int i, primStream* pStream) argument
254 pStream->begin();
255 pStream->insert(get_vertex(i-1));
257 pStream
273 leftEndFan(Int i,primStream * pStream) argument
[all...]
H A DsampleComp.cc67 primStream* pStream,
84 pStream);
99 pStream);
114 pStream);
128 pStream);
153 primStream* pStream)
249 pStream);
264 pStream);
273 pStream);
289 pStream);
51 sampleConnectedComp(Real * topVertex,Real * botVertex,vertexArray * leftChain,Int leftStartIndex,Int leftEndIndex,vertexArray * rightChain,Int rightStartIndex,Int rightEndIndex,gridBoundaryChain * leftGridChain,gridBoundaryChain * rightGridChain,Int gridIndex1,Int gridIndex2,Int up_leftCornerWhere,Int up_leftCornerIndex,Int up_rightCornerWhere,Int up_rightCornerIndex,Int down_leftCornerWhere,Int down_leftCornerIndex,Int down_rightCornerWhere,Int down_rightCornerIndex,primStream * pStream,rectBlockArray * rbArray) argument
142 sampleCompLeft(Real * topVertex,Real * botVertex,vertexArray * leftChain,Int leftStartIndex,Int leftEndIndex,vertexArray * rightChain,Int rightStartIndex,Int rightEndIndex,gridBoundaryChain * leftGridChain,Int gridIndex1,Int gridIndex2,Int up_leftCornerWhere,Int up_leftCornerIndex,Int down_leftCornerWhere,Int down_leftCornerIndex,primStream * pStream) argument
293 sampleLeftSingleTrimEdgeRegionGen(Real topVert[2],Real botVert[2],vertexArray * leftChain,Int leftStart,Int leftEnd,gridBoundaryChain * gridChain,Int gridBeginIndex,Int gridEndIndex,vertexArray * rightChain,Int rightUpBegin,Int rightUpEnd,Int rightDownBegin,Int rightDownEnd,primStream * pStream) argument
[all...]
H A DsampleCompTop.h50 primStream* pStream);
64 primStream* pStream);
H A DmonoTriangulation.h61 void processNewVertex(Real v[2], primStream* pStream);
62 void outputFan(Real v[2], primStream* pStream);
100 void monoTriangulation(directedLine* monoPolygon, primStream* pStream);
105 primStream* pStream);
111 primStream* pStream);
123 primStream* pStream);
127 primStream* pStream);
132 primStream* pStream);
136 primStream* pStream);
141 primStream* pStream);
[all...]
H A DsampleCompBot.cc117 primStream* pStream)
136 pStream);
173 grid->outputFanWithPoint(gridV, leftU, midU, botVertex, pStream);
174 stripOfFanRight(rightChain, segIndexMono, segIndexPass, grid, gridV, midU, rightU, pStream, 1);
178 monoTriangulation2(tempTop, botVertex, rightChain, segIndexMono, rightEnd, 0, pStream);
182 stripOfFanRight(rightChain, segIndexMono, segIndexPass, grid, gridV, leftU, rightU, pStream, 1);
186 monoTriangulation2(tempTop, botVertex, rightChain, segIndexMono, rightEnd, 0, pStream);
190 grid->outputFanWithPoint(gridV, leftU, rightU, botVertex, pStream);
201 primStream* pStream)
206 grid->outputFanWithPoint(gridV, leftU, rightU, botVertex, pStream);
107 sampleBotRightWithGridLinePost(Real * botVertex,vertexArray * rightChain,Int rightEnd,Int segIndexMono,Int segIndexPass,Int rightCorner,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
193 sampleBotRightWithGridLine(Real * botVertex,vertexArray * rightChain,Int rightEnd,Int rightCorner,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
232 sampleBotLeftWithGridLinePost(Real * botVertex,vertexArray * leftChain,Int leftEnd,Int segIndexMono,Int segIndexPass,Int leftCorner,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
279 sampleBotLeftWithGridLine(Real * botVertex,vertexArray * leftChain,Int leftEnd,Int leftCorner,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
452 sampleCompBot(Real * botVertex,vertexArray * leftChain,Int leftEnd,vertexArray * rightChain,Int rightEnd,gridBoundaryChain * leftGridChain,gridBoundaryChain * rightGridChain,Int gridIndex,Int down_leftCornerWhere,Int down_leftCornerIndex,Int down_rightCornerWhere,Int down_rightCornerIndex,primStream * pStream) argument
729 sampleCompBotSimple(Real * botVertex,vertexArray * leftChain,Int leftEnd,vertexArray * rightChain,Int rightEnd,gridBoundaryChain * leftGridChain,gridBoundaryChain * rightGridChain,Int gridIndex,Int down_leftCornerWhere,Int down_leftCornerIndex,Int down_rightCornerWhere,Int down_rightCornerIndex,primStream * pStream) argument
[all...]
H A DsampleCompBot.h63 primStream* pStream);
74 primStream* pStream);
87 primStream* pStream);
98 primStream* pStream);
122 primStream* pStream);
136 primStream* pStream);
H A DsampleComp.h55 primStream* pStream,
70 primStream* pStream);
84 primStream* pStream);
H A DsampleCompTop.cc117 primStream* pStream)
133 pStream);
140 pStream);
148 stripOfFanRight(rightChain, segIndexLarge, segIndexSmall, grid, gridV, leftU, rightU, pStream, 0);
152 monoTriangulation2(topVertex, tempBot, rightChain, rightStart, segIndexSmall, 0, pStream);
155 grid->outputFanWithPoint(gridV, leftU, rightU, topVertex, pStream);
166 primStream* pStream
171 grid->outputFanWithPoint(gridV, leftU, rightU, topVertex, pStream);
192 pStream);
206 primStream* pStream)
107 sampleTopRightWithGridLinePost(Real * topVertex,vertexArray * rightChain,Int rightStart,Int segIndexSmall,Int segIndexLarge,Int rightEnd,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
158 sampleTopRightWithGridLine(Real * topVertex,vertexArray * rightChain,Int rightStart,Int rightEnd,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
196 sampleTopLeftWithGridLinePost(Real * topVertex,vertexArray * leftChain,Int leftStart,Int segIndexSmall,Int segIndexLarge,Int leftEnd,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
286 sampleTopLeftWithGridLine(Real * topVertex,vertexArray * leftChain,Int leftStart,Int leftEnd,gridWrap * grid,Int gridV,Int leftU,Int rightU,primStream * pStream) argument
468 sampleCompTop(Real * topVertex,vertexArray * leftChain,Int leftStartIndex,vertexArray * rightChain,Int rightStartIndex,gridBoundaryChain * leftGridChain,gridBoundaryChain * rightGridChain,Int gridIndex1,Int up_leftCornerWhere,Int up_leftCornerIndex,Int up_rightCornerWhere,Int up_rightCornerIndex,primStream * pStream) argument
771 sampleCompTopSimpleOpt(gridWrap * grid,Int gridV,Real * topVertex,Real * botVertex,vertexArray * inc_chain,Int inc_current,Int inc_end,vertexArray * dec_chain,Int dec_current,Int dec_end,primStream * pStream) argument
904 sampleCompTopSimple(Real * topVertex,vertexArray * leftChain,Int leftStartIndex,vertexArray * rightChain,Int rightStartIndex,gridBoundaryChain * leftGridChain,gridBoundaryChain * rightGridChain,Int gridIndex1,Int up_leftCornerWhere,Int up_leftCornerIndex,Int up_rightCornerWhere,Int up_rightCornerIndex,primStream * pStream) argument
[all...]
H A DsampleCompRight.cc66 primStream* pStream)
177 pStream);
192 pStream);
200 pStream);
217 pStream);
233 primStream* pStream)
258 gridChain->rightEndFan(i, pStream);
267 pStream);
274 primStream* pStream)
283 gridChain->rightEndFan(i, pStream);
55 sampleCompRight(Real * topVertex,Real * botVertex,vertexArray * leftChain,Int leftStartIndex,Int leftEndIndex,vertexArray * rightChain,Int rightStartIndex,Int rightEndIndex,gridBoundaryChain * rightGridChain,Int gridIndex1,Int gridIndex2,Int up_rightCornerWhere,Int up_rightCornerIndex,Int down_rightCornerWhere,Int down_rightCornerIndex,primStream * pStream) argument
221 sampleRightSingleTrimEdgeRegionGen(Real topVertex[2],Real botVertex[2],vertexArray * rightChain,Int rightStart,Int rightEnd,gridBoundaryChain * gridChain,Int gridBeginIndex,Int gridEndIndex,vertexArray * leftChain,Int leftUpBegin,Int leftUpEnd,Int leftDownBegin,Int leftDownEnd,primStream * pStream) argument
270 sampleRightSingleTrimEdgeRegion(Real upperVert[2],Real lowerVert[2],gridBoundaryChain * gridChain,Int beginIndex,Int endIndex,primStream * pStream) argument
305 sampleRightStripRecF(vertexArray * rightChain,Int topRightIndex,Int botRightIndex,gridBoundaryChain * rightGridChain,Int rightGridChainStartIndex,Int rightGridChainEndIndex,primStream * pStream) argument
380 sampleRightOneGridStepNoMiddle(vertexArray * rightChain,Int beginRightIndex,Int endRightIndex,gridBoundaryChain * rightGridChain,Int rightGridChainStartIndex,primStream * pStream) argument
403 sampleRightOneGridStep(vertexArray * rightChain,Int beginRightIndex,Int endRightIndex,gridBoundaryChain * rightGridChain,Int rightGridChainStartIndex,primStream * pStream) argument
581 stripOfFanRight(vertexArray * rightChain,Int largeIndex,Int smallIndex,gridWrap * grid,Int vlineIndex,Int ulineSmallIndex,Int ulineLargeIndex,primStream * pStream,Int gridLineUp) argument
[all...]
H A DsampleMonoPoly.h43 primStream* pStream);
52 primStream* pStream,
60 primStream* pStream
67 primStream* pStream);
75 primStream* pStream
84 primStream* pStream
91 void sampleMonoPoly(directedLine* polygon, gridWrap* grid, Int ulinear, Int vlinear, primStream *pStream, rectBlockArray* rbArray);
103 primStream* pStream,
113 primStream* pStream
H A DsampleMonoPoly.cc102 void triangulateConvexPolyVertical(directedLine* topV, directedLine* botV, primStream *pStream) argument
157 triangulateXYMonoTB(n_leftVerts, leftVerts, n_rightVerts, rightVerts, pStream);
164 void triangulateConvexPolyHoriz(directedLine* leftV, directedLine* rightV, primStream *pStream) argument
206 triangulateXYMono(n_upperVerts, upperVerts, n_lowerVerts, lowerVerts, pStream);
210 void triangulateConvexPoly(directedLine* polygon, Int ulinear, Int vlinear, primStream* pStream) argument
248 triangulateConvexPolyHoriz( leftV, rightV, pStream);
252 triangulateConvexPolyVertical(topV, botV, pStream);
258 triangulateConvexPolyHoriz( leftV, rightV, pStream);
261 triangulateConvexPolyVertical(topV, botV, pStream);
1219 void sampleMonoPoly(directedLine* polygon, gridWrap* grid, Int ulinear, Int vlinear, primStream* pStream, rectBlockArra argument
1401 sampleMonoPolyRec(Real * topVertex,Real * botVertex,vertexArray * leftChain,Int leftStartIndex,vertexArray * rightChain,Int rightStartIndex,gridBoundaryChain * leftGridChain,gridBoundaryChain * rightGridChain,Int gridStartIndex,primStream * pStream,rectBlockArray * rbArray) argument
1682 sampleLeftStrip(vertexArray * leftChain,Int topLeftIndex,Int botLeftIndex,gridBoundaryChain * leftGridChain,Int leftGridChainStartIndex,Int leftGridChainEndIndex,primStream * pStream) argument
1724 sampleLeftStripRec(vertexArray * leftChain,Int topLeftIndex,Int botLeftIndex,gridBoundaryChain * leftGridChain,Int leftGridChainStartIndex,Int leftGridChainEndIndex,primStream * pStream) argument
1803 sampleLeftStripRecF(vertexArray * leftChain,Int topLeftIndex,Int botLeftIndex,gridBoundaryChain * leftGridChain,Int leftGridChainStartIndex,Int leftGridChainEndIndex,primStream * pStream) argument
1907 sampleLeftSingleTrimEdgeRegion(Real upperVert[2],Real lowerVert[2],gridBoundaryChain * gridChain,Int beginIndex,Int endIndex,primStream * pStream) argument
1984 sampleLeftOneGridStepNoMiddle(vertexArray * leftChain,Int beginLeftIndex,Int endLeftIndex,gridBoundaryChain * leftGridChain,Int leftGridChainStartIndex,primStream * pStream) argument
2011 sampleLeftOneGridStep(vertexArray * leftChain,Int beginLeftIndex,Int endLeftIndex,gridBoundaryChain * leftGridChain,Int leftGridChainStartIndex,primStream * pStream) argument
2258 triangulateXYMono(Int n_upper,Real upperVerts[][2],Int n_lower,Real lowerVerts[][2],primStream * pStream) argument
2368 stripOfFanLeft(vertexArray * leftChain,Int largeIndex,Int smallIndex,gridWrap * grid,Int vlineIndex,Int ulineSmallIndex,Int ulineLargeIndex,primStream * pStream,Int gridLineUp) argument
[all...]
H A DgridWrap.h89 Real vert[2], primStream* pStream);
129 void leftEndFan(Int i, primStream* pStream);
130 void rightEndFan(Int i, primStream* pStream);
/xsrc/external/mit/MesaLib/dist/src/virtio/venus-protocol/
H A Dvn_protocol_driver_transport.h419 static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA(const VkCommandStreamDescriptionMESA* pStream) argument
425 cmd_size += vn_sizeof_simple_pointer(pStream);
426 if (pStream)
427 cmd_size += vn_sizeof_VkCommandStreamDescriptionMESA(pStream);
432 static inline void vn_encode_vkSetReplyCommandStreamMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const VkCommandStreamDescriptionMESA* pStream) argument
439 if (vn_encode_simple_pointer(enc, pStream))
440 vn_encode_VkCommandStreamDescriptionMESA(enc, pStream);
443 static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA_reply(const VkCommandStreamDescriptionMESA* pStream) argument
448 /* skip pStream */
453 static inline void vn_decode_vkSetReplyCommandStreamMESA_reply(struct vn_cs_decoder *dec, const VkCommandStreamDescriptionMESA* pStream) argument
906 vn_submit_vkSetReplyCommandStreamMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,const VkCommandStreamDescriptionMESA * pStream,struct vn_instance_submit_command * submit) argument
1095 vn_call_vkSetReplyCommandStreamMESA(struct vn_instance * vn_instance,const VkCommandStreamDescriptionMESA * pStream) argument
1108 vn_async_vkSetReplyCommandStreamMESA(struct vn_instance * vn_instance,const VkCommandStreamDescriptionMESA * pStream) argument
[all...]
/xsrc/external/mit/glu/dist/src/libnurbs/internals/
H A Dslicer.cc143 void monoTriangulationLoop(Arc_ptr loop, Backend& backend, primStream* pStream) argument
1027 void Slicer::evalStream(primStream* pStream) argument
1034 Real* vertices = pStream->get_vertices(); //for efficiency
1035 for(i=0; i<pStream->get_n_prims(); i++)
1039 switch(pStream->get_type(i)){
1044 for(j=0; j<pStream->get_length(i); j++)
1143 primStream pStream(20, 20); local in function:Slicer::slice_new
1146 sampleMonoPoly(poly, &grid, ulinear, vlinear, &pStream, &rbArray);
1148 evalStream(&pStream);
1153 num_triangles += pStream
[all...]
H A Dsubdivider.cc282 primStream pStream(5000,5000); local in function:Subdivider::drawSurfaces
287 monoTriangulation(temp, &pStream);
289 slicer.evalStream(&pStream);
305 primStream pStream(20,20);
307 monoTriangulation(tempD, &pStream);
/xsrc/external/mit/MesaLib.old/dist/src/gallium/drivers/swr/rasterizer/jitter/
H A Dstreamout_jit.cpp128 // @param pStream - pointer to current attribute
131 void buildDecl(Value* pStream, Value* pOutBuffers[4], const STREAMOUT_DECL& decl) argument
138 Value* pAttrib = GEP(pStream, C(4 * decl.attribSlot));
/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/swr/rasterizer/jitter/
H A Dstreamout_jit.cpp128 // @param pStream - pointer to current attribute
131 void buildDecl(Value* pStream, Value* pOutBuffers[4], const STREAMOUT_DECL& decl) argument
138 Value* pAttrib = GEP(pStream, C(4 * decl.attribSlot));
/xsrc/external/mit/MesaLib.old/dist/src/gallium/drivers/swr/
H A Dswr_shader.cpp440 Value *pStream = LOAD(iface->pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::swr_gs_llvm_emit_vertex
441 Value *pStreamOffset = GEP(pStream, pLaneOffset);
510 Value *pStream = LOAD(iface->pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::swr_gs_llvm_end_primitive
511 Value *pStreamOffset = GEP(pStream, vLaneOffset);
537 Value* pStream = LOAD(iface->pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::swr_gs_llvm_epilogue
538 pStream = BITCAST(pStream, mInt32PtrTy);
540 STORE(pLaneCount, pStream);
662 Value* pStream = LOAD(pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::CompileGS
663 MEMSET(pStream,
[all...]
/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/swr/
H A Dswr_shader.cpp793 Value *pStream = LOAD(iface->pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::swr_gs_llvm_emit_vertex
794 Value *pStreamOffset = GEP(pStream, pLaneOffset);
844 Value *pStream = LOAD(iface->pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::swr_gs_llvm_emit_vertex
846 Value *pStreamOffset = GEP(pStream, VEXTRACT(pStreamIdOffset, C(lane)));
912 Value *pStream = LOAD(iface->pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::swr_gs_llvm_end_primitive
913 Value *pStreamOffset = GEP(pStream, vLaneOffset);
938 Value* pStream = LOAD(iface->pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::swr_gs_llvm_epilogue
939 pStream = BITCAST(pStream, mInt32PtrTy);
941 STORE(pLaneCount, pStream);
1621 Value* pStream = LOAD(pGsCtx, {0, SWR_GS_CONTEXT_pStreams, lane}); local in function:BuilderSWR::CompileGS
[all...]
/xsrc/external/mit/MesaLib.old/dist/src/gallium/drivers/swr/rasterizer/core/core/
H A Dpa.h187 uint8_t* pStream,
H A Dpa_avx.cpp2757 uint8_t* pStream,
2763 PA_STATE(in_pDC, pStream, in_streamSizeInVerts, in_vertexStride, numVertsPerPrim),
2755 PA_STATE_OPT(DRAW_CONTEXT * in_pDC,uint32_t in_numPrims,uint8_t * pStream,uint32_t in_streamSizeInVerts,uint32_t in_vertexStride,bool in_isStreaming,uint32_t numVertsPerPrim,PRIMITIVE_TOPOLOGY topo) argument

Completed in 124 milliseconds