Miku AuahDark
81272ba5b5
Only use pinned memory on AMD GPUs.
...
As per in Discord, for some reason Intel driver in Linux(?) expose
pinned memory extension and causes driver crash in one test case.
2020-12-15 10:25:38 +08:00
Jordan Christiansen
0fd53e2e3d
Disable GL_EXT_texture_array on OpenGL ES 2.0
...
The Nvidia Tegra 3 driver for Android (used by Ouya) erroneously claims
to support the desktop-oriented GL_EXT_texture_array extension. On
desktop GPUs using (non ES) OpenGL, the glTexImage3D and similar
functions are always present, and the GL_EXT_texture_array extension
simply adds support for texture arrays to those functions. On OpenGL ES
2.0, those functions do not exist, and GL_OES_texture_3D is required to
define them.
Calling glTexImage3D on the Tegra 3 causes a segfault. This change works
around the issue by manually setting GLAD_EXT_texture_array to 0 on
OpenGL ES 2.0 systems, which causes LÖVE to avoid codepaths that assume
that the 3D texture functions are available. It doesn't make sense for
any OpenGL ES 2.0 GPU to claim support for GL_EXT_texture_array.
Fixes #1647
2020-12-09 19:54:36 -06:00
Alex Szpakowski
e32935e0f6
Backport Canvas memory stats fix from 12.0.
...
Fixes #1642
2020-11-11 15:11:00 -04:00
Alex Szpakowski
5031cb5f56
Images don't hold on to RAM copies of their contents anymore
2020-11-02 18:17:07 -04:00
Alex Szpakowski
e10444c21f
Move Texture:generateMipmaps error handling out of backend code
2020-10-25 23:13:50 -03:00
Alex Szpakowski
442f37e0a1
Fix a potential bug in captureScreenshot on some older systems
2020-10-25 23:00:12 -03:00
Alex Szpakowski
7934ce0a66
Handle backbuffer MSAA manually in love.graphics code
...
Previously love would use SDL APIs to make the system (WGL etc) handle it, which meant the OpenGL context had to be recreated whenever MSAA changed.
2020-10-25 22:24:07 -03:00
Alex Szpakowski
4b9c648c8b
metal: work towards shader uniform implementation.
...
Misc cleanup.
2020-10-24 00:33:02 -03:00
Alex Szpakowski
7a50f32585
Merge branch '12.0-development' into metal
2020-07-29 18:21:19 -03:00
Alex Szpakowski
b011487a3e
Add new texel buffer type.
...
GLSL 3+ shaders can read from texel buffers by declaring a uniform samplerBuffer variable and calling texelFetch with a 0-based index, in the shader code. All attributes in a texel buffer's format array must have the same data format (e.g. all 'floatvec4' formats).
Shader:send accepts a texel Buffer for samplerBuffer uniforms.
Added 'texelbuffer' to love.graphics.getSupported (requires GLSL 3+ and desktop OpenGL).
Added 'texelbuffersize' to love.graphics.getSystemLimits. Returns the max number of values in a texel buffer (array length multiplied by the number of attributes declared in the buffer's format array).
2020-07-28 20:44:36 -03:00
Alex Szpakowski
d75f5df80d
Add Buffer methods
...
flush, setArrayData, setElement, getElement, getElementCount, getElementStride, getSize, getFormat
2020-07-25 19:48:54 -03:00
Alex Szpakowski
1d087cc5c2
Fix Mesh/Buffer:flush uploading more data than it needs to, sometimes.
2020-07-21 21:56:47 -03:00
Alex Szpakowski
c2be89f130
Fix crashes when creating a Buffer.
2020-07-21 20:50:49 -03:00
Alex Szpakowski
3f4161dd5d
Merge branch '12.0-development' into GraphicsBuffer
2020-07-20 18:13:27 -03:00
Alex Szpakowski
f848b201ae
Merge branch 'master' into 12.0-development
2020-07-18 21:29:36 -03:00
Alex Szpakowski
dde3db3006
Apply Image:replacePixels/missing text workaround to more ATI drivers
...
issue #1563
2020-07-12 18:25:55 -03:00
Alex Szpakowski
d60d8867f4
Possible workaround for an Intel driver bug with readable depth buffers
...
https://github.com/love2d/love/issues/1592
2020-07-11 17:21:26 -03:00
Alex Szpakowski
9aa9319eb5
metal: implement depth/stencil state
2020-06-14 21:14:56 -03:00
Alex Szpakowski
9d2dca5740
metal: nogame and error screens work.
...
- implement love.graphics.setColor
- implement default textures
- hacky implementation of default uniform data
- use texture swizzles to set up LA8 (text) texture data
- shader reflection work
2020-06-13 20:29:23 -03:00
Alex Szpakowski
2c4bfab1de
Merge branch '12.0-development' into GraphicsBuffer
2020-05-23 20:29:38 -03:00
Alex Szpakowski
9765485222
metal: partial implementation of pipeline states.
...
Add BGRA8 pixel format.
2020-05-03 12:48:43 -03:00
Alex Szpakowski
d13e97fd83
Merge branch 'master' into 12.0-development
2020-03-15 19:25:48 -03:00
Alex Szpakowski
8fac08809a
Eliminate redundant glActiveTexture calls when shaders are used.
...
The redundant calls were introduced with the previous commit.
2020-03-15 19:24:49 -03:00
Alex Szpakowski
c5b6cc3228
Merge branch 'master' into 12.0-development
2020-03-15 19:17:04 -03:00
Alex Szpakowski
9c2454816f
Fix the active GL texture unit not always being set properly.
...
Fixes issues where texture methods wouldn't have any effect, depending on the current internal opengl state.
2020-03-15 01:29:33 -03:00
Alex Szpakowski
2cff535eb1
Move shader parsing code from Lua to C++.
2020-03-03 19:30:22 -04:00
Alex Szpakowski
a5b87a10d1
Merge branch '12.0-development' into metal
2020-02-28 23:21:08 -04:00
Alex Szpakowski
7fbb68e90e
Merge branch '12.0-development' into GraphicsBuffer
2020-02-28 23:10:21 -04:00
Alex Szpakowski
9425c9224b
Rename internal batched draw code to be more clear
2020-02-27 20:08:50 -04:00
Alex Szpakowski
1ddfcd4cc8
Always use explicitly typed buffers, even in internal code
2020-02-23 16:30:55 -04:00
Alex Szpakowski
2828761060
Move some code from Mesh wrapper to Buffer wrapper
2020-02-22 18:58:41 -04:00
Alex Szpakowski
b1c028a4d3
Merge branch '12.0' into GraphicsBuffer
2020-02-17 16:31:02 -04:00
Alex Szpakowski
e001e4336d
metal: initial work on setRenderTarget
2020-02-16 09:04:50 -04:00
Alex Szpakowski
742a954655
Merge branch '12.0' into metal
2020-02-15 14:18:35 -04:00
Alex Szpakowski
024d9443a0
Merge branch '12.0' into Texture
2020-02-15 13:53:15 -04:00
Alex Szpakowski
a0a933a1b9
Merge branch 'master' into 12.0
2020-02-15 13:51:12 -04:00
Alex Szpakowski
15f0e4109b
Fix a typo in a comment
2020-02-15 13:50:47 -04:00
Alex Szpakowski
185498ba6d
Fix depth sample mode validation checking the wrong state.
2020-02-15 13:49:04 -04:00
Alex Szpakowski
4ec9cafdea
Better error checking in the GL texture backend
2020-02-12 22:57:13 -04:00
Alex Szpakowski
d24b9e9e6f
Rename love.graphics.newCanvas to newRenderTarget
2020-02-11 19:32:00 -04:00
Alex Szpakowski
aa636381d0
Fix MSAA texture creation logic
2020-02-09 12:46:52 -04:00
Alex Szpakowski
694bc9c5b7
rename love_Canvases to love_RenderTargets in shaders.
...
More misc. renaming
2020-02-09 12:11:19 -04:00
Alex Szpakowski
453322678c
Rename internal uses of canvas to texture/render target
2020-02-08 20:40:10 -04:00
Alex Szpakowski
12c90b3dca
Merge Image and Canvas GL backend classes into new common Texture class.
2020-02-07 20:29:21 -04:00
Alex Szpakowski
17f77407bb
Replace internal C++ newImage and newCanvas methods with newTexture
2020-02-05 20:39:55 -04:00
Alex Szpakowski
813b1e0e69
Remove debug print
2020-02-05 18:03:34 -04:00
Alex Szpakowski
ca84b6db48
More robust error handling for AMD Pinned Memory buffers (issue #1540 )
...
Also print out any errors that are produced from that (for now).
2020-02-05 07:49:38 -04:00
Alex Szpakowski
0017f9c77d
Remove a redundant internal Texture method
2020-02-04 22:15:18 -04:00
Alex Szpakowski
258129738f
Remove graphics::Canvas and graphics::Image
2020-02-04 22:06:55 -04:00
Alex Szpakowski
b71eaf73cc
Replaced some references to Image and Canvas with Texture.
2020-02-04 20:52:57 -04:00