diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-05-13 07:32:19 +0200 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-05-22 10:32:10 +0200 |
commit | 3ec0df4b5f9bf82918e0b783f547d2bc560f5ccf (patch) | |
tree | bd96d60c2723b5400c56dd1f6e5ca7e027d5de97 /src/gui/rhi/qrhi_p.h | |
parent | 547d5e1f55102093a9906e4b0c347c7efa073eac (diff) | |
download | qtbase-3ec0df4b5f9bf82918e0b783f547d2bc560f5ccf.tar.gz |
RHI: Store texture handle as 64-bit int
When storing a void* pointer to the texture handle, we had
to ensure that the variable would exist until the build phase,
which is error prone and caused errors in QQuickWidget because
we copied the texture ID from the FBO into a local variable
before passing it into QQuickWindow::setRenderTarget().
The reason for using a void* was that we cannot know the width
of the handles in the different backends, but we do know that
they are 64-bit at maximum, so instead of storing potentially
dangling pointers, we just make it a 64-bit integer and cast
it back and forth in the backends.
Task-number: QTBUG-78638
Change-Id: I7951e24351ddb209045ab6197d81eb1290b4da67
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/gui/rhi/qrhi_p.h')
-rw-r--r-- | src/gui/rhi/qrhi_p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/rhi/qrhi_p.h b/src/gui/rhi/qrhi_p.h index e63a828bfc..71064cfc6a 100644 --- a/src/gui/rhi/qrhi_p.h +++ b/src/gui/rhi/qrhi_p.h @@ -777,7 +777,7 @@ public: }; struct NativeTexture { - const void *object; + quint64 object; int layout; }; |