Skip to content

Commit d758ff7

Browse files
committed
refactor accessor to match accessor template
1 parent 55840a3 commit d758ff7

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

include/nbl/builtin/hlsl/memory_accessor.hlsl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ struct StructureOfArrays : impl::StructureOfArraysBase<IndexType,ElementStride,S
112112
BaseAccessor accessor;
113113

114114
// Question: shall we go back to requiring a `access_t get(index_t)` on the `BaseAccessor`, then we could `enable_if` check the return type (via `has_method_get`) matches and we won't get Nasty HLSL copy-in copy-out conversions
115-
template<typename T>
116-
enable_if_t<sizeof(T)%sizeof(access_t)==0,void> get(const index_t ix, NBL_REF_ARG(T) value)
115+
template<typename T, typename I=index_t>
116+
enable_if_t<sizeof(T)%sizeof(access_t)==0,void> get(const I ix, NBL_REF_ARG(T) value)
117117
{
118118
NBL_CONSTEXPR uint64_t SubElementCount = sizeof(T)/sizeof(access_t);
119119
// `vector` for now, we'll use `array` later when `bit_cast` gets fixed
@@ -123,8 +123,8 @@ struct StructureOfArrays : impl::StructureOfArraysBase<IndexType,ElementStride,S
123123
value = bit_cast<T,vector<access_t,SubElementCount> >(aux);
124124
}
125125

126-
template<typename T>
127-
enable_if_t<sizeof(T)%sizeof(access_t)==0,void> set(const index_t ix, NBL_CONST_REF_ARG(T) value)
126+
template<typename T, typename I=index_t>
127+
enable_if_t<sizeof(T)%sizeof(access_t)==0,void> set(const I ix, NBL_CONST_REF_ARG(T) value)
128128
{
129129
NBL_CONSTEXPR uint64_t SubElementCount = sizeof(T)/sizeof(access_t);
130130
// `vector` for now, we'll use `array` later when `bit_cast` gets fixed
@@ -209,11 +209,11 @@ struct Offset : impl::OffsetBase<IndexType,_Offset>
209209

210210
BaseAccessor accessor;
211211

212-
template <typename T>
213-
void set(index_t idx, T value) {accessor.set(idx+base_t::offset,value); }
212+
template <typename T, typename I=index_t>
213+
void set(I idx, T value) {accessor.set(idx+base_t::offset,value); }
214214

215-
template <typename T>
216-
void get(index_t idx, NBL_REF_ARG(T) value) {accessor.get(idx+base_t::offset,value);}
215+
template <typename T, typename I=index_t>
216+
void get(I idx, NBL_REF_ARG(T) value) {accessor.get(idx+base_t::offset,value);}
217217

218218
template<typename S=BaseAccessor>
219219
enable_if_t<

0 commit comments

Comments
 (0)