Alex Szpakowski
3857d09132
Don't use persistently mapped buffers on Intel Ivy Bridge GPUs on Windows. glClientWaitSync can hang with those drivers, apparently.
2018-01-06 00:42:16 -04:00
Bart van Strien
fd514d8176
Update some more copyright notices
...
I am so good at using search/replace I definitely didn't need a second commit
for this.
2018-01-03 19:55:02 +01:00
Bart van Strien
e80247c191
Happy new year! ✨
2018-01-03 19:47:35 +01:00
Alex Szpakowski
55822489cf
Fix resuming streaming sources. Resolves issue #1362 .
2017-12-30 16:41:54 -04:00
Alex Szpakowski
dd59803ad3
Error when invalid setting names are used in the tables passed to love.graphics.newCanvas and newImage. See issue #1312 .
2017-12-28 23:16:51 -04:00
Alex Szpakowski
1f52abf619
Fix love.audio.play(staticsources) when the sources have been paused. Resolves issue #1363 .
2017-12-27 12:27:12 -04:00
Alex Szpakowski
7ff428b64f
Fix love.graphics.newImage(compressedimagedata, settings) to respect the mipmaps boolean flag instead of always using the compressed texture's mipmaps if it has any.
2017-12-27 11:03:32 -04:00
Alex Szpakowski
e6e1a81fd6
Move Android code for rerouting print and disabling JIT compilation to inside require("love") instead of the main executable Lua state, so it works in threads.
2017-12-26 19:45:23 -04:00
Alex Szpakowski
065f4a8e9b
Fix SpriteBatch:setDrawRange.
2017-12-24 22:31:58 -04:00
Alex Szpakowski
f7b2598490
Remove unnecessary internal constructor arguments.
2017-12-24 22:08:57 -04:00
Alex Szpakowski
a31b500b03
Simplify quad drawing code, and use glDrawElementsBaseVertex when available.
2017-12-24 22:05:10 -04:00
Alex Szpakowski
785902d8bd
Fix windows build
2017-12-24 16:05:52 -04:00
Alex Szpakowski
3fb621af95
Always use a 16 bit index array for quad indices, with multiple draws when necessary. See issue #1356 .
2017-12-24 15:54:03 -04:00
Alex Szpakowski
0b7cb4a353
Add variants of File:read and love.filesystem.read which take an enum to determine whether they return a FileData or string.
2017-12-22 16:32:54 -04:00
Alex Szpakowski
9fa73f8b87
Several love.data functions now take an enum ("data" or "string") to determine whether they return a Data object or a string.
...
Changed functions are love.data.compress, decompress, encode, decode, and pack.
2017-12-22 16:13:20 -04:00
Alex Szpakowski
cdcf052a73
Update LZ4.
2017-12-17 21:52:19 -04:00
Alex Szpakowski
f69affebc9
Update tinyexr.
2017-12-17 21:42:04 -04:00
Alex Szpakowski
640e8f0d2e
love.filesystem.mount can accept a Data object containing zipped data.
...
- Add mount(Data, archivename, mountpoint [, appendtopath]). 'archivename' must be a string that has not been used with mount before.
- Add mount(FileData, mountpoint [, appendtopath]). The file path of the FileData is used as the archive name.
- Add unmount(Data).
- unmount(archivename) also works.
2017-12-16 23:09:15 -04:00
Alex Szpakowski
ce46fa3ebe
Remove PhysFS 2.x-specific code, it's no longer needed since we always have PhysFS 3.
2017-12-16 19:56:02 -04:00
Alex Szpakowski
70bf18182d
Fix Image:getMipmapCount returning greater than 1 when a compressed texture is loaded without mipmaps in its source data but with mipmaps=true set.
2017-12-15 22:18:19 -04:00
Alex Szpakowski
1d8a3326b3
Include the physfs 3.0.1 source in love.
2017-12-15 19:41:17 -04:00
Alex Szpakowski
3a8390ceff
Fix a couple bugs with love.graphics.clear.
2017-12-10 14:40:08 -04:00
Alex Szpakowski
7354de2059
Add (low level) functionality to allow rendering 3D Meshes.
...
- Add love.graphics.setDepthMode(testcomparison, enablewrites).
- Add love.graphics.setMeshCullMode.
- Add love.graphics.setFrontFaceWinding.
Depth testing and depth writes require a depth buffer to work. The mesh cull mode controls whether front/back faces of a mesh are culled. The front face winding determines whether a clockwise or counterclockwise-oriented face in a mesh is considered front facing.
--HG--
branch : minor
2017-12-09 23:34:08 -04:00
Alex Szpakowski
915e6c8eec
Fill-mode love.graphics.circle/ellipse draws a triangle fan from the center of the ellipse, instead of from an edge.
...
--HG--
branch : minor
2017-12-04 19:12:06 -04:00
Alex Szpakowski
e099e57052
Cleaned up some internal love.graphics code.
...
--HG--
branch : minor
2017-12-03 23:04:40 -04:00
Alex Szpakowski
cbcb1a8606
Allow a depth/stencil canvas to be active without a color canvas.
...
--HG--
branch : minor
2017-12-03 19:33:48 -04:00
Alex Szpakowski
fccc6fa733
Increase the love.graphics max stack depth from 64 to 128.
...
--HG--
branch : minor
2017-11-28 22:41:01 +00:00
Alex Szpakowski
b6cb6aed47
Error if the ImageData given to love.window.setIcon is not a 32 bit RGBA format.
...
--HG--
branch : minor
2017-11-26 18:31:43 -04:00
Alex Szpakowski
82553d793d
Clamp colors in love.graphics.newMesh. I missed this one in my previous commit.
...
--HG--
branch : minor
2017-11-25 10:23:29 -04:00
Alex Szpakowski
6dea2ab714
Clamp all color arguments to [0, 1] in cases where values outside that range don't make sense (fixed-point color values & sRGB colors). Closes issue #1315 .
...
--HG--
branch : minor
2017-11-21 19:49:52 -04:00
Alex Szpakowski
1cd1a8d32e
Mark SDL implementations of love.window methods with 'override'.
...
--HG--
branch : minor
2017-11-20 22:38:25 -04:00
Alex Szpakowski
0b9ca3e344
Fix love.window.isMaximized. Add love.window.restore and love.window.isMinimized (resolves issue #1354 ).
...
--HG--
branch : minor
2017-11-20 22:20:39 -04:00
Alex Szpakowski
b8c4b07edf
Clean up unused temporary Canvases after a few frames.
...
--HG--
branch : minor
2017-11-13 19:45:18 -04:00
Alex Szpakowski
8672ff2272
Use a more efficient method of streaming automatically batched vertices on AMD Windows and Linux systems.
...
--HG--
branch : minor
2017-11-11 20:48:02 -04:00
Bart van Strien
19ddc27069
Use a seekless implementation of File:lines/love.filesystem.lines
...
The previous algorithm would seek every time. This meant that although reading
from a filesystem would be quick (especially with disk caching), but reading
from a zip would be extremely slow.
The new version is rouhgly as fast on a filesystem, but appears not to slow
down on zips at all. Not in my tests, at least.
--HG--
branch : minor
2017-11-11 21:42:52 +01:00
Alex Szpakowski
7f88037d94
Move the implementation for Graphics::flushStreamDraws out of the opengl backend
...
--HG--
branch : minor
2017-10-26 21:05:15 -03:00
Alex Szpakowski
e3fd489373
Abstracted lower level drawing code, moved all type-specific drawing code out of opengl backend, deleted obsolete files
...
--HG--
branch : minor
2017-10-26 20:58:19 -03:00
Alex Szpakowski
7ffb04f019
Fix windows build
...
--HG--
branch : minor
2017-10-25 23:23:41 -03:00
Alex Szpakowski
15cc540e4c
Make internal vertex attribute code less OpenGL-specific.
...
--HG--
branch : minor
2017-10-25 23:12:39 -03:00
Alex Szpakowski
b0c5bf2156
Fix build?
...
--HG--
branch : minor
2017-10-22 12:37:30 -03:00
Alex Szpakowski
7a2e52b12d
Cleaned up some vertex data-related code.
...
--HG--
branch : minor
2017-10-22 12:33:47 -03:00
Alex Szpakowski
90cb3870e7
Fix error output when a shader stage fails to compile.
...
--HG--
branch : minor
2017-10-21 15:18:25 -03:00
Alex Szpakowski
e5b0d96b27
Restructured some Shader code. Added runtime temporary caching and sharing of shader stages. Resolves issue #1235 .
...
--HG--
branch : minor
2017-10-21 03:08:18 -03:00
Bart van Strien
f4e515edac
Suppress unused variable warning on linux
...
--HG--
branch : minor
2017-10-16 14:46:06 +02:00
Bart van Strien
75e0caa0ff
Faster video seeking
...
By using our current position (if known), we shrink the search area.
--HG--
branch : minor
2017-10-12 15:24:07 +02:00
Bart van Strien
de945a528b
Catch up on video faster
...
Previously every (internal) update the decoder would advance 0 or 1 frame. Now
it will advance until it catches up. Like before, if it takes too many steps
(5) before catching up, it seeks instead. This should mostly mean seeking
forwards has less latency.
--HG--
branch : minor
2017-10-12 15:20:38 +02:00
Bart van Strien
52ae68b288
Fixes for video files that do not have the video as first stream, and better EOS detection
...
--HG--
branch : minor
2017-10-12 15:11:15 +02:00
Bart van Strien
0e9f71b29a
Split theora::VideoStream into OggDemuxer and TheoraVideoStream
...
This makes the internal API more modular, but the split also forces a cleaner
implementation. It also means the OggDemuxer is now responsible for the
ogg-specific stuff like seeking and (ogg-specific) type detection.
Backported from the love.video-vpx branch of love-experiments
--HG--
branch : minor
2017-10-12 14:23:58 +02:00
Alex Szpakowski
95adf7e347
Error instead of crashing when a frequency of 0 is set on a MouseJoint. Resolves issue #1197 .
...
--HG--
branch : minor
2017-10-08 16:24:48 -03:00
Bart van Strien
ba1d4dc0e9
Make VERTEX/PIXEL shader defines result in themselves
...
This means you can use VERTEX or PIXEL in your shader code without them
disappearing (and getting a vague error). It's still not necessarily a good
idea to use them as names, but at least it doesn't mysteriously break now.
--HG--
branch : minor
2017-10-04 14:05:09 +02:00