sead
Loading...
Searching...
No Matches
agl::UniformBlock Class Reference

#include <aglUniformBlock.h>

Classes

struct  Header
struct  Member

Public Types

enum  Type {
  cType_bool = 0 , cType_int = 1 , cType_float = 2 , cType_vec2 = 3 ,
  cType_vec3 = 4 , cType_vec4 = 5 , cType_Num = 15
}

Public Member Functions

 UniformBlock ()
virtual ~UniformBlock ()
void startDeclare (s32 num, sead::Heap *heap)
void declare (Type type, s32 num)
void declare (const UniformBlock &block)
void create (sead::Heap *heap)
void destroy ()
void dcbz () const
void flush (void *p_memory, bool invalidate_gpu) const
void flush (bool invalidate_gpu) const
void flushNoSync (void *p_memory, bool invalidate_gpu) const
void flushNoSync (bool invalidate_gpu) const
bool setUniform (const void *p_data, const UniformBlockLocation &location, u32 offset, size_t size) const
bool setUniform (const UniformBlockLocation &location) const
void setBool (void *p_memory, s32 index, bool data, s32 array_index=0) const
void setBool (s32 index, bool data, s32 array_index=0) const
void setBool (void *p_memory, s32 index, const bool *p_data, s32 array_num, s32 array_index=0) const
void setBool (s32 index, const bool *p_data, s32 array_num, s32 array_index=0) const
void setInt (void *p_memory, s32 index, s32 data, s32 array_index=0) const
void setInt (s32 index, s32 data, s32 array_index=0) const
void setInt (void *p_memory, s32 index, const s32 *p_data, s32 array_num, s32 array_index=0) const
void setInt (s32 index, const s32 *p_data, s32 array_num, s32 array_index=0) const
void setFloat (void *p_memory, s32 index, f32 data, s32 array_index=0) const
void setFloat (s32 index, f32 data, s32 array_index=0) const
void setFloat (void *p_memory, s32 index, const f32 *p_data, s32 array_num, s32 array_index=0) const
void setFloat (s32 index, const f32 *p_data, s32 array_num, s32 array_index=0) const
void setVector2f (void *p_memory, s32 index, const sead::Vector2f &data, s32 array_index=0) const
void setVector2f (s32 index, const sead::Vector2f &data, s32 array_index=0) const
void setVector2f (void *p_memory, s32 index, const sead::Vector2f *p_data, s32 array_num, s32 array_index=0) const
void setVector2f (s32 index, const sead::Vector2f *p_data, s32 array_num, s32 array_index=0) const
void setVector3f (void *p_memory, s32 index, const sead::Vector3f &data, s32 array_index=0) const
void setVector3f (s32 index, const sead::Vector3f &data, s32 array_index=0) const
void setVector3f (void *p_memory, s32 index, const sead::Vector3f *p_data, s32 array_num, s32 array_index=0) const
void setVector3f (s32 index, const sead::Vector3f *p_data, s32 array_num, s32 array_index=0) const
void setVector4f (void *p_memory, s32 index, const sead::Vector4f &data, s32 array_index=0) const
void setVector4f (s32 index, const sead::Vector4f &data, s32 array_index=0) const
void setVector4f (void *p_memory, s32 index, const sead::Vector4f *p_data, s32 array_num, s32 array_index=0) const
void setVector4f (s32 index, const sead::Vector4f *p_data, s32 array_num, s32 array_index=0) const

Static Public Attributes

static const u32 cUniformBlockAlignment = 0x100
static const u32 cCPUCacheLineSize = 0x20

Private Types

enum  Flags { cFlag_OwnHeader = 1 << 0 , cFlag_OwnBuffer = 1 << 1 }

Private Member Functions

void setData_ (void *p_memory, s32 index, const void *p_data, s32 array_index, s32 array_num) const

Private Attributes

HeadermpHeader
u8 * mCurrentBuffer
u32 mBlockSize
sead::BitFlag8 mFlag

Member Enumeration Documentation

◆ Type

Enumerator
cType_bool 
cType_int 
cType_float 
cType_vec2 
cType_vec3 
cType_vec4 
cType_Num 

◆ Flags

Enumerator
cFlag_OwnHeader 
cFlag_OwnBuffer 

Constructor & Destructor Documentation

◆ UniformBlock()

agl::UniformBlock::UniformBlock ( )

◆ ~UniformBlock()

agl::UniformBlock::~UniformBlock ( )
virtual

Member Function Documentation

◆ startDeclare()

void agl::UniformBlock::startDeclare ( s32 num,
sead::Heap * heap )

◆ declare() [1/2]

void agl::UniformBlock::declare ( Type type,
s32 num )

◆ declare() [2/2]

void agl::UniformBlock::declare ( const UniformBlock & block)

◆ create()

void agl::UniformBlock::create ( sead::Heap * heap)

◆ destroy()

void agl::UniformBlock::destroy ( )

◆ dcbz()

void agl::UniformBlock::dcbz ( ) const

◆ flush() [1/2]

