summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2014-06-05 11:25:57 +0200
committerdegasus <wickmarkus@web.de>2014-06-05 13:32:13 +0200
commit606e46ba8d497ccd2719b697c7ed1994710435e5 (patch)
treedaf0efa70daa28fc9ecebfa2b1646b9d4186aca4 /Source/Core/VideoBackends/OGL/StreamBuffer.cpp
parent02a4e3d70fb3f71a1acfc1e4cb22a8e3a0dee963 (diff)
OGL-StreamBuffer: move alignment to caller
Only the caller know if alignment is needed at all, so it can be skipped now.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/StreamBuffer.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/StreamBuffer.cpp24
1 files changed, 6 insertions, 18 deletions
diff --git a/Source/Core/VideoBackends/OGL/StreamBuffer.cpp b/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
index 57a1cc0036..49a8a0e050 100644
--- a/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
+++ b/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
@@ -116,14 +116,6 @@ void StreamBuffer::AllocMemory(size_t size)
}
}
-void StreamBuffer::Align(u32 stride)
-{
- if (m_iterator && stride) {
- m_iterator--;
- m_iterator = m_iterator - (m_iterator % stride) + stride;
- }
-}
-
/* The usual way to stream data to the gpu.
* Described here: https://www.opengl.org/wiki/Buffer_Object_Streaming#Unsynchronized_buffer_mapping
* Just do unsync appends until the buffer is full.
@@ -142,8 +134,7 @@ public:
~MapAndOrphan() {
}
- std::pair<u8*, size_t> Map(size_t size, u32 stride) override {
- Align(stride);
+ std::pair<u8*, size_t> Map(size_t size) override {
if (m_iterator + size >= m_size) {
glBufferData(m_buffertype, m_size, nullptr, GL_STREAM_DRAW);
m_iterator = 0;
@@ -180,8 +171,7 @@ public:
DeleteFences();
}
- std::pair<u8*, size_t> Map(size_t size, u32 stride) override {
- Align(stride);
+ std::pair<u8*, size_t> Map(size_t size) override {
AllocMemory(size);
u8* pointer = (u8*)glMapBufferRange(m_buffertype, m_iterator, size,
GL_MAP_WRITE_BIT | GL_MAP_FLUSH_EXPLICIT_BIT | GL_MAP_UNSYNCHRONIZED_BIT);
@@ -230,8 +220,7 @@ public:
glBindBuffer(m_buffertype, 0);
}
- std::pair<u8*, size_t> Map(size_t size, u32 stride) override {
- Align(stride);
+ std::pair<u8*, size_t> Map(size_t size) override {
AllocMemory(size);
return std::make_pair(m_pointer + m_iterator, m_iterator);
}
@@ -271,8 +260,7 @@ public:
m_pointer = nullptr;
}
- std::pair<u8*, size_t> Map(size_t size, u32 stride) override {
- Align(stride);
+ std::pair<u8*, size_t> Map(size_t size) override {
AllocMemory(size);
return std::make_pair(m_pointer + m_iterator, m_iterator);
}
@@ -303,7 +291,7 @@ public:
delete [] m_pointer;
}
- std::pair<u8*, size_t> Map(size_t size, u32 stride) override {
+ std::pair<u8*, size_t> Map(size_t size) override {
return std::make_pair(m_pointer, 0);
}
@@ -331,7 +319,7 @@ public:
delete [] m_pointer;
}
- std::pair<u8*, size_t> Map(size_t size, u32 stride) override {
+ std::pair<u8*, size_t> Map(size_t size) override {
return std::make_pair(m_pointer, 0);
}