| 986 | descriptor_set_layout_binding_state.clear(); |
| 987 | |
| 988 | // Clear stored push constants |
| 989 | stored_push_constants.clear(); |
| 990 | |
| 991 | this->get_resource().nextSubpass(vk::SubpassContents::eInline); |
| 992 | } |
| 993 | |
| 994 | template <vkb::BindingType bindingType> |
| 995 | inline void CommandBuffer<bindingType>::push_constants(const std::vector<uint8_t> &values) |
| 996 | { |
| 997 | uint32_t push_constant_size = to_u32(stored_push_constants.size() + values.size()); |
| 998 | |
| 999 | if (push_constant_size > max_push_constants_size) |
| 1000 | { |
| 1001 | LOGE("Push constant limit of {} exceeded (pushing {} bytes for a total of {} bytes)", max_push_constants_size, values.size(), push_constant_size); |
| 1002 | throw std::runtime_error("Push constant limit exceeded."); |
| 1003 | } |
| 1004 | else |
| 1005 | { |
| 1006 | stored_push_constants.insert(stored_push_constants.end(), values.begin(), values.end()); |
| 1007 | } |
| 1008 | } |
| 1009 |
no test coverage detected