29#include <EASTL/algorithm.h>
59template <
size_t N = 4096, Safe safety = Safe::Yes>
85 template <Fragment Frag>
90 z = eastl::clamp(z, int32_t(0), int32_t(N - 1));
93 frag.set(table[z].next, frag.getActualFragmentSize());
94 table[z].set(&frag, 0);
96 frag.set(&table[z], frag.getActualFragmentSize());
97 table[z].head =
reinterpret_cast<uint32_t>(&frag) & 0xffffff;
The singleton GPU class.
Definition gpu.hh:88
Definition ordering-table.hh:40
static void clear(psyqo::Fragments::ChainEntry *table, size_t size)
Definition ordering-table.cpp:29
The ordering table. Used to sort fragments before sending them to the GPU.
Definition ordering-table.hh:60
psyqo::Fragments::ChainEntry m_table[N+1]
Definition ordering-table.hh:102
void insert(Frag &frag, int32_t z)
Inserts a fragment into the ordering table.
Definition ordering-table.hh:86
OrderingTable()
Definition ordering-table.hh:62
void clear()
Clears the ordering table.
Definition ordering-table.hh:72
static int size
Definition string.h:32
Definition fragments.hh:88
void uint32_t(classId, spec)