| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Call gdk_gl_context_update() once we create the GdkWindow inside the
::realize implementation of GtkGLArea, to ensure that the GL viewport is
updated with the size of the GDK window.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Double-buffering inside GDK breaks the GL drawing model; GL expects to
handle the output surface in its own way, so the double buffering done
by GTK produces flickering and bad frames.
We need to teach to GDK to ignore windows with native surfaces
associated with a GdkGLContext, while still allowing the ability to draw
with Cairo on a valid surface, but that requires some serious rework of
the drawing code.
|
| |
|
|
|
|
|
|
|
| |
It is not the cause of the flickering, and after checking with the
current implementation of GL widgets like GtkClutterEmbed, it's not
necessary to update the viewport in response to a ConfigureNotify
for child windows.
|
| |
|
|
|
|
| |
The valid GdkGLPixelFormat is owned by the GdkGLContext using it.
|
|
|
|
| |
Add sliders to control rotation angles on all three axis.
|
| |
|
|
|
|
|
| |
The GL viewport is responsible for painting everything, including the
backgound.
|
|
|
|
| |
And add the implementation of get_aux_buffers().
|
|
|
|
| |
Missing pixel format attribute for stereoscopic buffers.
|
|
|
|
| |
We are currently ignoring it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of modifying the pixel format in place, we allow separating the
pixel format from the effective pixel format we found.
This means that caller code can keep a reference to the pixel format it
creates, and re-use it to create new contexts on different displays,
while the GL context can keep a reference to a valid pixel format to let
the use query it.
This allows GtkGLArea to keep its own user-supplied pixel format and
reuse it without adding additional constraints as a result of a
validation on a specific GdkDisplay.
|
| |
|
|
|
|
| |
The color size is the minimum value between all the color buffers.
|
|
|
|
|
| |
XVisualInfo objects returned by glXGetVisualFromFBConfig() need to be
freed.
|
| |
|
| |
|
|
|
|
|
| |
The clear_window() function is replaced by the set_window() function
called with a NULL window.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
There's no need to check for different sizes.
|
|
|
|
| |
It's really not needed.
|
|
|
|
|
|
|
|
| |
Ensure that gdk_gl_context_update() schedules an update of the viewport,
and then perform the actual update when the backend says it should. This
makes the code a bit more readable, and we can keep asking the user to
call gdk_gl_context_update() after gdk_window_move_resize() without
having to care about asynchronous updates.
|
| |
|
|
|
|
| |
Make the test a bit more friendly.
|
|
|
|
|
|
|
|
| |
On X11, by virtue of the asynchronous nature of the protocol, we have to
wait until the ConfigureNotify event to resize the GL viewport. If the
GdkWindow is a top-level one, then we'll get a GDK_CONFIGURE event, but
if we're using a GDK_WINDOW_CHILD the event will be dropped on the
floor.
|
| |
|
|
|
|
|
| |
The GdkGLPixelFormat after validation contains the values of the
attributes that were found.
|
|
|
|
|
|
|
| |
The color-size pixel format property is the size of each color buffer
channel.
We also need to set a default for the samples per sample buffer.
|
| |
|
|
|
|
|
| |
This way we can check if a GdkWindow has a GdkGLContext associated to
it.
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=119189
|
|
|
|
|
|
|
|
| |
We use GdkGLPixelFormat only as a storage for GL configuration options.
The validation is only made when creating a GdkGLContext.
Validation for feature discovery and fallback code paths can be done
directly using gdk_display_validate_gl_pixel_format() instead.
|
|
|
|
|
|
|
|
|
|
|
| |
GdkGLPixelFormat is an ancillary class to specify pixel formats, buffer
types, and buffer sizes for GL context.
GdkGLContext is the wrapper around platform-specific GL context API.
This commit adds the base classes, and an implementation on X11.
https://bugzilla.gnome.org/show_bug.cgi?id=119189
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we want to use OpenGL in GDK then we have two choices; either:
- find the GL headers on each platform
- do extension discovery
- implement all the crazy dlopen()/dlsym() dispatch tables
*or* use libepoxy, which shields us from all this madness and provides a
decent layer for GL clients to use, without creating its own namespace.
Epoxy is also used by other projects, like Xorg and piglit, and it's
portable to all the platforms GDK cares about.
https://bugzilla.gnome.org/show_bug.cgi?id=119189
|
|
|
|
|
|
|
|
| |
Change the initial value to something that is not a multiple of 3, so
that dismissing the notification on reset makes sense. Let's use 50
because that is already being used elsewhere.
https://bugzilla.gnome.org/show_bug.cgi?id=734614
|
|
|
|
|
|
|
| |
... because that is what most applications are doing. So lets do the
same thing for the sake of consistency and setting a good example.
https://bugzilla.gnome.org/show_bug.cgi?id=734614
|
|
|
|
|
| |
Sadly I had forgotten to add selectionmode.ui to git.
Here is a reconstructed version that seems to work.
|
|
|
|
|
|
|
|
|
| |
This check used to be present in the pre-gestures code, but was unintentionally
removed when splitting code into drag/multiclick gestures. The policy used to
be that if clicking happened on an already selected node, DnD would happen
instead of rubberband selection, so this behavior is resuscitated.
https://bugzilla.gnome.org/show_bug.cgi?id=734143
|
| |
|
| |
|
|
|
|
|
|
| |
Make gtk-reftest consult the REFTEST_MODULE_DIR environment
variable to find out where to look for modules, and fix the
libtool hack to construct the .libs subdirectory correctly.
|
|
|
|
|
| |
The --disable-rebuilds option does not exist anymore, so remove
it. At the same time, add --enable-installed-tests.
|
|
|
|
|
|
| |
This was another victim of clipping changes - the labels were
overdrawing each other, leading to test failure. Prevent this
by separating the grid columns.
|
| |
|