Michael Tretter
ac393aa657
qml6glsink: add support for texture-target external-oes
...
In order to use oes-external, the qml6glsink needs a fragment shader that uses
the samplerExternalOES.
The qsb tool is not able to handle shaders that contain samplerExternalOES since
this feature is not supported by all target shading languages. The qsb tool is
able to replace a shader in the qsb file to handle this use case. Use it to
generate a shader variant that uses samplerExternalOES for OpenGL ES and select
that variant if the qml6glsink negotiated texture target oes-external.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7319 >
2024-08-09 00:21:42 +00:00
Michael Tretter
5f6f755f5b
gstqsg6material: pass the texture-target from caps to shader
...
The Material has to select the correct Shader depending on the negotiated
texture target.
Pass the texture target from the caps to the shader creation as it is already
done for the pixel format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7319 >
2024-08-09 00:21:42 +00:00
Michael Tretter
429042fb70
gstqsg6material: create OESExternal RhiTexture if necessary
...
The RhiTexture must be created with the OESExternal flag, if the gl_mem is a
OESExternal buffer. Otherwise, Qt will create a Texture 2D texture and ignore
the previously negotiated texture target.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7319 >
2024-08-09 00:21:42 +00:00
Michael Tretter
c91e002b5e
gstqsg6material: print loaded fragment shader to log
...
This is useful for checking that the qml6glsink selected the correct fragment
shader for the expected texture format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7319 >
2024-08-09 00:21:42 +00:00
Tihran Katolikian
cc1d978d7f
qt6: explicitly specify path to QtGui private headers when including qrhi_p.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7131 >
2024-07-04 09:52:57 +00:00
Corentin Damman
bdeabcc4a6
gstqsg6material: fix RGB format support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6991 >
2024-06-05 16:49:06 +00:00
Jochen Henneberg
fee46dee28
qt6: Added support for NV12 input format to qml6glsink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6582 >
2024-04-10 13:45:26 +02:00
Jochen Henneberg
6e33a5da14
qt6: Fixes for dummy texture
...
* RED_OR_ALPHA8 will map value to alpha for OpenGL, use R8 to avoid
2nd shader
* Determine texel size for proper texture memory preparation
* QByteArray::fromRawData() does shallow copy and thus leads to use of
corrupted memory
* Make sure RGBA dummy texture is fully opaque
* QRhiTexture::create() must be called to allocate texture resources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6578 >
2024-04-08 20:05:10 +02:00
Robert Guziolowski
52638c1b22
qml6glsink: fix destruction of underlying texture
...
One should not directly delete the QRhiTexture instance.
Instead it should be marked as to be deleted once QRhi::endFrame()
is called (see: https://doc.qt.io/qt-6/qrhiresource.html#deleteLater )
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3443
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6467 >
2024-04-02 11:55:16 +11:00
Matthew Waters
2dae3775d9
qml6: fix a leak of the wrapped QSGTextures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160 >
2024-02-22 10:24:24 +00:00
Jordan Petridis
5f7a37f21e
qt6: if def newer symbosl in QRhiTexture
...
version 6.4 added QRhiTexture::RGB10A2 but we depend on an older
version of qt in meson, and we can keep compiling with older Qt6
versions still.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5475 >
2023-10-12 22:57:35 +00:00
Matthew Waters
6efccf0ee1
qml6/sink: add support for non-RGBA input
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5290 >
2023-09-07 02:12:29 +00:00