diff options
author | Alok Hota <[email protected]> | 2018-06-05 13:59:53 -0500 |
---|---|---|
committer | Tim Rowley <[email protected]> | 2018-06-18 13:57:38 -0500 |
commit | a678f40e467bbf72719c60928de26a91f21ac699 (patch) | |
tree | 1583ecaf97c287ad3976e4bf77b65a9349b291bc /src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h | |
parent | d85fef1e34657fc082b9a763de9499d324fbeebf (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.h | 155 |
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 |