| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Change-Id: Id2312ad96f92326960283be6d2f1a0b0404fc1f9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
This solves the material-cpp flickering
Change-Id: Id83ee9ad5e68ceeb3caf67ef48a61a431218a953
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I1d5bbfa578cf5d9306d6614d39e20c9d4beabfa9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Ibe21febfee752e7708b909b5411e35f75ebfb9e5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
This is needed to be able to use the CubeMapFace enums from QML
Change-Id: I8f081b0e920b6245931fe9589396aefa7baed4cb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I4fb73ac3d03d49be121153235311dd76b47dbd4e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Id8bbbefaccff1915508ec90d5342cb4799f3f022
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
OpenGL ES 2.0, unlike 3.0 and later, does not support sized formats.
Therefore RGBA8_UNorm and friends will all fail. Instead, we must map
and pass RGBAFormat and similar.
Change-Id: I37c3581fbddc8b58af7af66ba4392e57e9cb965a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Return the node when created instead of return Q_NULLPTR.
Change-Id: Icdab703fc0932382ca7418ba7ce709d4bc32d992
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
These were left for backward compatibility while the refactoring took place.
Change-Id: I527339db2f58c00aaa5a5417bb914955437e0a72
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I4c030458ecf15d9620d071573f911052fb5a6973
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I1819216f5d8e6bd97311cf7fbece2ff7334dfba0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
* Added LoadTextureDataJob
* QAbstractTextureProvider: maximum layers property
* Automatic QAbstractTextureProvider::TextureFormat added
* material-qml should work perfectly with that patch.
Change-Id: I3f92f13b783155798772086304a30126a4fc687d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Why was it removed in the first place ?
Change-Id: I526c9957570f18700b9eeb7f7cd061cd642e203b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Breaks Texture Rendering until all following patches are merged
Change-Id: Id8663d54ec39697b6c59f626b8b1aa7d5b8d8ebf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
That required a custom backend functor creator. QRenderAspect was updated to
use the correct functor.
This will provide faster lookups. Also introduced TextureDNA.
The goal is to build a unique key based on the texture properties and each
texture image (including layer position, mipmaplevel and cubemapface).
Then when applying a texture it will just be a matter of comparing hashes.
Change-Id: Ic07aea6bc1cbcb1059ec5bcdd458ccc51e1feda9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I1c32e555a7033e451af4c994f7b6f22556543c9a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Change-Id: Ia3a49da501e7acded7d99150ad64ef1a91333073
Note: also updated the cleanup method
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Id6a41db8eed2874cc5a06ddc5feba6c9b0aced53
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I3a751d3357606951cc90176b6c48c4684e4f560f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I8c4f4e06fbbc8963a7dd1f01bd22ba058a2486a7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Texture2D, TextureCubeMap still using their old extensions to not break
examples for now.
Change-Id: I1ad8b37acb3cb15582136be7368c94d8c7c77a4b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
That enforces to use one of the subclasses.
Change-Id: Idba7300ed322954ba6866c4a262ad4ee74c024e5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
This way we can also get rid of the specific functor, the generic one is
enough again. That's possible thanks to createBackendNode availability.
Change-Id: I6ef4dc811c4304f1cf551200e1cedd9a81a53f43
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
For convenience we also provide a protected createBackendNode in
QBackendNode itself. From now on it should be the preferred way to deal
with node resolving.
Change-Id: I22f490763026848a4dc8b55c98f649c36df258a3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
This interface will be provided by aspects and used by backend nodes
when they need to resolve a frontend node to a backend one.
Change-Id: I695b1c5027826377c3e5ac7d2a05ca653148b96f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
We introduce QLockableObserverInterface as an intermediate interface
before the QChangeArbiter and depend on that interface whenever
possible.
Change-Id: Ic92efec8d68c88344bb43f8fc7dc10b1212180af
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
the Quick3D textures were removed to use the providers directly instead.
Change-Id: Ifa5f28aa1ce8b6e5cc921ac76e6fbd80c5ea3112
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
update send a new functor to the backend. Should be called by subclasses when
the functor has been updated.
Change-Id: I18f42b1d276b9b3b06de314754ba40a81f4b9f67
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I3280112df9614b7142d4e15b3871518896806577
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I4650ecad1b4c07531c8cd56c11976005bb543aed
Note: qtexture.h is now just a convenience include.
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
This will avoid qtexture.h/cpp becoming to large.
Change-Id: I5965b6f164951d1110145defe337fab76fea2b94
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
A QAbstractTextureProvider will be completed by a list of QTextureImage.
Each QTextureImage provides a layer, mipmapLevel, cubeFace and source
properties.
Each of the QTextureImage will also provide a QAbstractTextureDataFunctor that
will be used to load the actual texture data in an Aspect job as well as
compared to other functors for texture sharing.
Change-Id: Id17fd83da78b906d71320b629fc70f6aedb6a63e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
This is done prior to the whole texture API refactoring.
Doc was also added, might need improvement later on but a base is present at
least.
Change-Id: I75589f14dfbfba7bc4250b2e0960670e020ed38a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I55dbb0dd52e8be84aa65d787daaec2a943bd071d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Will allow to set each CubeMapFace on a Quick3DTextureCubeMap
Change-Id: Id4f4038a161e89f7f9a9083bf03066c52b504fbd
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I91694d6b9b241d3dfe24e114455332085c99c656
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Follow-up to the previous VAO fix. Issuing the draw call always is wrong
and even crashes some embedded devices' GLES implementation because the
buffer and attributes may not yet be set up due to the condition above
(when m_parameterAttributeToShaderNames is still empty).
Make it conditional by drawing only if we did go through the buffer
setup or the VAO is supported and available.
This makes the renderer functional on plain GLES 2.0 implementations
that are often found in embedded devices.
Change-Id: Ib550c2321fe05c75c998ce2f38079bdd703b03d3
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
swapBuffers() must not be called when rendering into an FBO. Otherwise
we will trigger a swap for the buffers of the Scene3D's window which is
definitely not what we want.
Change-Id: I188ed7f3b560e88cf61804fcb4216d2428b28c73
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: If8867d17b69c39d17202fdecc56cff4c3e83f7e8
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I63289b0582e237e0d6877f01f1e7afcbc930f035
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
We receive a QVariant from the frontend which sometimes contains a
pointer to a QTexture or a QSharedData. In such case immediately map to
their backend counterpart and store that instead.
Change-Id: Ia0ec06649c2883dfa76aee18417717a624629126
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is necessary in order to have a pointer to the renderer. It will be
needed to map from QTexture and QSharedData to RenderTexture and
RenderSharedData.
Note it makes us loose RenderParameter testability as it depends on the
Renderer (and later on managers).
Change-Id: I5559a2396588978406aac6b6ee27a33054ab0f79
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
RenderRenderPass is now storing pointers to backend objects as soon as
possible.
Change-Id: I6f8c4b92d18bcfe726df5731b978df0606a6a81c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
The backend is not supposed to keep pointers on frontend objects it
doesn't own. Instead store the data in RenderParameterMapping instances
as soon as possible.
Change-Id: I5f0ff04f06c54c2ad0fbe483051db9974f4aedf8
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will still fail badly with real GL on older cards that cannot
provide 4.3 core, but will avoid failing with OpenGL ES at least.
The issue becomes apparent with certain EGL implementations, like ANGLE.
Others may successfully ignore the version number request and may suceed.
The correct way is still not to request an invalid ES version.
Change-Id: I2be163b579d7b23e86cd350b22a4a33551249383
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic81e415d7f773bb79b548a6ab38ae5e7a9280bcd
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Otherwise we may get asserts in some configurations, in particular when using
QOpenGLFunctions on the ES2 code path and there is no context current on the thread.
Change-Id: Ibc2dc398a019cedac5fd2c3302b6c98b9970f60d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I70aedc29f09bd4c3b279b111f2295208c904436a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I550c33c6e40badc9cfeafb73f2f2e5be6404f41f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|