Home | History | Annotate | Download | only in core

Lines Matching refs:psContext

47 void CalcSampleBarycentrics(const BarycentricCoeffs& coeffs, SWR_PS_CONTEXT &psContext);
326 INLINE void CalcCentroidPos(SWR_PS_CONTEXT &psContext, const uint64_t *const coverageMask, const uint32_t sampleMask,
381 psContext.vX.centroid = _simd_blendv_ps(vXSample, psContext.vX.center, _simd_castsi_ps(vEvalAtCenter));
382 psContext.vY.centroid = _simd_blendv_ps(vYSample, psContext.vY.center, _simd_castsi_ps(vEvalAtCenter));
396 psContext.vX.centroid = _simd_blendv_ps(psContext.vX.centroid, vXSample, _simd_castsi_ps(vCase3a));
397 psContext.vY.centroid = _simd_blendv_ps(psContext.vY.centroid, vYSample, _simd_castsi_ps(vCase3a));
400 INLINE void CalcCentroidBarycentrics(const BarycentricCoeffs& coeffs, SWR_PS_CONTEXT &psContext,
404 psContext.vI.centroid = vplaneps(coeffs.vIa, coeffs.vIb, coeffs.vIc, psContext.vX.centroid, psContext.vY.centroid);
405 psContext.vJ.centroid = vplaneps(coeffs.vJa, coeffs.vJb, coeffs.vJc, psContext.vX.centroid, psContext.vY.centroid);
406 psContext.vI.centroid = _simd_mul_ps(psContext.vI.centroid, coeffs.vRecipDet);
407 psContext.vJ.centroid = _simd_mul_ps(psContext.vJ.centroid, coeffs.vRecipDet);
410 psContext.vOneOverW.centroid = vplaneps(coeffs.vAOneOverW, coeffs.vBOneOverW, coeffs.vCOneOverW, psContext.vI.centroid, psContext.vJ.centroid);
488 void SetupPixelShaderContext(SWR_PS_CONTEXT *psContext, const SWR_TRIANGLE_DESC &work)
490 psContext->pAttribs = work.pAttribs;
491 psContext->pPerspAttribs = work.pPerspAttribs;
492 psContext->frontFace = work.triFlags.frontFacing;
493 psContext->primID = work.triFlags.primID;
496 psContext->I = work.I;
497 psContext->J = work.J;
499 psContext->recipDet = work.recipDet;
500 psContext->pRecipW = work.pRecipW;
501 psContext->pSamplePosX = reinterpret_cast<const float *>(&T::MultisampleT::samplePosX);
502 psContext->pSamplePosY = reinterpret_cast<const float *>(&T::MultisampleT::samplePosY);
503 psContext->rasterizerSampleCount = T::MultisampleT::numSamples;
504 psContext->sampleIndex = 0;
508 void CalcCentroid(SWR_PS_CONTEXT *psContext, const BarycentricCoeffs &coeffs, const uint64_t * const coverageMask, uint32_t sampleMask)
513 psContext->vX.centroid = psContext->vX.center;
514 psContext->vY.centroid = psContext->vY.center;
515 psContext->vI.centroid = psContext->vI.center;
516 psContext->vJ.centroid = psContext->vJ.center;
517 psContext->vOneOverW.centroid = psContext->vOneOverW.center;
527 CalcCentroidPos<T>(*psContext, coverageMask, sampleMask, psContext->vX.UL, psContext->vY.UL);
531 psContext->vX.centroid = _simd_add_ps(psContext->vX.UL, _simd_set1_ps(0.5f));
532 psContext->vY.centroid = _simd_add_ps(psContext->vY.UL, _simd_set1_ps(0.5f));
535 CalcCentroidBarycentrics(coeffs, *psContext, psContext->vX.UL, psContext->vY.UL);
539 psContext->vX.centroid = psContext->vX.sample;
540 psContext->vY.centroid = psContext->vY.sample;
554 uint32_t operator()(simdscalar& activeLanes, SWR_PS_CONTEXT& psContext,
591 psContext.vX.sample = _simd_add_ps(psContext.vX.UL, T::MultisampleT::vX(sample));
592 psContext.vY.sample = _simd_add_ps(psContext.vY.UL, T::MultisampleT::vY(sample));
595 CalcSampleBarycentrics(coeffs, psContext);
599 // broadcast and test oDepth(psContext.vZ) written from the PS for each sample
600 vZ[sample] = psContext.vZ;
604 vZ[sample] = vplaneps(coeffs.vZa, coeffs.vZb, coeffs.vZc, psContext.vI.sample, psContext.vJ.sample);
614 uint8_t clipMask = ComputeUserClipMask(clipDistanceMask, work.pUserClipBuffer, psContext.vI.sample, psContext.vJ.sample);
670 INLINE void CalcPixelBarycentrics(const BarycentricCoeffs& coeffs, SWR_PS_CONTEXT &psContext)
673 psContext.vI.center = vplaneps(coeffs.vIa, coeffs.vIb, coeffs.vIc, psContext.vX.center, psContext.vY.center);
674 psContext.vJ.center = vplaneps(coeffs.vJa, coeffs.vJb, coeffs.vJc, psContext.vX.center, psContext.vY.center);
675 psContext.vI.center = _simd_mul_ps(psContext.vI.center, coeffs.vRecipDet);
676 psContext.vJ.center = _simd_mul_ps(psContext.vJ.center, coeffs.vRecipDet);
679 psContext.vOneOverW.center = vplaneps(coeffs.vAOneOverW, coeffs.vBOneOverW, coeffs.vCOneOverW, psContext.vI.center, psContext.vJ.center);
682 INLINE void CalcSampleBarycentrics(const BarycentricCoeffs& coeffs, SWR_PS_CONTEXT &psContext)
685 psContext.vI.sample = vplaneps(coeffs.vIa, coeffs.vIb, coeffs.vIc, psContext.vX.sample, psContext.vY.sample);
686 psContext.vJ.sample = vplaneps(coeffs.vJa, coeffs.vJb, coeffs.vJc, psContext.vX.sample, psContext.vY.sample);
687 psContext.vI.sample = _simd_mul_ps(psContext.vI.sample, coeffs.vRecipDet);
688 psContext.vJ.sample = _simd_mul_ps(psContext.vJ.sample, coeffs.vRecipDet);
691 psContext.vOneOverW.sample = vplaneps(coeffs.vAOneOverW, coeffs.vBOneOverW, coeffs.vCOneOverW, psContext.vI.sample, psContext.vJ.sample);
695 INLINE void OutputMerger4x2(SWR_PS_CONTEXT &psContext, uint8_t* (&pColorBase)[SWR_NUM_RENDERTARGETS], uint32_t sample, const SWR_BLEND_STATE *pBlendState,
709 blendOut = psContext.shaded[rt];
716 psContext.shaded[rt],
717 psContext.shaded[1],
718 psContext.shaded[0].w,
722 &psContext.oMask,
756 INLINE void OutputMerger8x2(SWR_PS_CONTEXT &psContext, uint8_t* (&pColorBase)[SWR_NUM_RENDERTARGETS], uint32_t sample, const SWR_BLEND_STATE *pBlendState,
778 blendOut = psContext.shaded[rt];
793 psContext.shaded[rt],
794 psContext.shaded[1],
795 psContext.shaded[0].w,
799 &psContext.oMask,