| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous implementation was dereferencing the sample pointer in
order to get the offset to subtract from the member pointer. The
resulting value is then only used to get a pointer to the member in
order to calculate the offset so it doesn't actually read from the
memory location and shouldn't cause any problems. However this is
probably technically invalid and could have undefined behaviour. It
looks like clang takes advantage of this undefined behaviour and
doesn't actually offset the pointer. It also generates a warning when
it does this.
This patch splits the _cogl_container_of macro into two
implementations. Previously the macro was always used in the list
iterator macros like this:
SomeType *sample = _cogl_container_of(list_node, sample, link)
Instead of doing that there is now a new macro called
_cogl_list_set_iterator which explicitly assigns to the sample pointer
with an initial value before assigning to it again with the real
offset. This redundant initialisation gets optimised out by compiler.
The second macro is still called _cogl_container_of but instead of
taking a sample pointer it just directly takes the type name. That way
it can use the standard offsetof macro.
https://bugzilla.gnome.org/show_bug.cgi?id=723530
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 1efed1e0a2bce706eb4901979ed4e717bb13e4e2)
|
| |
|
|
|
|
|
| |
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 07114acc40406e3e0fa79ae6195836d56397fdfa)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Commit a750f80c6aaa was supposed to enable it for newer mesa but was wrong,
fix that.
(cherry picked from commit 0548757e187bca45b6887b043a97b7692b2ef07d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug that prevented MESA_copy_sub_buffer to work for swrast /
llvmpipe got fixed in mesa 10.1 git so enable it for mesa 10.1+.
https://bugzilla.gnome.org/show_bug.cgi?id=721450
When landing the patch, it was tweaked to #include "cogl-version.h" to
avoid a compiler warning about COGL_VERSION_ENCODE being implicitly
defined. -- Robert Bragg
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit e7e216b1d3d151acf3fed619bd759692a989b4b4)
|
|
|
|
|
|
|
|
| |
The -L option makes curl follow redirections. This is needed for
downloading glext.h because khronos.org is using a redirect.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 85baaef4a4f4fd3a03c7c9f05002eae483ddd6b3)
|
|
|
|
|
|
|
|
|
| |
Since 248a76f5eac7e5ae4fb45208577f9a55360812a7 cogl.h can no longer be
included in internal source files so the WGL winsys was no longer
compiling.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 91af97a2a27ab5ad3e7eaabebd03503b685d4d42)
|
|
|
|
| |
(cherry picked from commit 002e2ec08bf2d98c30f08b813a652618589ac000)
|
|
|
|
| |
(cherry picked from commit 637728dd89d51bc2809b4f0495c08f6f9eaeb8eb)
|
|
|
|
|
|
|
|
|
|
| |
This means that we can't cache the journal read_pixels optimization.
https://bugzilla.gnome.org/show_bug.cgi?id=719582
Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 550bae22d20c8d6d7cf1d090faa9c91619594077)
|
|
|
|
|
|
|
|
|
| |
When projecting the bounding rectangle of a primitive it was using the
modelview matrix twice instead of the modelview and projection
matrices so it was coming out with garbage.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 7e1f05c84013bb91248d691091df00f4f634c6cf)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test makes an L-shaped path that fills the whole framebuffer
except for the top right quadrant. It then clips to that and tries to
fill the framebuffer with a rectangle. Then it verifies that all of
the quadrants have the expected colour.
This is currently failing due to a bug in the primitive clipping.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 5404033220099b4a3c6cf32a0d269c4e98489fee)
|
|
|
|
|
|
|
| |
(cherry picked from commit f2072ab07566461b849f60e4e347171fcc9a9877)
Conflicts:
.gitignore
|
|
|
|
|
|
|
|
|
|
| |
This improves the error message in the case where libgbm is missing when
the KMS egl platform has been enabled.
https://bugzilla.gnome.org/show_bug.cgi?id=706808
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 79ad416515b55ece8b9151876456555ff3fede2f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Depending on what version of Mesa you have then eglQueryWaylandBuffer
may take a wl_buffer or wl_resource argument and the EGL header will
only forward declare the corresponding type.
The use of wl_buffer has been deprecated and so internally we assume
that eglQueryWaylandBuffer takes a wl_resource but for compatibility we
forward declare wl_resource in case we are building with EGL headers
that still use wl_buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=710926
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 9bd1ee544667cfe7ecae479ec7f778446dd8f326)
|
|
|
|
|
|
|
|
|
| |
wl_buffer has been deprecated in the server API and instead
compositors should be directly passing the wl_resource pointer to
eglQueryWaylandBuffer.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit f13278bcf3f1475b7afc7d55a5218f409d119658)
|
|
|
|
|
|
|
|
|
|
| |
Commit 50d1285b updated the wl_shm enum values but left
one out. Update it to fix the build on big-endian.
https://bugzilla.gnome.org/show_bug.cgi?id=710135
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 9246286846d0428b03e646b2f5ec14f0eff4edc6)
|
|
|
|
|
|
|
|
|
| |
cogl_is_atlas_texture is supposed to be exported from the DLL/.so, so
update the cogl.symbols file to ensure this.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 13e037f096de5742db769500b4c0018249d8f8e4)
|
|
|
|
|
|
|
|
|
|
|
| |
This makes cogl_framebuffer_set_color_mask immediately bail out if the
given mask equals the framebuffer's current mask, since the cost of
flushing the journal and flushing the gl state will hugely outweigh the
cost of the check.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 925174d99df7f1f4b11098e748bcc23eaa396a21)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids including wayland-server.h in cogl-display-private.h which
avoid lots of compile time warnings that wl_buffer is deprecated. The
problem is that wl_buffer is also exposed in the client side headers and
isn't deprecated for clients. If we end up including the client and
server headers in the same compilation unit we can get conflicting
definitions.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 60fcd9c87cf5d8ae8c41134217ee0e1fa2fbd46e)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This updates the definition of _COGL_STATIC_ASSERT to just use
_Static_assert if available or be NOP if not. We no longer worry about
supporting static assertions with older compilers. This fixes some
verbose warnings that newer compilers were giving with the old typedef
based static assertion method.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 645e3607ea7f210d6dcb9d217204790051de7c82)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a pipeline is notified of a change we now make sure to notify all
progends of that change not just the progend directly associated with
that pipeline. A pipeline can have private state associated with it from
multiple progends because descendants will always try and cache state on
ancestors to maximize the chance that the state can later be re-used.
Descendants may be using different progends than the ancestors that they
cache state with.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 873939a18934185fb3c9c84c373cb86d1278add7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the cases where we cache vertex state with an ancestor pipeline (whose
vertex processing state is equivalent) we need to invalidate that state
if that ancestor is later modified.
This conformance test checks this case but currently fails because we
only notify the progend directly associated with the pipeline being
changed.
In this case the pipeline can be using a different progend to the
ancestor which it is caching state with so when the ancestor is changed
it needs to notify all the progends that they may need to clear their
private state.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit e112af5f770d6c46688fdcb5ba38b75ca0778891)
|
|
|
|
|
|
|
|
| |
Commit 7b25c8f5caad mistakenly added a reference to a
COGL_GTYPE_DEFINE_CLASS() macro that does not yet exist so this patch
removes it.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously when we released a .bzip2 file the Gnome release scripts
will just convert this to a .xz file and generate its own checksum.
The .bzip2 is never actually available on the FTP server. This isn't
ideal because we were listing the checksum of the .bzip2 file in the
release message but that is useless information. This patch changes it
to generate a .xz file instead which is also what Clutter does.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit cd20c869f303a3526335e77b1913c0555e226a3f)
|
| |
|
| |
|
| |
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|
|
|
|
| |
Reviewed-by: Robert Bragg <robert@linux.intel.com>
|