| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
We need to clear the context from the cache when it's destroyed even if
it doesn't belong to a widget.
Task-number: QTBUG-13622
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
| |
Fixes a regression introduced by bf5c25c4. Some OpenGL
implementations don't have the GL_ARB_fragment_shader extension
listed even though they do support shaders.
Task-number: QTBUG-13179
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
| |
The WGL_COLOR_BITS_ARB attribute is only supposed to specify the number
of color bits in each buffer, *excluding* the alpha bits.
Task-number: QTBUG-13141
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the OpenGL version was 4.0 or higher, the flags for 1.1, 1.5, 2.0,
and so on were not being set. This lead to the flags indicating that
older OpenGL versions were not supported when they clearly were.
Back port parts of 28659c21d12a267b10e5b441bf4c776e04d69bdc from Qt 4.7
to fix this in Qt 4.6.
Task-number: QTBUG-12554
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
|
| |
OpenGL 4.0 systems now have compatibility with ES2, including
support for the precision qualifiers. If the GL_ARB_ES2_compatibility
extension is present, then we don't define highp/mediump/lowp
to the empty string.
Task-number: QTBUG-12862
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
|
|
| |
If the GL server is 1.x, but the client is 2.x, then the
qt_resolve_glsl_extensions() function was returning true
because the functions existed client-side, when it should
have returned false because the functionality didn't exist
server-side.
Task-number: QTBUG-12478
Reviewed-by: Sarah Smith
|
|
|
|
|
| |
Task-number: QTBUG-12591
Reviewed-by: Daniel Pope
|
|
|
|
|
|
|
|
| |
The proper define should be Q_WS_WIN.
Task-number: QTBUG-12040
Reviewed-by: Prasanth
Reviewed-by: Eskil
|
|
|
|
|
|
|
|
| |
The defines that can be used are QT_NO_DEBUG_OUTPUT and
QT_NO_WARNING_OUTPUT in order to turn off qDebug and qWarning output.
Reviewed-by: cduclos
Reviewed-by: Markus Goetz
|
|
|
|
|
|
|
|
|
|
|
| |
The default GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR, which
means you have to have mipmaps generated in order for it to produce
correct results. We don't use mipmaps when this particular path
is taken, so use texture filters that is in line with what we do in the
non-pixmap_to_texture path.
Task-number: QTBUG-11158
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the paint engine now transforms the prerendered glyphs instead of
rendering transformed glyphs as paths, we need to turn on texture
filtering to avoid antialiasing artifacts. In order to do this, we also
need to pad the glyphs in the glyph cache, otherwise you will get
artifacts when sampling the area around the glyph's bounding rect (where
there might be other glyphs.) This done by adding a glyphPadding()
function to the cache which returns the number of pixels to pad between
each glyph.
Updated: This also fixes a general issue where some combinations of font
sizes and transformations will cause the engine to sample neighbouring
glyphs, so this has been backported to Qt 4.6.x.
Task-number: QTBUG-9706, QTBUG-11028
Reviewed-by: Tom
Conflicts:
src/gui/painting/qtextureglyphcache.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
|
|
|
|
|
|
|
|
|
| |
If you forward declare a shader function which takes a sampler as
argument, the shader program will fail to link on ATI cards under
Windows.
Task-number: QTBUG-10510
Reviewed-by: Trond
|
|
|
|
|
|
|
|
| |
There seems to be a driver bug that causes glTexSubImage2D() to not
align data correctly when uploading a GL_ALPHA texture.
Task-number: related to QTBUG-10510
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
| |
When a pixmap is bound using the texture_from_pixmap extension we retain
a reference to the pixmap to stop us destroying it before swapBuffers()
or glFlush() is called. The references were not cleared out correctly
in the GL 1 engine.
Task-number: QTBUG-10529
Reviewed-by: Samuel
|
|
|
|
|
| |
Task-number: QTBUG-7545
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
| |
In the case where a polygon or polyline that contains consequtive equal
points, we end up calculating an invalid normal vector for the joins.
This fix skips past duplicate consequtive points.
Task-number: QTBUG-9548
Reviewed-by: Kim
|
|
|
|
|
|
|
| |
The patterns all got the same cache key (e.g. 1), which caused the
patterns to be uploaded as a texture every single time they were used.
Reviewed-by: Kim
|
|
|
|
|
| |
Task-number: QTBUG-9450
Reviewed-by: Sarah Smith
|
| |
|
|
|
|
|
|
|
|
|
| |
Apparently the driver does some optimization which causes it to behave
erratically when stencil testing is enabled. Multiplying the return
value from the texture lookup by 1.0 disables the optimization.
Task-number: QTBUG-8753
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
| |
The global destructor for the clean up hooks might be called before the
global destructor for QPixmap objects. We shouldn't leave pixmaps
around that is destroyed after the QApplication destructor is called.
Task-number: QTBUG-8681
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
| |
As there are no SDKs available for our test device (HTC HD2) that support
OpenGL, we had to construct the libraries by extracting them from the ROM image.
This is still work in progress at this time.
|
|
|
|
|
| |
Task-number: QT-2988
Reviewed-by: Julian de Bhal
|
|
|
|
| |
Reviewed-by: hjk
|
|
|
|
|
|
|
|
| |
For some reason the Intel GL driver exports the texture_from_pixmap
extension in the GLX server, but not in local clients.
Task-number: related to QTBUG-5732
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
| |
This basicaly replaces display(), openDisplay() & defaultDisplay()
methods with a single display() and nativeDisplay(), the latter
being implemented in the platform-specific files and everything
else being cross-platform code.
Reviewed-By: Trond
|
|
|
|
|
|
| |
Got rid of an ugly switch statement.
Reviewed-by: Tom
|
|
|
|
|
| |
Reviewed-By: Trond
Autotest: tst_QGL::qglContextDefaultBindTexture
|
|
|
|
| |
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
| |
Subpixel antialiased text does not look good on translucent
surfaces, so turn it off if the surface the text is rendered on
has an alpha channel. This makes change
eb84acd899aee992f5631ee0b9c0d992c8fbbd5a redundant.
Task-number: QTBUG-7190
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
|
| |
When trying to share the internal pbo context with a widget context, the
pbo context needs to be created on the same X11 screen as the widget
context.
Task-number: QTBUG-8047
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
|
|
| |
Don't try to use the texture_from_pixmap extension when drawing a pixmap
from one X11 screen onto a different X11 screen in the GL 2 engine.
For that to work, the pixmap will have to be re-created on the new
screen, which is exactly what the default bind method does (via QImage
conversion).
Task-number: QTBUG-8054
Reviewed-by: Kim
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/kernel/qapplication_win.cpp
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget_p.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There were cases where the QGLWidget would not be fully
updated on screen on Windows Vista and Windows 7 with Aero
disabled.
Task-number: QTBUG-7865
Reviewed-by: Prasanth
|
| |
| |
| |
| |
| |
| |
| | |
We probably want to kick out filtered pixmaps from the cache when the
source pixmap is modified as well as just destroyed.
Reviewed-By: Samuel
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (29 commits)
Compiler warning in QAbstractSlider.
Optimize QPathClipper::pathToRect.
QGraphicsScene: Use QPainter::setClipRect instead of setClipPath if possible.
QStyleSheetStyle: Fix combinaison of border-image and border-radius
Revert "QAbstractScrollArea: Wheel over a scrollarea that has only one horizontal scrollbar"
Proper Fav icon is not shown, for all the links default fav icon shown
Update changes-4.6.2.
Make DSFLIP_ONSYNC part of the default flip flags.
Fixed a failure in tst_qgl.
4.6.2 changes
Avoids a possible crash when saving the state of a main window
Implemented QGifHandler::imageCount().
Fixed compilation of the GL2 engine for OpenGL ES 2.
fix whitespace
Document that QModelIndex::child does not work for the root item
Fixed missing textures in the boxes demo.
Fix QTBUG_7714_fullUpdateDiscardingOpacityUpdate2 autotest in qws-linux
Assert failure when setting a widget focus proxy as its successor in tab order
Fixed garbled 3D Qt logo in the overpainting example.
fix crash in Phonon::DS9 backend
...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The assert wrong, it may be that the texture isn't removed from the
cache if it doesn't have the MemoryManaged bind option set.
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | |
| | |
| | | |
glColor4f is not defined in OpenGL ES 2.
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The boxes demo assumed that the current GL colour was the default white,
but the GL2 paint engine set it to black. Fixed by resetting the colour
to white in resetGLState().
Task-number: QTBUG-7779
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Disable vertex attribute arrays in the GL2 paint engine when
calling QPainter::beginNativePainting() and QPainter::end().
Task-number: QTBUG-7781
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes quite a lot of issues:
* QtOpenGL only registered qpixmap destruction hooks on X11 and
those only cleanup the EGL/GLX surface, not the texture object.
* The QPixmap destruction hooks were only being called from the
QPixmap destructor. However, this means when a QPixmap is assigned
to another QPixmap, the hooks don't get called.
Task-number: QTBUG-7647
Reviewed-By: Samuel
Reviewed-By: Trond
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the user provided their own shader with glShaderBinary(),
QGLShaderProgram::addShader() would refuse to add it because
it wasn't marked as "compiled". According to the OpenGL/ES 2.0
specification:
"It is permissible to attach a shader object to a
program object before source code has been loaded into the
shader object or before the shader object has been compiled."
Based on this, the compile check has been removed from addShader()
which should make supporting binary shaders easier.
Similarly, link() and programId() have been modified to support
applications that use glProgramBinaryOES() to specify program binaries.
Task-number: QTBUG-7490
Reviewed-by: Tom Cooksey
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
renderText() can't be used while a GL 2 paint engine is active on the
same device, because it will clash with the GL 1 engine and wreck havoc.
We simply don't support that scenario.
Task-number: QTBUG-7592
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Need to bind the PMV matrix's attributes to their indexes in the
simple shader, which is created in a seperate code path to all the
other shaders. This should fix the qgl autotest failures.
Reviewed-By: TrustMe
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is a lot of code depending on that pixmaps are flipped
upside down in the gl graphicssystem, so toggling this requires
extensive testing. Since we're anyway questioning the relevance
of this feature (compared to raster + GL viewport) its simply not
worth the effort to fix it properly right now.
Revert "Fixed y-inverted pixmaps on N900."
This reverts commit 57473d5d2a7bd6ae3117f61ff29264a1b790bb01.
|
| |
| |
| |
| |
| |
| | |
This makes GLSL dumps _significantly_ easier to read.
Reviewed-By: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This has several advantages: First, updating an attribute value
seems to be cheaper than updating a uniform. Second, vertex atribute
values are independent of shader program, which means they persist
across changing of the shader program. This makes code simpler and
reduces GL state changes. Note: Credit goes to Samuel for finding
this little gem. :-)
For the 25920 solid QGraphicsRectItem test case, this gives 10%
improvement on desktop and 27% on the SGX.
Reviewed-By: Kim
|