Adds ability to register "obsolete" names for certain types under older .bam versions, so that we are still able to write out old .bam files.
Fixes#347
This is used similar to matches() but for file paths: it does not match slashes for * characters and has special support for /**/ and ignores // and /./ patterns.
- Don't assume GLSL 4.30 is available just because the driver
supports compute shaders. Drivers before OpenGL 4.3 may still
offer the extension.
- Use GLSL 1.30 by default, and turn on additional features
using extensions. Skip any tests requiring extensions that
aren't supported by the driver.
- Unsigned literal ints should have a 'u' suffix.
- Clean up a few dead Python expressions
- T_off now actually properly disables vertex colours
- T_vertex is now the default, to preserve the previous behaviour
- ShaderGenerator behavior is now the same as in the FFP
- tests are updated to verify new behavior
- tests now properly use vertex colours, previously they accidentally only used flat colors
- With color-scale-via-lighting off and no color scale, color is no longer munged
- p3d_Color in GLSL shaders is now properly set to white instead of black with T_off mode
- In DX9 shaders will now sample white color for absent or disabled vertex color
Fixes#401
Also see #371
These were removed by 88dbb31daa under the assumption that they were not used, but it has recently come to my attention that there is still code out there that uses these.
PriorityCallbacks has been updated to be compatible with Python 3 by only comparing the priority, rather than the (priority, callback) tuple. This also has the side-effect of ditching the bisect dependency.
Also moves testing code from the source to the unit tests.
This script will run python setup.py bdist_apps on each sample in a list
(currently only contains asteroids). The script will fail if any of the
builds fail. We can use this for some automated sanitity checking of
deploy-ng builds.
This changes behaviour for sRGB textures, which weren't previously converting to the correct color space.
Also add unit tests for storing to PNMImage.
Closes: #212
This introduces AsyncFuture as a new base class of AsyncTask. It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).
AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it. As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().
Note that AsyncFuture is intended to be used *once*; it cannot be used more than once. As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.
Fixes: #203
This will be a good way to make sure everything in the tests work under
a frozen environment.
NOTE: The application builds and runs, but no tests are collected. We
still need to figure out how we want to handle tests. Freeze them all
and modify test collection? Add py/test files to the build directory and
try to run them?
This test just makes sure that created windows match the default
WindowProperties (with a few exceptions).
This also adds the following fixtures:
* graphics_engine - scope='session', GraphicsEngine
* graphics_pipe - scope='session', default GraphicsPipe
* window - scope='test', GraphicsWindow with default framebuffer and window properties
These tests were converted from the tests branch with some changes:
* Convert from unittest to PyTest
* Update code to use new API (LVector3 instead of Vec3, properties, etc.)