[Mesa-dev] [PATCH 2/4] swr/rast: Adding SCATTERPS functionality to BuilderGfxMem

Cherniak, Bruce bruce.cherniak at intel.com
Thu Jun 28 13:13:31 UTC 2018


Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>

> On Jun 25, 2018, at 9:52 AM, Alok Hota <alok.hota at intel.com> wrote:
> 
> ---
> .../swr/rasterizer/jitter/builder_gfx_mem.cpp       | 13 +++++++++++++
> .../drivers/swr/rasterizer/jitter/builder_gfx_mem.h |  6 ++++++
> 2 files changed, 19 insertions(+)
> 
> diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp b/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp
> index 8706bfa66b..df11914db1 100644
> --- a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp
> +++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp
> @@ -108,6 +108,19 @@ namespace SwrJit
>         return vGather;
>     }
> 
> +    void BuilderGfxMem::SCATTERPS(
> +        Value* pDst, Value* vSrc, Value* vOffsets, Value* vMask, JIT_MEM_CLIENT usage)
> +    {
> +
> +        // address may be coming in as 64bit int now so get the pointer
> +        if (pDst->getType() == mInt64Ty)
> +        {
> +            pDst = INT_TO_PTR(pDst, PointerType::get(mInt8Ty, 0));
> +        }
> +
> +        Builder::SCATTERPS(pDst, vSrc, vOffsets, vMask, usage);
> +    }
> +
> 
>     Value *BuilderGfxMem::OFFSET_TO_NEXT_COMPONENT(Value *base, Constant *offset)
>     {
> diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h b/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h
> index a552ff9b26..dd20c06afe 100644
> --- a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h
> +++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h
> @@ -88,6 +88,12 @@ namespace SwrJit
>                                 uint8_t        scale = 1,
>                                 JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
> 
> +        virtual void SCATTERPS(Value*         pDst,
> +                               Value*         vSrc,
> +                               Value*         vOffsets,
> +                               Value*         vMask,
> +                               JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
> +
> 
>         Value *TranslateGfxAddressForRead(Value *        xpGfxAddress,
>                                           Type *         PtrTy = nullptr,
> -- 
> 2.17.1
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list