message: Support tex2D() with simd and any texture
diff: @@ -132,6 +132,38 @@ inline vector<Dim, FloatT> tex2D_impl_expand_types(
  }
  +// any texture, simd coordinates
  +
  +template <
  + typename T,
  + typename FloatT,
  + typename = typename std::enable_if<!std::is_integral<T>::value>::type,
  + typename = typename std::enable_if<simd::is_simd_vector<FloatT>::value>::type
  + >
  +inline FloatT tex2D_impl_expand_types(
  + T const* tex,
  + vector<2, FloatT> const& coord,
  + vector<2, simd::int_type_t<FloatT>> const& texsize,
  + tex_filter_mode filter_mode,
  + std::array<tex_address_mode, 2> const& address_mode
  + )
  +{
  + using return_type = FloatT;
  + using internal_type = FloatT;
  +
  + return choose_filter(
  + return_type{},
  + internal_type{},
  + tex,
  + coord,
  + texsize,
  + filter_mode,
  + address_mode
  + );
  +}
  +
  +
  +
  //-------------------------------------------------------------------------------------------------
  // tex2D() dispatch function
  //
  