Module: Mesa
Branch: master
Commit: 83d3ddd0ec49efd02bdbfeb2b44ae9206c087d34
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=83d3ddd0ec49efd02bdbfeb2b44ae9206c087d34

Author: Alok Hota <[email protected]>
Date:   Mon Jun 25 09:52:17 2018 -0500

swr/rast: Adding SCATTERPS functionality to BuilderGfxMem

Reviewed-by: Bruce Cherniak <[email protected]>

---

 .../drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp       | 13 +++++++++++++
 src/gallium/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,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to