summaryrefslogtreecommitdiffstats
path: root/src/render/graphicshelpers/graphicshelpergl4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/graphicshelpers/graphicshelpergl4.cpp')
-rw-r--r--src/render/graphicshelpers/graphicshelpergl4.cpp44
1 files changed, 27 insertions, 17 deletions
diff --git a/src/render/graphicshelpers/graphicshelpergl4.cpp b/src/render/graphicshelpers/graphicshelpergl4.cpp
index 6972864cf..26f03ac8a 100644
--- a/src/render/graphicshelpers/graphicshelpergl4.cpp
+++ b/src/render/graphicshelpers/graphicshelpergl4.cpp
@@ -88,42 +88,42 @@ namespace Render {
namespace {
-GLbitfield memoryBarrierGLBitfield(QMemoryBarrier::BarrierTypes barriers)
+GLbitfield memoryBarrierGLBitfield(QMemoryBarrier::Operations barriers)
{
GLbitfield bits = 0;
- if (barriers.testFlag(QMemoryBarrier::AllBarrier)) {
+ if (barriers.testFlag(QMemoryBarrier::All)) {
bits |= GL_ALL_BARRIER_BITS;
return bits;
}
- if (barriers.testFlag(QMemoryBarrier::VertexAttributeArrayBarrier))
+ if (barriers.testFlag(QMemoryBarrier::VertexAttributeArray))
bits |= GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::ElementArrayBarrier))
+ if (barriers.testFlag(QMemoryBarrier::ElementArray))
bits |= GL_ELEMENT_ARRAY_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::UniformBarrier))
+ if (barriers.testFlag(QMemoryBarrier::Uniform))
bits |= GL_UNIFORM_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::TextureFetchBarrier))
+ if (barriers.testFlag(QMemoryBarrier::TextureFetch))
bits |= GL_TEXTURE_FETCH_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::ShaderImageAccessBarrier))
+ if (barriers.testFlag(QMemoryBarrier::ShaderImageAccess))
bits |= GL_SHADER_IMAGE_ACCESS_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::CommandBarrier))
+ if (barriers.testFlag(QMemoryBarrier::Command))
bits |= GL_COMMAND_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::PixelBufferBarrier))
+ if (barriers.testFlag(QMemoryBarrier::PixelBuffer))
bits |= GL_PIXEL_BUFFER_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::TextureUpdateBarrier))
+ if (barriers.testFlag(QMemoryBarrier::TextureUpdate))
bits |= GL_TEXTURE_UPDATE_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::BufferUpdateBarrier))
+ if (barriers.testFlag(QMemoryBarrier::BufferUpdate))
bits |= GL_BUFFER_UPDATE_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::FrameBufferBarrier))
+ if (barriers.testFlag(QMemoryBarrier::FrameBuffer))
bits |= GL_FRAMEBUFFER_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::TransformFeedbackBarrier))
+ if (barriers.testFlag(QMemoryBarrier::TransformFeedback))
bits |= GL_TRANSFORM_FEEDBACK_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::AtomicCounterBarrier))
+ if (barriers.testFlag(QMemoryBarrier::AtomicCounter))
bits |= GL_ATOMIC_COUNTER_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::ShaderStorageBarrier))
+ if (barriers.testFlag(QMemoryBarrier::ShaderStorage))
bits |= GL_SHADER_STORAGE_BARRIER_BIT;
- if (barriers.testFlag(QMemoryBarrier::QueryBufferBarrier))
+ if (barriers.testFlag(QMemoryBarrier::QueryBuffer))
bits |= GL_QUERY_BUFFER_BARRIER_BIT;
return bits;
@@ -1047,7 +1047,7 @@ GLint GraphicsHelperGL4::maxClipPlaneCount()
return max;
}
-void GraphicsHelperGL4::memoryBarrier(QMemoryBarrier::BarrierTypes barriers)
+void GraphicsHelperGL4::memoryBarrier(QMemoryBarrier::Operations barriers)
{
m_funcs->glMemoryBarrier(memoryBarrierGLBitfield(barriers));
}
@@ -1128,6 +1128,16 @@ void GraphicsHelperGL4::dispatchCompute(GLuint wx, GLuint wy, GLuint wz)
m_funcs->glDispatchCompute(wx, wy, wz);
}
+char *GraphicsHelperGL4::mapBuffer(GLenum target)
+{
+ return static_cast<char*>(m_funcs->glMapBuffer(target, GL_READ_WRITE));
+}
+
+GLboolean GraphicsHelperGL4::unmapBuffer(GLenum target)
+{
+ return m_funcs->glUnmapBuffer(target);
+}
+
void GraphicsHelperGL4::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
{
m_funcs->glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);