@@ -113,7 +113,7 @@ struct bound_t
113113 }
114114
115115
116- uint operator ()(inout Accessor accessor)
116+ uint operator ()(NBL_REF_ARG ( Accessor) accessor)
117117 {
118118 if (isNPoT (len))
119119 {
@@ -132,19 +132,19 @@ struct bound_t
132132 return it;
133133 }
134134
135- void iteration (inout Accessor accessor)
135+ void iteration (NBL_REF_ARG ( Accessor) accessor)
136136 {
137137 len >>= 1 ;
138138 const uint mid = it+len;
139139 comp_step (accessor,mid);
140140 }
141141
142- void comp_step (inout Accessor accessor, const uint testPoint, const uint rightBegin)
142+ void comp_step (NBL_REF_ARG ( Accessor) accessor, const uint testPoint, const uint rightBegin)
143143 {
144144 if (comp (accessor[testPoint],value))
145145 it = rightBegin;
146146 }
147- void comp_step (inout Accessor accessor, const uint testPoint)
147+ void comp_step (NBL_REF_ARG ( Accessor) accessor, const uint testPoint)
148148 {
149149 comp_step (accessor,testPoint,testPoint);
150150 }
@@ -170,14 +170,14 @@ struct lower_to_upper_comparator_transform_t
170170
171171
172172template<class Accessor, class Comparator>
173- uint lower_bound (inout Accessor accessor, const uint begin, const uint end, const typename Accessor::value_type value, const Comparator comp)
173+ uint lower_bound (NBL_REF_ARG ( Accessor) accessor, const uint begin, const uint end, const typename Accessor::value_type value, const Comparator comp)
174174{
175175 impl::bound_t<Accessor,Comparator> implementation = impl::bound_t<Accessor,Comparator>::setup (begin,end,value,comp);
176176 return implementation (accessor);
177177}
178178
179179template<class Accessor, class Comparator>
180- uint upper_bound (inout Accessor accessor, const uint begin, const uint end, const typename Accessor::value_type value, const Comparator comp)
180+ uint upper_bound (NBL_REF_ARG ( Accessor) accessor, const uint begin, const uint end, const typename Accessor::value_type value, const Comparator comp)
181181{
182182 //using TransformedComparator = impl::lower_to_upper_comparator_transform_t<Accessor,Comparator>;
183183 //TransformedComparator transformedComparator;
@@ -193,7 +193,7 @@ namespace impl
193193
194194// extra indirection due to https://github.com/microsoft/DirectXShaderCompiler/issues/4771
195195template<class Accessor, typename T>
196- uint lower_bound (inout Accessor accessor, const uint begin, const uint end, const T value)
196+ uint lower_bound (NBL_REF_ARG ( Accessor) accessor, const uint begin, const uint end, const T value)
197197{
198198 //using Comparator = nbl::hlsl::less<T>;
199199 //Comparator comp;
@@ -202,7 +202,7 @@ uint lower_bound(inout Accessor accessor, const uint begin, const uint end, cons
202202 return nbl::hlsl::lower_bound<Accessor, nbl::hlsl::less <T> >(accessor,begin,end,value,comp);
203203}
204204template<class Accessor, typename T>
205- uint upper_bound (inout Accessor accessor, const uint begin, const uint end, const T value)
205+ uint upper_bound (NBL_REF_ARG ( Accessor) accessor, const uint begin, const uint end, const T value)
206206{
207207 //using Comparator = nbl::hlsl::less<T>;
208208 //Comparator comp;
@@ -214,12 +214,12 @@ uint upper_bound(inout Accessor accessor, const uint begin, const uint end, cons
214214}
215215
216216template<class Accessor>
217- uint lower_bound (inout Accessor accessor, const uint begin, const uint end, const typename Accessor::value_type value)
217+ uint lower_bound (NBL_REF_ARG ( Accessor) accessor, const uint begin, const uint end, const typename Accessor::value_type value)
218218{
219219 return impl::lower_bound<Accessor,typename Accessor::value_type>(accessor,begin,end,value);
220220}
221221template<class Accessor>
222- uint upper_bound (inout Accessor accessor, const uint begin, const uint end, const typename Accessor::value_type value)
222+ uint upper_bound (NBL_REF_ARG ( Accessor) accessor, const uint begin, const uint end, const typename Accessor::value_type value)
223223{
224224 return impl::upper_bound<Accessor,typename Accessor::value_type>(accessor,begin,end,value);
225225}
0 commit comments