static inline outcome<void> _uniform_vm( prog_var_loc<tag::uniform, D> loc, const X& x, std::false_type, std::true_type ) noexcept { return oglplus::prog_var_get_set_ops< tag::uniform, canonical_element_type_t<X> >::set( canonical_compound_type<X>(), loc, 1, is_row_major<X>::value, element_view(x) ); }
static inline outcome<void> vertex_attrib( prog_var_loc<tag::vertex_attrib, D> loc, const X& x, bool check_error ) noexcept { return oglplus::prog_var_get_set_ops< tag::vertex_attrib, canonical_element_type_t<X> >::set( canonical_compound_type<X>(), loc, check_error, element_view(x) ); }