Alex Szpakowski
bc12312f0f
macOS: rename most internal uses of "macosx" to "macos".
...
--HG--
branch : minor
2019-12-22 17:54:20 -04:00
Alex Szpakowski
e898d4571a
Merge default into minor
...
--HG--
branch : minor
2019-12-20 00:46:32 -04:00
Paul Cercueil
0bac89e00f
Fix build on MIPS
...
On MIPS toolchains, the 'mips' keyword is a macro defined to 1.
Signed-off-by: Paul Cercueil <paul@crapouillou.net >
2019-12-19 11:36:33 +01:00
Alex Szpakowski
3a227cea37
Merge default into minor
...
--HG--
branch : minor
2019-11-19 21:47:48 -04:00
Alex Szpakowski
6a552d5a6f
Allow Canvases to use the r16, rg16, and rgba16 pixel formats.
2019-11-18 22:45:54 -04:00
Alex Szpakowski
8512b1a8f6
Remove some dead code.
...
--HG--
branch : minor
2019-11-18 21:16:51 -04:00
Alex Szpakowski
3435a6bcbf
Change the internal constant color from a (per-draw) vertex attribute to a uniform. Pack most built-in uniforms into a single vec4 array and update them all with a single glUniform call.
...
--HG--
branch : minor
2019-11-18 21:13:54 -04:00
Alex Szpakowski
37c579929b
Add support for GLSL 4.30 and GLSL ES 3.10, via #pragma language glsl4.
...
macOS and iOS won't support glsl4 until a Metal backend is implemented.
--HG--
branch : minor
2019-11-16 14:33:48 -04:00
Alex Szpakowski
c3be5c4682
Fix a crash when Canvas:newImageData is called and the width multiplied by the canvas format's pixel byte size is not a multiple of 4, for example a 3x3 r16f canvas (thanks Max!)
2019-11-12 21:27:46 -04:00
Alex Szpakowski
1e0a7cad67
Fix instanced vertex attributes.
2019-10-04 19:28:55 -03:00
Alex Szpakowski
157282ec7e
Fix a typo causing mesh attribute instancing to behave weirdly.
2019-09-28 00:31:44 -03:00
Alex Szpakowski
58e26280c2
Fix detection for support of r16 and rg16 image formats on desktops.
2019-09-18 19:36:08 -03:00
Alex Szpakowski
9ab2a94037
Rename internal C++ Color struct to Color32 to help differentiate it from Colorf.
2019-09-14 23:13:40 -03:00
Alex Szpakowski
55d4dc0f9e
Restructure some internal vertex buffer binding code to be closer to how graphics APIs actually behave.
2019-08-25 16:50:15 -03:00
Alex Szpakowski
93fef5f144
Remove some dead code.
2019-07-17 18:57:14 -03:00
Alex Szpakowski
8e5b71e8e7
Improve automatic batching performance slightly on AMD gpus by removing some redundant/useless opengl calls (there is no mapped buffer to flush).
2019-06-01 15:58:42 -03:00
Alex Szpakowski
ddef70e141
Potentially improve automatic batching performance slightly on nvidia/intel GPUs.
2019-06-01 15:06:19 -03:00
Alex Szpakowski
51d0733943
Apply workaround for font texture loading on Radeon 3000/4000-era graphics cards to mobile GPUs as well as desktop ones.
2019-05-30 20:36:19 -03:00
Alex Szpakowski
09cd3b68c9
Explicitly disable color FBO attachments where possible for depth/stencil canvases. Potentially fixes issue #1470
2019-04-02 21:13:01 -03:00
Alex Szpakowski
0c2153e0ca
Fix a potentially uninitialized value in love.graphics code. Minor cleanup.
2019-04-02 20:20:18 -03:00
Alex Szpakowski
74dcc41b38
Cleaned up love.graphics Image code for determining whether the image's pixel format is supported.
2019-01-16 19:30:21 -04:00
Alex Szpakowski
0752f27bdf
Update copyright year for 2019
2019-01-03 21:09:05 -04:00
Alex Szpakowski
364718fa46
Android: potentially work around a Qualcomm Adreno driver bug which prevented videos from being loaded into vram.
2018-12-31 21:02:02 -04:00
Alex Szpakowski
3af66da51e
Automatic batching: improve the consistency of performance and draw calls for the vertex buffer upload approach taken on older Windows and Linux GPUs which are only capable of GL3.
2018-12-27 23:52:54 -04:00
Alex Szpakowski
1c853cbcc3
Fall back to glTexImage instead of glTexStorage on Radeon 3xxx drivers on Windows. Potentially works around a graphics driver bug which prevented text from showing up.
2018-12-25 18:33:26 -04:00
Alex Szpakowski
43ee232897
macOS: Use a (non-persistent) map/sync approach for stream buffers, instead of glBufferSubData. This usually won't affect performance either way, but avoids some worst-case performance cliffs on my Intel GPU in my testing.
2018-12-16 15:15:32 -04:00
Alex Szpakowski
bcc5e77632
Simplify OpenGL 3+ stream buffer syncing code used with automatic batching.
2018-12-12 17:51:03 -04:00
Alex Szpakowski
5143926b38
Copy the data size of old uniforms to the new uniform when reinitializing shader uniforms after love.window.setMode.
...
Fixes a crash in the Data variant of Shader:send when it's called after setMode on a shader that was created before the setMode call.
2018-11-12 15:20:09 -04:00
Alex Szpakowski
535be96f03
Optimize StreamBuffer::getUsableSize to not be a virtual method.
2018-09-29 14:50:49 -03:00
Alex Szpakowski
79679f6272
Fix an uninitialized variable causing (harmless) OpenGL errors. Resolves issue #1434 .
2018-08-14 18:10:15 -03:00
Alex Szpakowski
bb228cab0c
Fix love.event.quit causing crashes and other bad behaviour if a Canvas is active. Resolves issue #1395 .
2018-04-07 12:43:00 -03:00
Alex Szpakowski
7b91ab915c
Potentially fix depth/stencil support on older phones.
2018-04-07 11:35:20 -03:00
Bart van Strien
571503c02e
Don't use deprecated isFile in love.joystick.loadGamepadMappings ( fixes #1391 )
2018-04-04 17:49:51 +02:00
Alex Szpakowski
93372b87a8
Fix love.graphics.clear(colortable) when no Canvas is active.
2018-04-03 20:12:41 -03:00
Alex Szpakowski
cfa30167ca
Fix hash map collisions when setting canvases.
2018-04-02 15:58:38 -03:00
Alex Szpakowski
39201af79f
Improve the error message when an invalid layer or face index is given in love.graphics.setMode.
2018-01-14 19:15:24 -04:00
Alex Szpakowski
2459752c06
Add support for partial Image updates via Image:replacePixels(imagedata [, sliceindex, mipmap, x, y]) with a smaller-sized ImageData.
...
Also updated the argument order of Canvas:newImageData to match: (sliceindex, mipmap, x, y, w, h).
2018-01-10 22:52:28 -04:00
Alex Szpakowski
22f72c7da6
Fix a crash in Image:replacePixels when a different ImageData is given than the one that created the Image.
2018-01-10 21:31:00 -04:00
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
e80247c191
Happy new year! ✨
2018-01-03 19:47:35 +01: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
065f4a8e9b
Fix SpriteBatch:setDrawRange.
2017-12-24 22:31:58 -04:00
Alex Szpakowski
a31b500b03
Simplify quad drawing code, and use glDrawElementsBaseVertex when available.
2017-12-24 22:05:10 -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
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
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
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