Age | Commit message (Collapse) | Author | Files | Lines |
|
* maint-1.5:
wflinfo: Fix MSVC compilation error.
|
|
v2: fixes in cmake (Emil Velikov, Chad Versace)
Changed also nmf file content and generation, moved
nacl example content to separate output path.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
Workaround what seems to be a bug in MSVC parser for C99.
http://lists.freedesktop.org/archives/waffle/2015-January/000975.html
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
* maint-1.5:
wflinfo: find glGetStringi on both Mali and WGL
waffle: return accurate result from wegl_platform_init()
|
|
Do the glGetStringi lookup after making context current so it works on WGL.
Remove an incorrect glGetStringi lookup, which returned NULL on Mali.
Signed-off-by: Frank Henigman <fjhenigman@google.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
wegl_platform_init() now returns false if dlopen or dlsym fails.
Signed-off-by: Frank Henigman <fjhenigman@google.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
* waffle_window_create2:
examples/gl_basic: Update to use waffle_window_create2()
tests/gl_basic: Update to use waffle_window_create2()
waffle: Add public func waffle_window_create2()
core: Add func wcore_attrib_list_pop()
core: Add func wcore_attrib_list_copy()
core: Add attrib_list param to func wcore_platform::window::create
core: Add func wcore_error_bad_attribute
waffle: Fix signature of wcore_platform::window::create()
waffle: Fix mismatch in waffle_window_create prototype
core: Add func wcore_attrib_list_from_int32
core: Add arithmetic functions that detect overflow
core: Define intptr_t variants of wcore_attrib_list functions
core: Define wcore_attrib_list funcs with type-generic template
core: Change return type of wcore_attrib_list32_length
core: Rename functions s/wcore_attrib_list/wcore_attrib_list32/
include: Deprecate waffle_attrib_list funcs
include: Define macro WAFFLE_DEPRECATED_1_06
|
|
Tested on GLX, X11/EGL, Wayland, and GBM.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Tested on GLX, X11/EGL, and Wayland.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Today, waffle_window() has only two parameters: width and height.
Frank Henigman wants to extend Waffle's GBM backend with the ability to
post window contents to the display. Multiple methods exist for posting
content to the screen with the drm API, and that method should be
configurable per waffle_window. Therefore, we need to be able to pass
additional attributes to waffle_window_create().
It would also be nice to specify at time of creation that the
waffle_window should be full screen. Again, we need to pass additional
attributes to waffle_window_create().
The new function waffle_window_create2() is conceptually equivalent to
the original waffle_window_create() with the addition of an attrib_list
parameter. The only supported attributes are currently
WAFFLE_WINDOW_WIDTH and WAFFLE_WINDOW_HEIGHT.
See the manpage changes for more details.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
This is useful for removing attributes as they are parsed.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
This is useful for making a writable copy of a read-only attribute list.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
This prepares for adding waffle_window_create2() to Waffle's public API,
which will have an attrib_list parameter.
No attributes are supported yet. Therefore this patch validates, at the
top of each ${PLATFORM}_window_create(), that the attrib_list is empty.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
This little helper function emits WAFFLE_ERROR_BAD_ATTRIBUTE with
a default error message.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Fix signature to match that of waffle_window_create(). The types of
parameters 'width' and 'height' didn't match the public header.
As a consequence, also fix the signature of
${PLATFORM}_window_create() for all platforms.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
The prototype differed between the public header and file
waffle_window.c.
This is solely a cosmetic change, because 'int' and 'int32_t' are the
same on all platforms supported by Waffle.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
This function converts an int32_t attribute list to an intptr_t
attribute list. It will be needed in the future when updating
waffle_config_choose() to accept an intptr_t attribute list.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Define the function below. All act on size_t inputs.
wcore_add_size
wcore_iadd_size : in-place addition
wcore_mul_size
wcore_imul_size : in-place multiplication
Future patches will use the functions to safely calculate the 'size'
value given to malloc.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
When designing the original Waffle 1.0 API, I made a mistake when
I chose to declare attribute lists as arrays of int32_t. Instead, they
should have been arrays of intptr_t.
A new public function, waffle_window_create2, will have a `const
intptr_t attrib_list[]` parameter. Therefore waffle needs intptr_t
variants of the wcore_attrib_list functions.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
The current wcore_attrib_list functions work on int32_t attribute lists.
A future commit will add variants that work on intptr_t attribute lists.
To prevent code duplication, this patch moves the definition of all
wcore_attrib_list32 functions into a type-generic macro,
WCORE_ATTRIB_LIST_COMMON_FUNCS, which will also be used to define the
upcoming intptr_t functions.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Change from int32_t to size_t, because
- Length is a measurement of unsigned "size".
- In general, length values are often used in subsequent calculation
of memory size which is passed to functions like malloc, whose
input is size_t not int.
- The cast from ptrdiff_t to int32_t in wcore_attrib_list_length
just looked wrong. A cast to size_t makes more sense.
As precedent, strlen() also returns size_t.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
When designing the original Waffle 1.0 API, I made a mistake when
I chose to declare attribute lists as arrays of int32_t. Instead, they
should have been arrays of intptr_t.
A new public function, waffle_window_create2, will have a `const
intptr_t attrib_list[]` parameter. Therefore waffle needs intptr_t
variants of the wcore_attrib_list functions.
This patch makes room for the new intptr_t wcore_attrib_list functions
by renaming the old ones.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
It was a mistake when I decided to make Waffle's attribute lists 32-bit.
Instead, the lists should have had type intptr_t[] to allow pointer
input-output. To correct that original mistake, I will soon introduce
some new public functions that have `intptr_t attrib_list[]` parameters.
I'm deprecating the waffle_attrib_list functionss because I don't want
to maintain two variants (int32_t and intptr_t) of each function. They
offer little utility to users, so I see little benefit in trying
maintain both variants.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
This macro annotates symbols as deprecated in Waffle 1.6. The compiler
emits deprecation warnings only if the user enables the feature macro
for the Waffle 1.6 API.
Emil provided the deprecation annotation for MSVC.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> (msvc/wgl)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
* maint-1.5:
debian: Release 1.5.1-1
debian: Update standards version to 3.9.6
|
|
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
|
|
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
|
|
* maint-1.5:
doc: Add release notes for Waffle 1.5.1
waffle: Bump version to 1.5.1
doc: Add release notes for Waffle 1.4.4
waffle: Bump version to 1.4.4
|
|
Signed-off-by: Chad Versace <chad.versace@intel.com>
|
|
Signed-off-by: Chad Versace <chad.versace@intel.com>
|
|
* maint-1.4:
doc: Add release notes for Waffle 1.4.4
waffle: Bump version to 1.4.4
|
|
Signed-off-by: Chad Versace <chad.versace@intel.com>
|
|
Signed-off-by: Chad Versace <chad.versace@intel.com>
|
|
* cooking/tpalli/nacl:
waffle: update man pages with nacl changes
waffle: initial empty implementation of nacl backend
waffle: add support for building Waffle using NaCl toolchain
examples: add waffle_has_x11_egl check for simple-x11-egl
|
|
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
Patch adds nacl platform skeleton. Only thing it does is that
it creates a container that holds the 3D context object which is
responsible for any communication required with browser.
v2: cleanups, remove unnecessary casts, use c99 initializer
(Emil Velikov)
v3: additional code cleanups (Chad Versace)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
Patch adds changes required to use NaCl compiler and libraries to
build Waffle. Build can be configured to use specific version of
the NaCl SDK, toolchain for the build needs to be selected with
cmake variable CMAKE_TOOLCHAIN_FILE.
Example command line to configure a build:
cmake -Dwaffle_has_nacl=ON \
-Dnacl_sdk_path=/home/tpalli/nacl/nacl_sdk \
-Dnacl_version=pepper_39 \
-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-nacl-x86_64-glibc.cmake \
-DCMAKE_BUILD_TYPE=Release \
.
v2: cmake fixes, create toolchain files for nacl (Emil Velikov)
v3: rename toolchain files, cmake fixes (Chad Versace, Emil Velikov)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
v2: remove redudant parenthesis (Chad)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
* maint-1.5:
debian: Add WaffleConfig*.cmake to libwaffle-dev package
|
|
* maint-1.4:
debian: Add WaffleConfig*.cmake to libwaffle-dev package
|
|
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
|
|
This is superseded by the WaffleConfig and WaffleConfigVersion cmake
files.
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
* maint-1.5:
cmake: Add cmake PackageConfig files
cmake: fix version search
wgl: Verify the client area size matches the required size on window creation too.
examples/gl_basic: Add option for window size.
test/gl_basic_test: Address gcc format mismatch warning.
wgl: Fix requirements for creation of ES2 context
|
|
* maint-1.4:
cmake: Add cmake PackageConfig files
cmake: fix version search
|
|
This creates and installs a package version file and a package config
file. These are used by find_package with the CONFIG option, and are
roughly equivalent to pkgconfig, but is cmake specific rather than linux
specific.
v2: - Use configure_package_config_file() instead of config_file(),
which generates helper macros and resolves relative paths allowing
the entire install to be moved.
- Update WaffleConfig.cmake.in to take advantage of
configure_package_config_file()
- Use SameMajorVersion instead of AnyNewerVersion for version
compatibility. Since waffle uses apache's numbering scheme 2.0.0
should not fulfill a requirement of 1.5.0 and vice versa.
v3: - Use CMAKE_BINARY_DIR (Jordan)
- Move generation of cmake config to the same area of the cmake file
as pkgconfig
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
Currently the cmake file uses both WAFFLE_INCLUDE_DIR and
WAFFLE_INCLUDE_DIRS, but only the DIRS version is actually defined.
cmake doesn't complain about the undefined variable, instead it treats
it as a blank string. This leads to the version never being checked.
This patch replaces DIR with DIRS, which corrects the problem.
Fixes #27: https://github.com/waffle-gl/waffle/issues/27
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
creation too.
By default, Windows will limit windows too large to theu desktop size,
and windows too small to be big enough for the titlebar. Waffle's
windows don't get affected as their style is WS_POPUPWINDOW, which
doesn't include the WS_CAPTION style.
This change adds more assertion, just in case this ever changes, as many
piglit tests rely on large/tiny windows to have the requested size.
Also replace `#ifdef DEBUG` with `#ifndef NDEBUG`, as NDEBUG is the
define that controls assert macro.
That said, I wonder if we should call
`waffle_errorf(WAFFLE_ERROR_INTERNAL, ...)` and verify this on release
builds too.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
Useful to test huge/tiny windows.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
To create an ES2 context, Waffle required
WGL_EXT_create_context_es2_profile. Fix Waffle to require either
WGL_EXT_create_context_es_profile *or*
WGL_EXT_create_context_es2_profile, because
WGL_EXT_create_context_es_profile is an updated variant of
WGL_EXT_create_context_es2_profile that supercedes it.
Fixes #23: https://github.com/waffle-gl/waffle/issues/23
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
|