mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-10-25 18:25:29 +00:00
Cleanup. (#4069)
This commit is contained in:
+13
-11
@@ -1637,9 +1637,9 @@ namespace bgfx
|
||||
if (UINT32_MAX != m_draw.m_streamMask)
|
||||
{
|
||||
uint32_t numVertices = UINT32_MAX;
|
||||
for (BitMaskToIndexIteratorT it(m_draw.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(m_draw.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
numVertices = bx::min(numVertices, m_numVertices[it.idx]);
|
||||
numVertices = bx::min(numVertices, m_numVertices[it.getIndex()]);
|
||||
}
|
||||
|
||||
m_draw.m_numVertices = numVertices;
|
||||
@@ -1664,11 +1664,12 @@ namespace bgfx
|
||||
if (0 != (m_dynamicMask & kDynamicStreamMask) )
|
||||
{
|
||||
numVertices = UINT32_MAX;
|
||||
for (BitMaskToIndexIteratorT it(m_draw.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(m_draw.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint32_t tmp0 = 0 != (m_dynamicMask & (UINT32_C(1)<<it.idx) )
|
||||
? m_dynamicNumVertices[it.idx]
|
||||
: m_numVertices[it.idx]
|
||||
const uint8_t idx = it.getIndex();
|
||||
const uint32_t tmp0 = 0 != (m_dynamicMask & (UINT32_C(1)<<idx) )
|
||||
? m_dynamicNumVertices[idx]
|
||||
: m_numVertices[idx]
|
||||
;
|
||||
numVertices = bx::min(numVertices, tmp0);
|
||||
}
|
||||
@@ -3142,13 +3143,14 @@ namespace bgfx
|
||||
{
|
||||
uint32_t numVertices = ref.numVertices;
|
||||
|
||||
for (BitMaskToIndexIteratorT it(ref.mask & kDynamicStreamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(ref.mask & kDynamicStreamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const DynamicVertexBuffer& dvb = m_dynamicVertexBuffers[ref.handle[it.idx] ];
|
||||
Stream& stream = draw.m_stream[it.idx];
|
||||
stream.m_startVertex = dvb.m_startVertex + ref.start[it.idx];
|
||||
const uint8_t idx = it.getIndex();
|
||||
const DynamicVertexBuffer& dvb = m_dynamicVertexBuffers[ref.handle[idx] ];
|
||||
Stream& stream = draw.m_stream[idx];
|
||||
stream.m_startVertex = dvb.m_startVertex + ref.start[idx];
|
||||
stream.m_handle = dvb.m_handle;
|
||||
numVertices = bx::min(numVertices, bx::satSub(dvb.m_numVertices, ref.start[it.idx]) );
|
||||
numVertices = bx::min(numVertices, bx::satSub(dvb.m_numVertices, ref.start[idx]) );
|
||||
}
|
||||
|
||||
draw.m_numVertices = numVertices;
|
||||
|
||||
+8
-37
@@ -975,37 +975,6 @@ namespace bgfx
|
||||
uint32_t m_values[maxKeys];
|
||||
};
|
||||
|
||||
template<typename MaskT>
|
||||
struct BitMaskToIndexIteratorT
|
||||
{
|
||||
BitMaskToIndexIteratorT(MaskT _mask)
|
||||
: mask(0)
|
||||
, idx(0)
|
||||
{
|
||||
const uint8_t ntz = bx::countTrailingZeros<MaskT>(_mask);
|
||||
mask = 0 == _mask ? MaskT(0) : MaskT(_mask >> ntz);
|
||||
idx = ntz;
|
||||
}
|
||||
|
||||
void next()
|
||||
{
|
||||
mask = MaskT(mask >> 1);
|
||||
idx += 1;
|
||||
|
||||
const uint8_t ntz = bx::countTrailingZeros<MaskT>(mask);
|
||||
mask = 0 == mask ? MaskT(0) : MaskT(mask >> ntz);
|
||||
idx += ntz;
|
||||
}
|
||||
|
||||
bool isDone() const
|
||||
{
|
||||
return 0 == mask;
|
||||
}
|
||||
|
||||
MaskT mask;
|
||||
uint8_t idx;
|
||||
};
|
||||
|
||||
struct ClearQuad
|
||||
{
|
||||
ClearQuad()
|
||||
@@ -2632,9 +2601,9 @@ namespace bgfx
|
||||
|
||||
murmur.add(_mask);
|
||||
|
||||
for (BitMaskToIndexIteratorT<uint32_t> it(_mask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT<uint32_t> it(_mask); !it.isDone(); it.next() )
|
||||
{
|
||||
murmur.add(_bind[it.idx]);
|
||||
murmur.add(_bind[it.getIndex()]);
|
||||
}
|
||||
|
||||
return murmur.end();
|
||||
@@ -2657,9 +2626,11 @@ namespace bgfx
|
||||
return false;
|
||||
}
|
||||
|
||||
for (BitMaskToIndexIteratorT<uint32_t> it(mask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT<uint32_t> it(mask); !it.isDone(); it.next() )
|
||||
{
|
||||
if (0 != bx::memCmp(&_lhs[it.idx], &_rhs[it.idx], sizeof(Binding) ) )
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
if (0 != bx::memCmp(&_lhs[idx], &_rhs[idx], sizeof(Binding) ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -2700,9 +2671,9 @@ namespace bgfx
|
||||
{
|
||||
if (0 != (_flags & BGFX_DISCARD_BINDINGS) )
|
||||
{
|
||||
for (BitMaskToIndexIteratorT<uint32_t> it(_mask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT<uint32_t> it(_mask); !it.isDone(); it.next() )
|
||||
{
|
||||
Binding& bind = m_bind[it.idx];
|
||||
Binding& bind = m_bind[it.getIndex()];
|
||||
bind.reset();
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1005,9 +1005,9 @@ namespace bgfx
|
||||
|
||||
if (UINT32_MAX != _new.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(_new.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(_new.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
if (_current.m_stream[idx].m_handle.idx != _new.m_stream[idx].m_handle.idx
|
||||
|| _current.m_stream[idx].m_startVertex != _new.m_stream[idx].m_startVertex
|
||||
|
||||
@@ -7832,12 +7832,12 @@ namespace bgfx { namespace d3d11
|
||||
|
||||
if (UINT32_MAX != draw.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
; !it.isDone()
|
||||
; it.next(), numStreams++
|
||||
)
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
currentState.m_stream[idx].m_layoutHandle = draw.m_stream[idx].m_layoutHandle;
|
||||
currentState.m_stream[idx].m_handle = draw.m_stream[idx].m_handle;
|
||||
|
||||
@@ -5979,12 +5979,12 @@ namespace bgfx { namespace d3d12
|
||||
|
||||
if (UINT32_MAX != _draw.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(_draw.m_streamMask)
|
||||
for (bx::BitMaskToIndexIteratorT it(_draw.m_streamMask)
|
||||
; !it.isDone()
|
||||
; it.next(), numStreams++
|
||||
)
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
const Stream& stream = _draw.m_stream[idx];
|
||||
|
||||
uint16_t handle = stream.m_handle.idx;
|
||||
@@ -10441,12 +10441,12 @@ namespace bgfx { namespace d3d12
|
||||
uint8_t numStreams = 0;
|
||||
if (UINT32_MAX != draw.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
; !it.isDone()
|
||||
; it.next(), numStreams++
|
||||
)
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
currentState.m_stream[idx].m_layoutHandle = draw.m_stream[idx].m_layoutHandle;
|
||||
currentState.m_stream[idx].m_handle = draw.m_stream[idx].m_handle;
|
||||
|
||||
+6
-6
@@ -9976,9 +9976,9 @@ namespace bgfx { namespace gl
|
||||
{
|
||||
if (UINT32_MAX != draw.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
if (currentState.m_stream[idx].m_handle.idx != draw.m_stream[idx].m_handle.idx)
|
||||
{
|
||||
@@ -10052,9 +10052,9 @@ namespace bgfx { namespace gl
|
||||
{
|
||||
const uint8_t lastStream = uint8_t(31 - bx::countLeadingZeros<uint32_t>(draw.m_streamMask) );
|
||||
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
const VertexBufferGL& vb = m_vertexBuffers[draw.m_stream[idx].m_handle.idx];
|
||||
const uint16_t decl = isValid(draw.m_stream[idx].m_layoutHandle)
|
||||
@@ -10082,9 +10082,9 @@ namespace bgfx { namespace gl
|
||||
|
||||
if (UINT32_MAX == numVertices)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
const VertexBufferGL& vb = m_vertexBuffers[draw.m_stream[idx].m_handle.idx];
|
||||
uint16_t decl = isValid(draw.m_stream[idx].m_layoutHandle) ? draw.m_stream[idx].m_layoutHandle.idx : vb.m_layoutHandle.idx;
|
||||
|
||||
@@ -7078,12 +7078,12 @@ static_assert(BX_COUNTOF(s_accessNames) == Access::Count, "Invalid s_accessNames
|
||||
|
||||
if (UINT32_MAX != draw.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
; !it.isDone()
|
||||
; it.next(), numStreams++
|
||||
)
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
currentState.m_stream[idx].m_layoutHandle = draw.m_stream[idx].m_layoutHandle;
|
||||
currentState.m_stream[idx].m_handle = draw.m_stream[idx].m_handle;
|
||||
@@ -7295,9 +7295,9 @@ static_assert(BX_COUNTOF(s_accessNames) == Access::Count, "Invalid s_accessNames
|
||||
|
||||
if (UINT32_MAX == numVertices)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(currentState.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(currentState.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
const VertexBufferMtl& vb = m_vertexBuffers[currentState.m_stream[idx].m_handle.idx];
|
||||
const uint16_t decl = isValid(draw.m_stream[idx].m_layoutHandle) ? draw.m_stream[idx].m_layoutHandle.idx : vb.m_layoutHandle.idx;
|
||||
const VertexLayout& layout = m_vertexLayouts[decl];
|
||||
|
||||
+4
-4
@@ -5599,9 +5599,9 @@ VK_IMPORT_DEVICE
|
||||
{
|
||||
const uint8_t colorMask = uint8_t(~_clear.getColorSkipMask(numMrt) & ( (1<<numMrt)-1) );
|
||||
|
||||
for (BitMaskToIndexIteratorT it(colorMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(colorMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint32_t ii = it.idx;
|
||||
const uint32_t ii = it.getIndex();
|
||||
|
||||
attachments[mrt].colorAttachment = ii;
|
||||
attachments[mrt].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
|
||||
@@ -11969,12 +11969,12 @@ VK_DESTROY
|
||||
uint32_t numVertices = draw.m_numVertices;
|
||||
if (UINT32_MAX != draw.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
; !it.isDone()
|
||||
; it.next(), numStreams++
|
||||
)
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
currentState.m_stream[idx] = draw.m_stream[idx];
|
||||
|
||||
|
||||
+10
-10
@@ -3490,8 +3490,8 @@ WGPU_IMPORT
|
||||
if (0 < numVertexStreams
|
||||
&& UINT32_MAX != _streamMask)
|
||||
{
|
||||
const uint8_t firstStream = BitMaskToIndexIteratorT(_streamMask).idx;
|
||||
const uint16_t layoutIdx = isValid(_stream[firstStream].m_layoutHandle)
|
||||
const uint8_t firstStream = bx::BitMaskToIndexIteratorT(_streamMask).getIndex();
|
||||
const uint16_t layoutIdx = isValid(_stream[firstStream].m_layoutHandle)
|
||||
? _stream[firstStream].m_layoutHandle.idx
|
||||
: m_vertexBuffers[_stream[firstStream].m_handle.idx].m_layoutHandle.idx
|
||||
;
|
||||
@@ -3533,9 +3533,9 @@ WGPU_IMPORT
|
||||
|
||||
if (UINT32_MAX != _streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
uint16_t handle = _stream[idx].m_handle.idx;
|
||||
const VertexBufferWGPU& vb = m_vertexBuffers[handle];
|
||||
@@ -3590,12 +3590,12 @@ WGPU_IMPORT
|
||||
|
||||
if (UINT32_MAX != _streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(_streamMask)
|
||||
for (bx::BitMaskToIndexIteratorT it(_streamMask)
|
||||
; !it.isDone()
|
||||
; it.next(), numStreams++
|
||||
)
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
const uint16_t handle = _stream[idx].m_handle.idx;
|
||||
const VertexBufferWGPU& vb = m_vertexBuffers[handle];
|
||||
@@ -8003,12 +8003,12 @@ WGPU_IMPORT
|
||||
|
||||
if (UINT32_MAX != draw.m_streamMask)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
for (bx::BitMaskToIndexIteratorT it(draw.m_streamMask)
|
||||
; !it.isDone()
|
||||
; it.next(), numStreams++
|
||||
)
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
|
||||
currentState.m_stream[idx].m_layoutHandle = draw.m_stream[idx].m_layoutHandle;
|
||||
currentState.m_stream[idx].m_handle = draw.m_stream[idx].m_handle;
|
||||
@@ -8078,9 +8078,9 @@ WGPU_IMPORT
|
||||
|
||||
if (UINT32_MAX == numVertices)
|
||||
{
|
||||
for (BitMaskToIndexIteratorT it(currentState.m_streamMask); !it.isDone(); it.next() )
|
||||
for (bx::BitMaskToIndexIteratorT it(currentState.m_streamMask); !it.isDone(); it.next() )
|
||||
{
|
||||
const uint8_t idx = it.idx;
|
||||
const uint8_t idx = it.getIndex();
|
||||
const VertexBufferWGPU& vb = m_vertexBuffers[currentState.m_stream[idx].m_handle.idx];
|
||||
const uint16_t decl = isValid(draw.m_stream[idx].m_layoutHandle) ? draw.m_stream[idx].m_layoutHandle.idx : vb.m_layoutHandle.idx;
|
||||
const VertexLayout& layout = m_vertexLayouts[decl];
|
||||
|
||||
Reference in New Issue
Block a user