| 104 | } |
| 105 | |
| 106 | void AbstractUniform::update(const Program * program, bool invalidateLocation) const |
| 107 | { |
| 108 | assert(program != nullptr); |
| 109 | |
| 110 | if (invalidateLocation) |
| 111 | { |
| 112 | m_locations.erase(program); |
| 113 | } |
| 114 | |
| 115 | if (!program->isLinked()) |
| 116 | { |
| 117 | return; |
| 118 | } |
| 119 | |
| 120 | updateAt(program, locationFor(program)); |
| 121 | } |
| 122 | |
| 123 | void AbstractUniform::setValue(const Program * program, const GLint location, const float & value) const |
| 124 | { |