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

Alok Hota alok.hota at intel.com
Mon Jun 25 14:52:17 UTC 2018


---
 .../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



More information about the mesa-dev mailing list