swr/rast: SIMD16 FE - add SIMD16 types to jitter
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
@@ -71,7 +71,9 @@ def gen_llvm_type(type, name, is_pointer, is_pointer_pointer, is_array, is_array
|
||||
elif type == 'SIMD16::vectori_t':
|
||||
llvm_type = 'VectorType::get(Type::getInt32Ty(ctx), 16)'
|
||||
elif type == 'simdvector':
|
||||
llvm_type = 'ArrayType::get(VectorType::get(Type::getFloatTy(ctx), pJitMgr->mVWidth), 4)'
|
||||
llvm_type = 'ArrayType::get(VectorType::get(Type::getFloatTy(ctx), 8), 4)'
|
||||
elif type == 'simd16vector':
|
||||
llvm_type = 'ArrayType::get(VectorType::get(Type::getFloatTy(ctx), 16), 4)'
|
||||
elif type == 'SIMD8::attrib_t':
|
||||
llvm_type = 'ArrayType::get(VectorType::get(Type::getFloatTy(ctx), 8), 4)'
|
||||
elif type == 'SIMD16::attrib_t':
|
||||
|
||||
@@ -30,14 +30,6 @@
|
||||
#include "context.h"
|
||||
#include <type_traits>
|
||||
|
||||
#if ENABLE_AVX512_SIMD16
|
||||
// TODO: this belongs in state.h alongside the simdvector definition, but there is a llvm codegen issue
|
||||
struct simd16vertex
|
||||
{
|
||||
simd16vector attrib[SWR_VTX_NUM_SLOTS];
|
||||
};
|
||||
|
||||
#endif
|
||||
// Calculates the A and B coefficients for the 3 edges of the triangle
|
||||
//
|
||||
// maths for edge equations:
|
||||
|
||||
@@ -197,9 +197,16 @@ enum SWR_VTX_SLOTS
|
||||
// SoAoSoA
|
||||
struct simdvertex
|
||||
{
|
||||
simdvector attrib[SWR_VTX_NUM_SLOTS];
|
||||
simdvector attrib[SWR_VTX_NUM_SLOTS];
|
||||
};
|
||||
|
||||
#if ENABLE_AVX512_SIMD16
|
||||
struct simd16vertex
|
||||
{
|
||||
simd16vector attrib[SWR_VTX_NUM_SLOTS];
|
||||
};
|
||||
|
||||
#endif
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
/// SWR_VS_CONTEXT
|
||||
/// @brief Input to vertex shader
|
||||
|
||||
Reference in New Issue
Block a user