Alex Szpakowski
75b2ddc3c9
Fix love.graphics.clear's alpha component.
2021-12-24 16:14:06 -04:00
Alex Szpakowski
3d8117ccbb
Merge branch '12.0-development' into metal
2021-12-24 15:35:18 -04:00
Alex Szpakowski
e63025b74f
Merge branch '12.0-development' into metal
2021-12-24 15:34:05 -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
5fa570b9a6
metal: initial texel buffer Shader:send implementation
2021-03-31 23:02:36 -03:00
Alex Szpakowski
52d4a5c679
metal: initial shader texture binding implementation.
...
rework metal shader compilation/parsing.
2021-03-31 18:35:57 -03:00
Alex Szpakowski
7eb3d4343a
Move some shader binding validation code out of the opengl backend
2021-03-30 19:28:42 -03:00
Alex Szpakowski
9cc6be4ac7
Remove bufferusage_uniform for now
...
It's not really implemented
2021-03-26 21:43:24 -03:00
Alex Szpakowski
2d2918a254
Merge branch '12.0-development' into metal
2021-03-26 21:42:08 -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
98f8fe02a1
Merge branch '12.0-development' into metal
2021-01-14 20:33:45 -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
20a92a4106
Merge branch '12.0-development' into metal
2020-12-22 22:37:17 -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