KWin
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
KWin::GLVertexBufferPrivate Class Reference

Public Member Functions

 GLVertexBufferPrivate (GLVertexBuffer::UsageHint usageHint)
 
 ~GLVertexBufferPrivate ()
 
void bindArrays ()
 
void unbindArrays ()
 
void reallocateBuffer (size_t size)
 
GLvoid * mapNextFreeRange (size_t size)
 
void reallocatePersistentBuffer (size_t size)
 
bool awaitFence (intptr_t offset)
 
GLvoid * getIdleRange (size_t size)
 

Public Attributes

GLuint buffer
 
GLenum usage
 
int vertexCount
 
QByteArray dataStore
 
bool persistent
 
size_t bufferSize
 
intptr_t bufferEnd
 
size_t mappedSize
 
size_t frameSize
 
intptr_t nextOffset
 
intptr_t baseAddress
 
uint8_t * map
 
std::deque< BufferFencefences
 
FrameSizesArray< 4 > frameSizes
 
std::array< VertexAttrib, VertexAttributeCountattrib
 
size_t attribStride = 0
 
std::bitset< 32 > enabledArrays
 

Static Public Attributes

static std::unique_ptr< GLVertexBufferstreamingBuffer
 
static bool haveBufferStorage = false
 
static bool haveSyncFences = false
 
static bool hasMapBufferRange = false
 
static bool supportsIndexedQuads = false
 
static std::unique_ptr< IndexBuffers_indexBuffer
 

Detailed Description

Definition at line 158 of file glvertexbuffer.cpp.

Constructor & Destructor Documentation

◆ GLVertexBufferPrivate()

KWin::GLVertexBufferPrivate::GLVertexBufferPrivate ( GLVertexBuffer::UsageHint usageHint)
inline

Definition at line 161 of file glvertexbuffer.cpp.

◆ ~GLVertexBufferPrivate()

KWin::GLVertexBufferPrivate::~GLVertexBufferPrivate ( )
inline

Definition at line 187 of file glvertexbuffer.cpp.

Member Function Documentation

◆ awaitFence()

bool KWin::GLVertexBufferPrivate::awaitFence ( intptr_t offset)

Definition at line 289 of file glvertexbuffer.cpp.

◆ bindArrays()

void KWin::GLVertexBufferPrivate::bindArrays ( )

Definition at line 237 of file glvertexbuffer.cpp.

◆ getIdleRange()

GLvoid * KWin::GLVertexBufferPrivate::getIdleRange ( size_t size)

Definition at line 321 of file glvertexbuffer.cpp.

◆ mapNextFreeRange()

GLvoid * KWin::GLVertexBufferPrivate::mapNextFreeRange ( size_t size)

Definition at line 364 of file glvertexbuffer.cpp.

◆ reallocateBuffer()

void KWin::GLVertexBufferPrivate::reallocateBuffer ( size_t size)

Definition at line 353 of file glvertexbuffer.cpp.

◆ reallocatePersistentBuffer()

void KWin::GLVertexBufferPrivate::reallocatePersistentBuffer ( size_t size)

Definition at line 259 of file glvertexbuffer.cpp.

◆ unbindArrays()

void KWin::GLVertexBufferPrivate::unbindArrays ( )

Definition at line 250 of file glvertexbuffer.cpp.

Member Data Documentation

◆ attrib

std::array<VertexAttrib, VertexAttributeCount> KWin::GLVertexBufferPrivate::attrib

Definition at line 224 of file glvertexbuffer.cpp.

◆ attribStride

size_t KWin::GLVertexBufferPrivate::attribStride = 0

Definition at line 225 of file glvertexbuffer.cpp.

◆ baseAddress

intptr_t KWin::GLVertexBufferPrivate::baseAddress

Definition at line 220 of file glvertexbuffer.cpp.

◆ buffer

GLuint KWin::GLVertexBufferPrivate::buffer

Definition at line 205 of file glvertexbuffer.cpp.

◆ bufferEnd

intptr_t KWin::GLVertexBufferPrivate::bufferEnd

Definition at line 216 of file glvertexbuffer.cpp.

◆ bufferSize

size_t KWin::GLVertexBufferPrivate::bufferSize

Definition at line 215 of file glvertexbuffer.cpp.

◆ dataStore

QByteArray KWin::GLVertexBufferPrivate::dataStore

Definition at line 213 of file glvertexbuffer.cpp.

◆ enabledArrays

std::bitset<32> KWin::GLVertexBufferPrivate::enabledArrays

Definition at line 226 of file glvertexbuffer.cpp.

◆ fences

std::deque<BufferFence> KWin::GLVertexBufferPrivate::fences

Definition at line 222 of file glvertexbuffer.cpp.

◆ frameSize

size_t KWin::GLVertexBufferPrivate::frameSize

Definition at line 218 of file glvertexbuffer.cpp.

◆ frameSizes

FrameSizesArray<4> KWin::GLVertexBufferPrivate::frameSizes

Definition at line 223 of file glvertexbuffer.cpp.

◆ hasMapBufferRange

bool KWin::GLVertexBufferPrivate::hasMapBufferRange = false
static

Definition at line 211 of file glvertexbuffer.cpp.

◆ haveBufferStorage

bool KWin::GLVertexBufferPrivate::haveBufferStorage = false
static

Definition at line 209 of file glvertexbuffer.cpp.

◆ haveSyncFences

bool KWin::GLVertexBufferPrivate::haveSyncFences = false
static

Definition at line 210 of file glvertexbuffer.cpp.

◆ map

uint8_t* KWin::GLVertexBufferPrivate::map

Definition at line 221 of file glvertexbuffer.cpp.

◆ mappedSize

size_t KWin::GLVertexBufferPrivate::mappedSize

Definition at line 217 of file glvertexbuffer.cpp.

◆ nextOffset

intptr_t KWin::GLVertexBufferPrivate::nextOffset

Definition at line 219 of file glvertexbuffer.cpp.

◆ persistent

bool KWin::GLVertexBufferPrivate::persistent

Definition at line 214 of file glvertexbuffer.cpp.

◆ s_indexBuffer

std::unique_ptr< IndexBuffer > KWin::GLVertexBufferPrivate::s_indexBuffer
static

Definition at line 227 of file glvertexbuffer.cpp.

◆ streamingBuffer

std::unique_ptr< GLVertexBuffer > KWin::GLVertexBufferPrivate::streamingBuffer
static

Definition at line 208 of file glvertexbuffer.cpp.

◆ supportsIndexedQuads

bool KWin::GLVertexBufferPrivate::supportsIndexedQuads = false
static

Definition at line 212 of file glvertexbuffer.cpp.

◆ usage

GLenum KWin::GLVertexBufferPrivate::usage

Definition at line 206 of file glvertexbuffer.cpp.

◆ vertexCount

int KWin::GLVertexBufferPrivate::vertexCount

Definition at line 207 of file glvertexbuffer.cpp.


The documentation for this class was generated from the following file: