mirror of https://github.com/PCSX2/pcsx2.git
round count in constructor (to squash)
This commit is contained in:
parent
b6db0a3c30
commit
eb104f60e2
|
@ -56,8 +56,9 @@ class GSBufferOGL {
|
||||||
{
|
{
|
||||||
glGenBuffers(1, &m_buffer_name);
|
glGenBuffers(1, &m_buffer_name);
|
||||||
// Warning m_limit is the number of object (not the size in Bytes)
|
// Warning m_limit is the number of object (not the size in Bytes)
|
||||||
m_limit = count;
|
// Round it to next power of 2
|
||||||
m_quarter_shift = std::log2(m_limit * STRIDE) - 2;
|
m_limit = 1u << (1u + (size_t)std::log2(count - 1u));
|
||||||
|
m_quarter_shift = (size_t)std::log2(m_limit * STRIDE) - 2;
|
||||||
|
|
||||||
for (size_t i = 0; i < 5; i++) {
|
for (size_t i = 0; i < 5; i++) {
|
||||||
m_fence[i] = 0;
|
m_fence[i] = 0;
|
||||||
|
@ -294,9 +295,7 @@ public:
|
||||||
} catch (GSDXErrorGlVertexArrayTooSmall) {
|
} catch (GSDXErrorGlVertexArrayTooSmall) {
|
||||||
GL_INS("GL vertex buffer is too small");
|
GL_INS("GL vertex buffer is too small");
|
||||||
|
|
||||||
// Round up on power of 2
|
m_vb.reset(new GSBufferOGL<sizeof(GSVertexPT1)>(GL_ARRAY_BUFFER, count));
|
||||||
size_t bigger_count = 1u << (1 + (int)std::log2(count - 1));
|
|
||||||
m_vb.reset(new GSBufferOGL<sizeof(GSVertexPT1)>(GL_ARRAY_BUFFER, bigger_count));
|
|
||||||
|
|
||||||
set_internal_format();
|
set_internal_format();
|
||||||
}
|
}
|
||||||
|
@ -313,9 +312,7 @@ public:
|
||||||
} catch (GSDXErrorGlVertexArrayTooSmall) {
|
} catch (GSDXErrorGlVertexArrayTooSmall) {
|
||||||
GL_INS("GL vertex buffer is too small");
|
GL_INS("GL vertex buffer is too small");
|
||||||
|
|
||||||
// Round up on power of 2
|
m_vb.reset(new GSBufferOGL<sizeof(GSVertexPT1)>(GL_ARRAY_BUFFER, count));
|
||||||
size_t bigger_count = 1u << (1 + (int)std::log2(count - 1));
|
|
||||||
m_vb.reset(new GSBufferOGL<sizeof(GSVertexPT1)>(GL_ARRAY_BUFFER, bigger_count));
|
|
||||||
|
|
||||||
set_internal_format();
|
set_internal_format();
|
||||||
}
|
}
|
||||||
|
@ -330,9 +327,7 @@ public:
|
||||||
} catch (GSDXErrorGlVertexArrayTooSmall) {
|
} catch (GSDXErrorGlVertexArrayTooSmall) {
|
||||||
GL_INS("GL index buffer is too small");
|
GL_INS("GL index buffer is too small");
|
||||||
|
|
||||||
// Round up on power of 2
|
m_ib.reset(new GSBufferOGL<sizeof(uint32)>(GL_ELEMENT_ARRAY_BUFFER, count));
|
||||||
size_t bigger_count = 1u << (1 + (int)std::log2(count - 1));
|
|
||||||
m_ib.reset(new GSBufferOGL<sizeof(uint32)>(GL_ELEMENT_ARRAY_BUFFER, bigger_count));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue