Alex Szpakowski
d7bfc2ebcb
Fix compile error
2021-12-27 21:31:04 -04:00
Alex Szpakowski
5b3a5e7721
Remove the need for copysource and copydest buffer usage flags.
2021-12-27 21:17:04 -04:00
Alex Szpakowski
4195911680
Relax Texture:replacePixels sub-rect restriction for compressed textures.
2021-12-27 12:10:37 -04:00
Alex Szpakowski
75b2ddc3c9
Fix love.graphics.clear's alpha component.
2021-12-24 16:14:06 -04:00
Alex Szpakowski
5c98cbdabd
Fix Shader:send with storage buffers when the shader uses more than 1.
2021-11-06 17:03:54 -03:00
Alex Szpakowski
fb77e64f61
Allow plain arrays of a base type as shader buffer block declarations.
2021-11-06 16:42:41 -03:00
Alex Szpakowski
b916c0ad92
Fix error message when sending buffers to unused variables
2021-11-06 10:41:30 -03:00
Alex Szpakowski
f4a694c266
Merge branch 'master' into 12.0-development
2021-09-05 13:03:46 -03:00
Alex Szpakowski
16ebaea390
Fix DXT1 textures which use 1 bit alpha-cutout.
...
Note that premultiplied alpha blending must be used with DXT1 alpha cutout textures if linear filtering is used, otherwise transparent black pixels will be blended with opaque non-black pixels resulting in dark fringes.
2021-09-05 12:55:32 -03:00
Alex Szpakowski
7038c66ab2
Hook up missing reflection data for writable textures in compute
2021-08-23 16:53:55 -03:00
Alex Szpakowski
601d4e120d
don't need memory barriers for readonly storage textures.
2021-08-13 18:13:45 -03:00
Alex Szpakowski
a551fcd492
Initial support for writing to textures in compute shaders.
2021-08-13 14:43:03 -03:00
Alex Szpakowski
cffd485976
Allow rendering to integer textures.
2021-08-12 17:43:33 -03:00
Alex Szpakowski
48b3a4e860
Initial support for integer format textures.
...
They can't be rendered to and ImageData can't use the formats, for now.
2021-08-12 16:38:54 -03:00
Alex Szpakowski
4caeb27047
Slightly less heavy-handed compute memory barrier implementation.
...
Also validate whether there are any unbound writable resources when dispatching compute shader work.
2021-08-11 18:41:38 -03:00
Alex Szpakowski
80f051b97d
Merge pull request #1715 from bjornbytes/compute-shaders
...
Compute Shaders
2021-07-18 13:09:48 -03:00
bjorn
dc5f68e709
World's worst sync;
2021-07-17 20:02:04 -07:00
bjorn
25fbf1d8ce
love.graphics.dispatchThreadgroups;
2021-07-17 19:49:53 -07:00
bjorn
085ba2cb6e
Add compute ShaderStage;
2021-07-17 19:46:05 -07:00
bjorn
f6559ce49e
Add threadgroups{x,y,z} SystemLimits;
2021-07-17 19:38:45 -07:00
Alex Szpakowski
d6dfa7412c
Merge pull request #1713 from bjornbytes/fix-default-shader-storage-buffer
...
Fix default shader storage buffer initialization;
2021-07-01 21:52:41 -03:00
bjorn
bbb4cd66be
Fix default shader storage buffer initialization;
2021-07-01 17:22:03 -07:00
Alex Szpakowski
433190d1df
Merge branch 'master' into 12.0-development
2021-06-06 11:43:54 -03:00
Alex Szpakowski
e9c58c8192
Work around certain buggy Vivante GPU drivers on Android
...
love2d/love-android#204
2021-04-17 15:09:21 -03:00
Alex Szpakowski
14cda7818f
Rename internal enum
2021-04-07 20:43:22 -03:00
Alex Szpakowski
9b4aea8f17
Missed some copyright date updates
2021-04-07 20:34:24 -03:00
Alex Szpakowski
21f5ba86d3
Merge branch 'master' into 12.0-development
2021-04-07 20:33:44 -03:00
Alex Szpakowski
f89aabb0bb
Update copyright year for 2021
2021-04-04 16:14:45 -03:00
Alex Szpakowski
694d448e83
Vertex shaders can write to gl_PointSize ( fixes #1603 ).
...
If a shader uses gl_PointSize then it can only be used when drawing points. If a shader doesn't use gl_PointSize then it can't be used when drawing points.
Added 'ConstantPointSize' and 'CurrentDPIScale' built-in shader uniforms.
ConstantPointSize is in DPI-scaled points, whereas gl_PointSize is in pixels, so to get the correct default behaviour a shader needs to do gl_PointSize = ConstantPointSize * CurrentDPIScale
2021-01-23 13:47:12 -04:00
Alex Szpakowski
deff795908
Rename some internal buffer enums to better match what they do
2021-01-17 20:59:16 -04:00
Alex Szpakowski
2e2ebe95cd
Clean up some obsolete internal graphics code
2021-01-17 16:50:44 -04:00
Alex Szpakowski
4244e01a35
More texture format support cleanup
2021-01-17 14:48:35 -04:00
Alex Szpakowski
e2838131f2
Add love.graphics.copyBuffer.
2021-01-17 14:02:00 -04:00
Alex Szpakowski
5e77944dc0
refactor texture format support internals
2021-01-16 13:09:01 -04:00
Alex Szpakowski
50ff86bd92
Graphics Buffers can be used as Shader Storage Buffers.
2021-01-10 17:53:12 -04:00
Alex Szpakowski
2fb88cb4a5
Remove some obsolete code
2020-12-27 19:52:27 -04:00
Alex Szpakowski
65bfeedd4e
Merge branch 'master' into 12.0-development
2020-12-26 22:48:08 -04:00
Alex Szpakowski
95ab4054ff
Fix a freeze on Intel drivers when using mipmapped Canvases
...
Fixes #1585
Also disallow generateMipmaps on depth/stencil canvases because it's not really supported.
2020-12-26 16:37:37 -04:00
Alex Szpakowski
4f730e930b
Potential workaround for driver bug related to canvas mipmaps
2020-12-25 16:13:29 -04:00
Alex Szpakowski
fe23c16198
Disable gamma correction on Windows + Intel HD 2/3000 / Intel HD Graphics
...
It's completely broken there. Closes #1592
2020-12-24 20:31:33 -04:00
Alex Szpakowski
d357ceb191
Merge pull request #1648 from xordspar0/tegra-3-bug
...
Work around Ouya driver bug related to texture array support
2020-12-23 20:13:41 -04:00
Alex Szpakowski
b7400892a4
Merge branch 'master' into 12.0-development
2020-12-22 19:35:06 -04:00
Alex Szpakowski
1f9d98263d
Refactor Buffer internals.
...
Allows buffers created with love.graphics.newBuffer to only allocate VRAM data. Previously they had a copy of their contents in RAM.
Also makes it easier to implement Buffers in other graphics APIs and to implement more types of Buffers in the future.
2020-12-22 19:23:02 -04:00
Alex Szpakowski
a1861a8ff4
Don't allow calling Texture:generateMipmaps on depth/stencil textures
2020-12-21 13:36:29 -04:00
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