Added checks for OOB transform cache access.
This commit is contained in:
parent
8a13f27e68
commit
a42cba815c
10
src/bgfx_p.h
10
src/bgfx_p.h
@ -925,6 +925,10 @@ namespace bgfx
|
||||
|
||||
float* toPtr(uint32_t _cacheIdx)
|
||||
{
|
||||
BX_CHECK(_cacheIdx < BGFX_CONFIG_MAX_MATRIX_CACHE, "Matrix cache out of bounds index %d (max: %d)"
|
||||
, _cacheIdx
|
||||
, BGFX_CONFIG_MAX_MATRIX_CACHE
|
||||
);
|
||||
return m_cache[_cacheIdx].un.val;
|
||||
}
|
||||
|
||||
@ -1493,8 +1497,12 @@ namespace bgfx
|
||||
|
||||
void setTransform(uint32_t _cache, uint16_t _num)
|
||||
{
|
||||
BX_CHECK(_cache < BGFX_CONFIG_MAX_MATRIX_CACHE, "Matrix cache out of bounds index %d (max: %d)"
|
||||
, _cache
|
||||
, BGFX_CONFIG_MAX_MATRIX_CACHE
|
||||
);
|
||||
m_draw.m_matrix = _cache;
|
||||
m_draw.m_num = _num;
|
||||
m_draw.m_num = bx::uint32_min(_cache+_num, BGFX_CONFIG_MAX_MATRIX_CACHE-1) - _cache;
|
||||
}
|
||||
|
||||
void setIndexBuffer(IndexBufferHandle _handle, uint32_t _firstIndex, uint32_t _numIndices)
|
||||
|
Loading…
x
Reference in New Issue
Block a user