Path: blob/21.2-virgl/src/gallium/auxiliary/gallivm/lp_bld_gather.h
4565 views
/**************************************************************************1*2* Copyright 2010 VMware, Inc.3* All Rights Reserved.4*5* Permission is hereby granted, free of charge, to any person obtaining a6* copy of this software and associated documentation files (the7* "Software"), to deal in the Software without restriction, including8* without limitation the rights to use, copy, modify, merge, publish,9* distribute, sub license, and/or sell copies of the Software, and to10* permit persons to whom the Software is furnished to do so, subject to11* the following conditions:12*13* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR14* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,15* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL16* THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,17* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR18* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE19* USE OR OTHER DEALINGS IN THE SOFTWARE.20*21* The above copyright notice and this permission notice (including the22* next paragraph) shall be included in all copies or substantial portions23* of the Software.24*25**************************************************************************/262728#ifndef LP_BLD_GATHER_H_29#define LP_BLD_GATHER_H_303132#include "gallivm/lp_bld.h"333435LLVMValueRef36lp_build_gather_elem_ptr(struct gallivm_state *gallivm,37unsigned length,38LLVMValueRef base_ptr,39LLVMValueRef offsets,40unsigned i);4142LLVMValueRef43lp_build_gather_elem(struct gallivm_state *gallivm,44unsigned length,45unsigned src_width,46unsigned dst_width,47boolean aligned,48LLVMValueRef base_ptr,49LLVMValueRef offsets,50unsigned i,51boolean vector_justify);5253LLVMValueRef54lp_build_gather(struct gallivm_state *gallivm,55unsigned length,56unsigned src_width,57struct lp_type dst_type,58boolean aligned,59LLVMValueRef base_ptr,60LLVMValueRef offsets,61boolean vector_justify);6263LLVMValueRef64lp_build_gather_values(struct gallivm_state * gallivm,65LLVMValueRef * values,66unsigned value_count);6768#endif /* LP_BLD_GATHER_H_ */697071