void agl::UniformBlock::flush ( void * p_memory,
bool invalidate_gpu ) const

◆ flush() [2/2]

void agl::UniformBlock::flush ( bool invalidate_gpu) const
inline

◆ flushNoSync() [1/2]

void agl::UniformBlock::flushNoSync ( void * p_memory,
bool invalidate_gpu ) const

◆ flushNoSync() [2/2]

void agl::UniformBlock::flushNoSync ( bool invalidate_gpu) const
inline

◆ setUniform() [1/2]

bool agl::UniformBlock::setUniform ( const void * p_data,
const UniformBlockLocation & location,
u32 offset,
size_t size ) const

◆ setUniform() [2/2]

bool agl::UniformBlock::setUniform ( const UniformBlockLocation & location) const
inline

◆ setBool() [1/4]

void agl::UniformBlock::setBool ( void * p_memory,
s32 index,
bool data,
s32 array_index = 0 ) const
inline

◆ setBool() [2/4]

void agl::UniformBlock::setBool ( s32 index,
bool data,
s32 array_index = 0 ) const
inline

◆ setBool() [3/4]

void agl::UniformBlock::setBool ( void * p_memory,
s32 index,
const bool * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setBool() [4/4]

void agl::UniformBlock::setBool ( s32 index,
const bool * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setInt() [1/4]

void agl::UniformBlock::setInt ( void * p_memory,
s32 index,
s32 data,
s32 array_index = 0 ) const
inline

◆ setInt() [2/4]

void agl::UniformBlock::setInt ( s32 index,
s32 data,
s32 array_index = 0 ) const
inline

◆ setInt() [3/4]

void agl::UniformBlock::setInt ( void * p_memory,
s32 index,
const s32 * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setInt() [4/4]

void agl::UniformBlock::setInt ( s32 index,
const s32 * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setFloat() [1/4]

void agl::UniformBlock::setFloat ( void * p_memory,
s32 index,
f32 data,
s32 array_index = 0 ) const
inline

◆ setFloat() [2/4]

void agl::UniformBlock::setFloat ( s32 index,
f32 data,
s32 array_index = 0 ) const
inline

◆ setFloat() [3/4]

void agl::UniformBlock::setFloat ( void * p_memory,
s32 index,
const f32 * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setFloat() [4/4]

void agl::UniformBlock::setFloat ( s32 index,
const f32 * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setVector2f() [1/4]

void agl::UniformBlock::setVector2f ( void * p_memory,
s32 index,
const sead::Vector2f & data,
s32 array_index = 0 ) const
inline

◆ setVector2f() [2/4]

void agl::UniformBlock::setVector2f ( s32 index,
const sead::Vector2f & data,
s32 array_index = 0 ) const
inline

◆ setVector2f() [3/4]

void agl::UniformBlock::setVector2f ( void * p_memory,
s32 index,
const sead::Vector2f * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setVector2f() [4/4]

void agl::UniformBlock::setVector2f ( s32 index,
const sead::Vector2f * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setVector3f() [1/4]

void agl::UniformBlock::setVector3f ( void * p_memory,
s32 index,
const sead::Vector3f & data,
s32 array_index = 0 ) const
inline

◆ setVector3f() [2/4]

void agl::UniformBlock::setVector3f ( s32 index,
const sead::Vector3f & data,
s32 array_index = 0 ) const
inline

◆ setVector3f() [3/4]

void agl::UniformBlock::setVector3f ( void * p_memory,
s32 index,
const sead::Vector3f * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setVector3f() [4/4]

void agl::UniformBlock::setVector3f ( s32 index,
const sead::Vector3f * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setVector4f() [1/4]

void agl::UniformBlock::setVector4f ( void * p_memory,
s32 index,
const sead::Vector4f & data,
s32 array_index = 0 ) const
inline

◆ setVector4f() [2/4]

void agl::UniformBlock::setVector4f ( s32 index,
const sead::Vector4f & data,
s32 array_index = 0 ) const
inline

◆ setVector4f() [3/4]

void agl::UniformBlock::setVector4f ( void * p_memory,
s32 index,
const sead::Vector4f * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setVector4f() [4/4]

void agl::UniformBlock::setVector4f ( s32 index,
const sead::Vector4f * p_data,
s32 array_num,
s32 array_index = 0 ) const
inline

◆ setData_()

void agl::UniformBlock::setData_ ( void * p_memory,
s32 index,
const void * p_data,
s32 array_index,
s32 array_num ) const
private

Member Data Documentation

◆ cUniformBlockAlignment

const u32 agl::UniformBlock::cUniformBlockAlignment = 0x100
static

◆ cCPUCacheLineSize

const u32 agl::UniformBlock::cCPUCacheLineSize = 0x20
static

◆ mpHeader

Header* agl::UniformBlock::mpHeader
private

◆ mCurrentBuffer

u8* agl::UniformBlock::mCurrentBuffer
private

◆ mBlockSize

u32 agl::UniformBlock::mBlockSize
private

◆ mFlag

sead::BitFlag8 agl::UniformBlock::mFlag
private