summaryrefslogtreecommitdiffstats
path: root/src/render/graphicshelpers/graphicshelpergl3_3.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QMemoryBarrier cleanupPaul Lemire2017-02-161-1/+1
| | | | | | | | | | | -rename barriertypes to waitOperation -in QML introduce a waitFor property -remove the Barrier suffix for the enum values -rename BarrierType to Operation Task-number: QTBUG-58878 Change-Id: Idc65f44b09e632509cd74286de26fea02e6b6dee Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Transfers gpu buffer data to cpuJuan José Casafranca2017-01-311-0/+10
| | | | | | | | | | | | | | | | | | | | Added some code to retrieve the data in the gpu back to a cpu pointer in the opengl helpers. Added a framegraph node which specifies if any data must be downloaded from the gpu Added a flag in the buffer object to specify if the data from that buffer must be downloaded. Added a job to send the data back to the frontend. Added a path in the renderer to download the gpu data. Task number: QTBUG-57727 Change-Id: I315a9221e5116c7d07f818e00c654fe1901144f4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* GraphicsHelpers: add glMemoryBarrier supportPaul Lemire2017-01-241-0/+6
| | | | | Change-Id: I9c66326fa29e0fde6356d3db58c99fd6a73eaa0e Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* GraphicsHelpers: add support for indirect drawingPaul Lemire2017-01-131-0/+10
| | | | | Change-Id: I9c2fb4e35b9685d1585e4c7b8bd2910aa95224be Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* GraphicsHelpers: bindFrameBufferAttachmentPaul Lemire2016-11-181-1/+1
| | | | | | | | | | | | Handle binding all the faces of a cube map texture if supported. Print a warning if not supported. This can be really useful when you want to render a dynamic sky into a cube map texture to be used for reflection or refraction without having to create 6 FBO or 6 attachments which would require 6 passes to be rendered. Change-Id: Id5a920d608d895878a177f777f898a367f96aeb1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add blitFramebuffer to graphics helpersAntti Määttä2016-10-201-0/+6
| | | | | | | | Add support for glBlitFramebuffer, which is needed to implement render capture of multisampled framebuffers. Change-Id: I95afda70e085051fc29e2456580b8248675332d4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* GraphicsContext/Helpers: remove bindUniformPaul Lemire2016-09-141-176/+0
| | | | | | | | Replaced by applyUniform and the various glUniform*v helpers Change-Id: Ibfb2daa1268ac2eee299e774d9b5d4e2f5b6bc74 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* GraphicsHelperGL3_3: small fixes + autotest exportPaul Lemire2016-09-081-0/+17
| | | | | Change-Id: I3f37b88df6c3869570c0466e85e52a8e29387d92 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* GraphicHelpers: add helper methods to get UniformType from GLTypePaul Lemire2016-09-071-0/+82
| | | | | Change-Id: I7711345d4c9b9b9d2e542a57bae7151bc4fcec84 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* GraphicsHelper: add glUniform* helper methodsPaul Lemire2016-08-261-0/+105
| | | | | Change-Id: I2532fcbf712d4a2194569d11891f0f3a7d7f7ae1 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Make sure baseInstance and baseVertex are passedKevin Ottens2016-05-121-7/+7
| | | | | | Change-Id: I2289ada6e9d17590c8e0891fde8dadcdb4d3e021 Task-number: QTBUG-53174 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add firstVertex to QGeometryRenderer APIMike Krus2016-05-041-0/+10
| | | | | | | | To support glDrawArraysInstancedBaseInstance Task-number: QTBUG-51515 Change-Id: I0c95b351ff7a3668f17256d0d875c3c36537fd01 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-011-1/+1
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Silence some unused variable warningsSean Harmer2016-04-201-0/+3
| | | | | Change-Id: Ic3bb656c5517f5df4be3c685cd132ac9ef8dc9f0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* AntiAliasing added as RenderstateRobert Brock2016-04-201-0/+6
| | | | | | | | Adding antialiasing that can be enabled in renderstates Change-Id: I0728e69dba5896ca86e56b940682990fafd0a297 Task-number: QTBUG-52191 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add GraphicsContext support for glClearBufferfv()Wieland Hagen2016-04-161-0/+6
| | | | | | | Task-number: QTBUG-50116 Change-Id: I78e06b0e2846897e2edaa5711b4e0d4a8057a3fc Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* GraphicsContext: remove cullFace()Wieland Hagen2016-04-151-6/+0
| | | | | | | is covered by OpenGL standard functions Change-Id: Ia7f32ec27c1725247a2c1f2bce4fba4433857932 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Properly handle alpha to coverage state in non-cloning codepathSean Harmer2016-04-111-7/+3
| | | | | | | | | | | | Also improve the alpha to coverage handlign in the helpers by using a single function rather than two. This removes GL errors about bad glFace enum values (caused by bad handlign of alpha to coverage in switch statement, which led to a FrontFace state being created with bad data). Change-Id: I832d92fcb07134525f421d3a3b4d12e9f5f6428c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Prefer iterators over foreach + QHash::keys().Volker Krause2016-03-101-2/+2
| | | | | | | | | | Also, avoids the unnecessary hash lookup inside the loop. Found by clazy. Change-Id: I55b6f35b583ef69274d7c6e190d780b8d1c03a3a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QClipPlane rename and added propertiesRobert Brock2016-03-081-0/+5
| | | | | | | | | | | | | | - storing values in backend - new functions being added renamed plane to planeIndex added QVector3D normal property added float distance property As per API review Task-number: QTBUG-51435 Change-Id: Ie52804716510981af1467e96003304324fadd4d8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderTargetOutput enumRobert Brock2016-03-031-3/+3
| | | | | | | | As per API review renamed FooAttachment to just Foo Change-Id: Ifd977b2b8bdb6706a70dd10f2ea3ee6a381c26b8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QRenderAttachment renamed to QRenderTargetOutputRobert Brock2016-03-031-3/+3
| | | | | | | As per API review Change-Id: Icaca9797c01100402e6d103be2a0425820a717ec Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QRenderAttachment renamed RenderAttachmentType to AttachmentPointRobert Brock2016-03-021-4/+4
| | | | | | | | | As per API review New name was better fitting to the actual description/usage Renamed point to attachmentPoint Change-Id: Id14a312acabdcc9bda49a4d30efe490342105660 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add QRenderState for GL_TEXTURE_CUBE_MAP_SEAMLESSWieland Hagen2016-02-051-0/+8
| | | | | Change-Id: I339d19966c2dd850d01f5a0737fea566ca23a96d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Unify license header usageAntti Kokko2016-01-261-11/+14
| | | | | | | Update old header.LGPL3 to header.LGPL Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Added glEnablei, glDisablei, glBlendFuncSeparateiWieland Hagen2016-01-141-0/+21
| | | | | | | | | | Added glEnablei, glDisablei, glBlendFuncSeparate to GraphicsHelpers and GraphicsContext Task-number: QTBUG-50005 Change-Id: I01c3a6e26fde9756d62694235ba0c1a0fe5155ae Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* GraphicsHelper: add dispatch compute functionPaul Lemire2016-01-131-0/+8
| | | | | Change-Id: I3c2614f0fc484d6f492d9302a3ec9335e827f741 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderView/GraphicsContext: support SSBO/UBO with buffer used as ParametersPaul Lemire2016-01-131-0/+8
| | | | | Change-Id: I347aa5deea6521b43b9033e2200ab2f8b272f671 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Shaders: retrieve SSBO blockPaul Lemire2016-01-131-0/+27
| | | | | Change-Id: I62065d30b197367c8e5e03099c3af034892c4038 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add glBlendFunci() to GraphicsContext + GraphicsHelperWieland Hagen2016-01-071-0/+9
| | | | | | | | Only for OpenGL 4.0. Task-number: QTBUG-50005 Change-Id: I70984a2bff3afc04539efa7dea60196aa06e72d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add glPointSize() helper functionsWieland Hagen2015-12-271-0/+10
| | | | | | | | | | OpenGL ES 2.0 doesn't support glPointSize(), but OpenGL 2.0+ does, so we need to call it though a QGraphicsHelperInterface. When on OpenGL ES 2.0, just print a warning. Task-number: QTBUG-49562 Change-Id: Icbd5f602cae38f95925d99003ec3ee9aebb3719e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename Renderer -> Render throughoutSean Harmer2015-10-191-1/+1
| | | | | | | | This is for consistency between the C++ namespaces and QML imports and with the other aspects. Change-Id: I73392f138b4e519b12888f52530123e3d0ba445e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* GL3 helpers fix: use QByteArray left to avoid trash charactersPaul Lemire2015-10-141-2/+3
| | | | | | | When retrieving UBO block names Change-Id: I3b3c4622491d17f53f2a972623eead9c998925df Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Remove Q prefix from graphics helpersSean Harmer2015-10-131-0/+926
Change-Id: I79066df0df1fbac4f49e47c91c552fca0d4093bf Reviewed-by: Paul Lemire <paul.lemire@kdab.com>