1#ifndef TATOOINE_GL_LINKED_LIST_TEXTURE_LIST
2#define TATOOINE_GL_LINKED_LIST_TEXTURE_LIST
11template <
typename Node>
41 if (i != 0xffffffff) {std::cerr <<
"somethings wrong\n";}
51 void resize(
size_t w,
size_t h,
size_t num_nodes) {
60 void bind(
unsigned int at_slot = 0,
unsigned int hi_slot = 0,
61 unsigned int length_slot = 1,
unsigned int ll_slot = 0)
const {
Definition: atomiccounterbuffer.h:14
DLL_API auto bind(GLuint i) const -> void
auto to_zero()
Definition: atomiccounterbuffer.h:38
static auto unbind() -> void
Definition: buffer.h:689
auto upload_data(const T &data) -> void
Definition: buffer.h:604
auto resize(GLsizei size) -> void
Definition: buffer.h:640
auto gpu_malloc(GLsizei n) -> void
Definition: buffer.h:656
Definition: linked_list_texture.h:12
void clear()
Definition: linked_list_texture.h:68
tex2r32ui m_list_length_tex
Definition: linked_list_texture.h:21
pixelunpackbuffer< unsigned int > m_list_length_clear_buffer
Definition: linked_list_texture.h:23
const auto & buffer() const
Definition: linked_list_texture.h:84
pixelunpackbuffer< unsigned int > m_head_index_clear_buffer
Definition: linked_list_texture.h:22
tex2r32ui m_head_index_tex
Definition: linked_list_texture.h:20
auto buffer_size() const
Definition: linked_list_texture.h:82
size_t m_h
Definition: linked_list_texture.h:17
void resize(size_t w, size_t h, size_t num_nodes)
Definition: linked_list_texture.h:51
linked_list_texture(linked_list_texture &&other)=default
const auto & counter() const
Definition: linked_list_texture.h:87
void bind(unsigned int at_slot=0, unsigned int hi_slot=0, unsigned int length_slot=1, unsigned int ll_slot=0) const
Definition: linked_list_texture.h:60
size_t m_w
Definition: linked_list_texture.h:17
atomiccounterbuffer m_atomic_counter
Definition: linked_list_texture.h:18
auto & counter()
Definition: linked_list_texture.h:86
size_t m_num_nodes
Definition: linked_list_texture.h:17
shaderstoragebuffer< Node > m_linked_list
Definition: linked_list_texture.h:19
auto height() const
Definition: linked_list_texture.h:81
auto width() const
Definition: linked_list_texture.h:80
linked_list_texture(const linked_list_texture &other)=default
linked_list_texture(size_t w, size_t h, size_t num_nodes, const Node &initial)
Definition: linked_list_texture.h:29
void resize_buffer(size_t size)
Definition: linked_list_texture.h:75
Definition: pixelunpackbuffer.h:17
Definition: shaderstoragebuffer.h:15
void bind(GLuint index) const
Definition: shaderstoragebuffer.h:49
auto resize(std::array< Size, NumDimensions > const &size) -> void
Definition: texture.h:337
auto set_data(pixelunpackbuffer< value_type > const &pbo)
Definition: texture.h:829
auto download_data() const
Definition: texture.h:520
void bind_image_texture(GLuint unit) const
Definition: texture.h:260
Definition: ansiformat.h:6
auto size(vec< ValueType, N > const &v)
Definition: vec.h:148