Alex Szpakowski
a4d0761e84
metal: work on depth/stencil textures, MSAA
2021-04-02 22:10:01 -03:00
Alex Szpakowski
3accf51eb2
metal: explicitly compile to metalsl 2.1
2021-04-02 18:10:46 -03:00
Alex Szpakowski
9acf7df8e8
metal: fix crash when stream buffers are resized
2021-04-02 17:53:55 -03:00
Alex Szpakowski
4cac353908
metal: fix love_ScreenSize when a canvas is active
2021-04-02 16:10:20 -03:00
Alex Szpakowski
1e90b4e8f7
metal: fix shader uniform names
2021-04-02 15:45:17 -03:00
Alex Szpakowski
662b70458e
metal: fix setCanvas
2021-04-02 14:32:45 -03:00
Alex Szpakowski
ceaa8f95ff
metal: fix texel buffer size
2021-03-31 23:04:27 -03:00
Alex Szpakowski
5fa570b9a6
metal: initial texel buffer Shader:send implementation
2021-03-31 23:02:36 -03:00
Alex Szpakowski
1b9b32c7a7
metal: clean up some shader code
2021-03-31 20:38:37 -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
46ca836bd5
metal: enable clamp-to-one wrap mode on iOS 10.14+
2021-03-30 19:32:33 -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
2064c140ac
metal: clamp scissor rect to be within the active RT
2021-03-30 19:27:52 -03:00
Alex Szpakowski
aad0810e11
metal: initial (bad/slow) setShader tracking
2021-03-29 18:28:06 -03:00
Alex Szpakowski
3a1c85c13e
metal: hook up correct texture size and max RT limits
2021-03-27 23:10:49 -03:00
Alex Szpakowski
1e85e1b414
metal: fix Buffers, fix shader cleanup
2021-03-27 22:21:00 -03:00
Alex Szpakowski
326dfe2632
metal: workaround for garbage data being stored in pipeline keys
2021-03-27 17:46:43 -03:00
Alex Szpakowski
da6fd95a64
metal: more work on shader uniforms
2021-03-27 17:37:53 -03:00
Alex Szpakowski
5f888be64a
metal: initial pixel format support implementation
2021-03-27 17:37:09 -03:00
Alex Szpakowski
3744f8b939
metal: implement point sizes
2021-03-26 21:49:00 -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
e1d5f3b010
metal: fix Texture:setWrap/setFilter
2021-03-25 20:41:05 -03:00
Alex Szpakowski
4639e7330e
metal: initial implementation of Texture:newImageData.
2021-03-25 20:36:31 -03:00
Alex Szpakowski
c0a8aa3ef7
metal: use EXT_vulkan_glsl_relaxed
2021-03-23 21:57:36 -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
ef5a0250e9
Fix compilation on windows
2021-01-17 14:13:16 -04:00
Alex Szpakowski
e2838131f2
Add love.graphics.copyBuffer.
2021-01-17 14:02:00 -04:00
Alex Szpakowski
e1f40b433d
Clean up some graphics enum declaration code
2021-01-16 20:51:06 -04:00
Alex Szpakowski
52238bb7d9
Add optional source data start index arg to Buffer:setArrayData
...
The argument list is now Buffer:setArrayData(data or table, sourceindex=1, destindex=1, count=automatically computed)
#1598
2021-01-16 20:34:27 -04:00
Alex Szpakowski
4d6cfb1f90
metal: vertex attribute reflection is slightly better
2021-01-16 14:08:03 -04:00
Alex Szpakowski
5e77944dc0
refactor texture format support internals
2021-01-16 13:09:01 -04:00
Alex Szpakowski
558cc6a111
metal: post-merge compile fix
2021-01-14 20:40:37 -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
0ec7ea73de
Improve error message slightly
2020-12-30 11:46:00 -04:00
Alex Szpakowski
2fb88cb4a5
Remove some obsolete code
2020-12-27 19:52:27 -04:00
Alex Szpakowski
2a5a90ccef
Add 'vertexmain' and 'pixelmain' shader entry points.
...
These are low level 'raw' entry points which don't declare any inputs or outputs themselves. They require GLSL 3 to use.
2020-12-27 19:17:47 -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
48a13d443b
Fix validating glsl1 shaders using array textures on GLES3
2020-12-23 20:42:12 -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
1eca5d0b8f
metal: don't try to autogenerate depth mips, that isn't supported
2020-12-22 23:21:17 -04:00
Alex Szpakowski
47ea32781a
metal: handle triangle strip draws
2020-12-22 23:06:06 -04:00
Alex Szpakowski
20a92a4106
Merge branch '12.0-development' into metal
2020-12-22 22:37:17 -04:00