aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h
diff options
context:
space:
mode:
authorAlok Hota <[email protected]>2018-06-05 13:59:53 -0500
committerTim Rowley <[email protected]>2018-06-18 13:57:38 -0500
commita678f40e467bbf72719c60928de26a91f21ac699 (patch)
tree1583ecaf97c287ad3976e4bf77b65a9349b291bc /src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h
parentd85fef1e34657fc082b9a763de9499d324fbeebf (diff)
swr/rast: Clang-Format most rasterizer source code
Reviewed-by: Bruce Cherniak <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h')
-rw-r--r--src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h155
1 files changed, 96 insertions, 59 deletions
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 00817b2b52b..ab6f78ee817 100644
--- a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h
+++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h
@@ -1,32 +1,32 @@
/****************************************************************************
-* Copyright (C) 2014-2018 Intel Corporation. All Rights Reserved.
-*
-* Permission is hereby granted, free of charge, to any person obtaining a
-* copy of this software and associated documentation files (the "Software"),
-* to deal in the Software without restriction, including without limitation
-* the rights to use, copy, modify, merge, publish, distribute, sublicense,
-* and/or sell copies of the Software, and to permit persons to whom the
-* Software is furnished to do so, subject to the following conditions:
-*
-* The above copyright notice and this permission notice (including the next
-* paragraph) shall be included in all copies or substantial portions of the
-* Software.
-*
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-* IN THE SOFTWARE.
-*
-* @file builder_gfx_mem.h
-*
-* @brief Definition of the builder to support different translation types for gfx memory access
-*
-* Notes:
-*
-******************************************************************************/
+ * Copyright (C) 2014-2018 Intel Corporation. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * @file builder_gfx_mem.h
+ *
+ * @brief Definition of the builder to support different translation types for gfx memory access
+ *
+ * Notes:
+ *
+ ******************************************************************************/
#pragma once
#include "builder.h"
@@ -38,28 +38,67 @@ namespace SwrJit
class BuilderGfxMem : public Builder
{
public:
- BuilderGfxMem(JitManager* pJitMgr);
+ BuilderGfxMem(JitManager *pJitMgr);
virtual ~BuilderGfxMem() {}
virtual Value *GEP(Value *Ptr, Value *Idx, Type *Ty = nullptr, const Twine &Name = "");
virtual Value *GEP(Type *Ty, Value *Ptr, Value *Idx, const Twine &Name = "");
- virtual Value *GEP(Value* Ptr, const std::initializer_list<Value*> &indexList, Type *Ty = nullptr);
- virtual Value *GEP(Value* Ptr, const std::initializer_list<uint32_t> &indexList, Type *Ty = nullptr);
-
- virtual LoadInst* LOAD(Value *Ptr, const char *Name, Type *Ty = nullptr, JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
- virtual LoadInst* LOAD(Value *Ptr, const Twine &Name = "", Type *Ty = nullptr, JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
- virtual LoadInst* LOAD(Value *Ptr, bool isVolatile, const Twine &Name = "", Type *Ty = nullptr, JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
- virtual LoadInst* LOAD(Value *BasePtr, const std::initializer_list<uint32_t> &offset, const llvm::Twine& Name = "", Type *Ty = nullptr, JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
-
- virtual CallInst* MASKED_LOAD(Value *Ptr, unsigned Align, Value *Mask, Value *PassThru = nullptr, const Twine &Name = "", Type *Ty = nullptr, JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
-
- virtual Value *GATHERPS(Value *src, Value *pBase, Value *indices, Value *mask, uint8_t scale = 1, JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
- virtual Value *GATHERDD(Value* src, Value* pBase, Value* indices, Value* mask, uint8_t scale = 1, JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
-
-
- Value* TranslateGfxAddress(Value* xpGfxAddress, Type* PtrTy = nullptr, const Twine &Name = "", JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+ virtual Value *
+ GEP(Value *Ptr, const std::initializer_list<Value *> &indexList, Type *Ty = nullptr);
+ virtual Value *
+ GEP(Value *Ptr, const std::initializer_list<uint32_t> &indexList, Type *Ty = nullptr);
+
+ virtual LoadInst *LOAD(Value * Ptr,
+ const char * Name,
+ Type * Ty = nullptr,
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+ virtual LoadInst *LOAD(Value * Ptr,
+ const Twine & Name = "",
+ Type * Ty = nullptr,
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+ virtual LoadInst *LOAD(Value * Ptr,
+ bool isVolatile,
+ const Twine & Name = "",
+ Type * Ty = nullptr,
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+ virtual LoadInst *LOAD(Value * BasePtr,
+ const std::initializer_list<uint32_t> &offset,
+ const llvm::Twine & Name = "",
+ Type * Ty = nullptr,
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+
+ virtual CallInst *MASKED_LOAD(Value * Ptr,
+ unsigned Align,
+ Value * Mask,
+ Value * PassThru = nullptr,
+ const Twine & Name = "",
+ Type * Ty = nullptr,
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+
+ virtual Value *GATHERPS(Value * src,
+ Value * pBase,
+ Value * indices,
+ Value * mask,
+ uint8_t scale = 1,
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+ virtual Value *GATHERDD(Value * src,
+ Value * pBase,
+ Value * indices,
+ Value * mask,
+ uint8_t scale = 1,
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
+
+
+ Value *TranslateGfxAddress(Value * xpGfxAddress,
+ Type * PtrTy = nullptr,
+ const Twine & Name = "",
+ JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
template <typename T>
- Value* TranslateGfxAddress(Value* xpGfxBaseAddress, const std::initializer_list<T> &offset, Type* PtrTy = nullptr, const Twine &Name = "", JIT_MEM_CLIENT usage = GFX_MEM_CLIENT_SHADER)
+ Value *TranslateGfxAddress(Value * xpGfxBaseAddress,
+ const std::initializer_list<T> &offset,
+ Type * PtrTy = nullptr,
+ const Twine & Name = "",
+ JIT_MEM_CLIENT usage = GFX_MEM_CLIENT_SHADER)
{
AssertGFXMemoryParams(xpGfxBaseAddress, usage);
SWR_ASSERT(xpGfxBaseAddress->getType()->isPointerTy() == false);
@@ -69,31 +108,29 @@ namespace SwrJit
PtrTy = mInt8PtrTy;
}
- Value* ptr = INT_TO_PTR(xpGfxBaseAddress, PtrTy);
- ptr = GEP(ptr, offset);
+ Value *ptr = INT_TO_PTR(xpGfxBaseAddress, PtrTy);
+ ptr = GEP(ptr, offset);
return TranslateGfxAddress(PTR_TO_INT(ptr, mInt64Ty), PtrTy, Name, usage);
}
protected:
+ void AssertGFXMemoryParams(Value *ptr, Builder::JIT_MEM_CLIENT usage);
- void AssertGFXMemoryParams(Value* ptr, Builder::JIT_MEM_CLIENT usage);
-
virtual void NotifyPrivateContextSet();
- virtual Value* OFFSET_TO_NEXT_COMPONENT(Value* base, Constant *offset);
+ virtual Value *OFFSET_TO_NEXT_COMPONENT(Value *base, Constant *offset);
- Value* TranslationHelper(Value *Ptr, Type *Ty);
+ Value *TranslationHelper(Value *Ptr, Type *Ty);
- FunctionType* GetTranslationFunctionType() { return mpTranslationFuncTy; }
- Value* GetTranslationFunction() { return mpfnTranslateGfxAddress; }
- Value* GetParamSimDC() { return mpParamSimDC; }
+ FunctionType *GetTranslationFunctionType() { return mpTranslationFuncTy; }
+ Value * GetTranslationFunction() { return mpfnTranslateGfxAddress; }
+ Value * GetParamSimDC() { return mpParamSimDC; }
private:
-
- FunctionType* mpTranslationFuncTy;
- Value* mpfnTranslateGfxAddress;
- Value* mpParamSimDC;
+ FunctionType *mpTranslationFuncTy;
+ Value * mpfnTranslateGfxAddress;
+ Value * mpParamSimDC;
};
-}
+} // namespace SwrJit