Subversion Repository Public Repository

Divide-Framework

This repository has no backups
This repository's network speed is throttled to 100KB/sec

Diff Revisions 1020 vs 1021 for /trunk/Source Code/Platform/Video/Headers/PushConstant.h

Diff revisions: vs.
  @@ -84,6 +84,7 @@
84 84 const vectorImpl<T>& values,
85 85 bool flag = false)
86 86 : _binding(binding),
87 + _bindingHash(_ID_RT(binding.c_str())),
87 88 _type(type),
88 89 _flag(flag),
89 90 _transpose(false)
  @@ -100,6 +101,7 @@
100 101 const vectorImpl<bool>& values,
101 102 bool flag)
102 103 : _binding(binding),
104 + _bindingHash(_ID_RT(binding.c_str())),
103 105 _type(type),
104 106 _flag(flag),
105 107 _transpose(false)
  @@ -118,6 +120,7 @@
118 120 const std::array<T, N>& values,
119 121 bool flag = false)
120 122 : _binding(binding),
123 + _bindingHash(_ID_RT(binding.c_str())),
121 124 _type(type),
122 125 _flag(flag),
123 126 _transpose(false)
  @@ -134,6 +137,7 @@
134 137 const std::array<bool, N>& values,
135 138 bool flag)
136 139 : _binding(binding),
140 + _bindingHash(_ID_RT(binding.c_str()))
137 141 _type(type),
138 142 _flag(flag),
139 143 _transpose(false)
  @@ -156,20 +160,20 @@
156 160
157 161
158 162 inline bool operator==(const PushConstant& rhs) const {
159 - return _binding == rhs._binding &&
163 + return _bindingHash == rhs._bindingHash &&
160 164 _type == rhs._type &&
161 165 _flag == rhs._flag &&
162 166 _buffer == rhs._buffer;
163 167 }
164 168
165 169 inline bool operator!=(const PushConstant& rhs) const {
166 - return _binding != rhs._binding ||
170 + return _bindingHash != rhs._bindingHash ||
167 171 _type != rhs._type ||
168 172 _flag != rhs._flag ||
169 173 _buffer != rhs._buffer;
170 174 }
171 175
172 - //I32 _binding = -1;
176 + U64 _bindingHash;
173 177 stringImplFast _binding;
174 178 PushConstantType _type = PushConstantType::COUNT;
175 179 vectorImpl<char> _buffer;