Alex Szpakowski
caf89998cc
iOS: fix shader compilation with metal
2022-02-15 21:12:13 -04:00
Alex Szpakowski
c28731ea80
opengl: fix love's internal quad index buffer failing to populate
2022-02-12 09:37:30 -04:00
Alex Szpakowski
7216a022f9
metal: remove unused internal code
2022-02-04 22:09:50 -04:00
Alex Szpakowski
6e49b1f901
metal: fix texture sampler changes not affecting draws using shaders.
2022-01-31 21:25:49 -04:00
Alex Szpakowski
f4a85f42df
metal: Apple Silicon macs also support rgba4 / rgb5a1 / rgb565.
2022-01-24 21:19:40 -04:00
Alex Szpakowski
b3d37e5fc2
metal: Apple Silicon macs support PVRTC/ETC/ASTC textures.
2022-01-24 21:09:33 -04:00
Alex Szpakowski
e4020e439a
metal: lowdpi on macOS uses nearest instead of linear upscaling.
...
Matches the behaviour of the OpenGL backend on macOS.
2022-01-23 12:55:06 -04:00
Alex Szpakowski
a5351e5046
metal: improve detection of rgba32f format filter and MSAA support.
2022-01-23 11:28:09 -04:00
Alex Szpakowski
6dbb7fa5de
Add love.graphics.setStencilMode. Remove old stencil API.
...
- Add setStencilMode(drawaction, comparemode, value = 0, readmask = 0xFF, writemask = 0xFF).
- Add getStencilMode.
- Remove love.graphics.stencil.
- Remove love.graphics.set/getStencilTest.
Note that the new setStencilMode API does not clear the stencil buffer, and does not turn off color writes (it can still be done manually), unlike love.graphics.stencil.
Fixes #1161 .
Fixes #1251 .
2022-01-22 23:36:07 -04:00
Alex Szpakowski
c26f6ed94f
metal: improve performance of auto depth/stencil in setCanvas.
2022-01-22 23:12:42 -04:00
Alex Szpakowski
4c3c875aa9
metal: clean up some code around render pipeline states.
2022-01-22 21:29:57 -04:00
Alex Szpakowski
87592513a2
metal: fix automatic depth/stencil with setCanvas.
2022-01-22 20:57:06 -04:00
Alex Szpakowski
8c496d60e5
metal: add a couple comments clarifying depth format fallbacks.
2022-01-22 14:51:37 -04:00
Alex Szpakowski
1cf0073cf4
metal: use a fallback for fonts when luminance-alpha isn't supported.
2022-01-22 14:41:42 -04:00
Alex Szpakowski
62de8f62c7
metal: hook up emulated 'fan' mesh draw mode.
2022-01-22 12:59:09 -04:00
Alex Szpakowski
3ecae61189
metal: improve texture initialization.
2022-01-16 14:18:34 -04:00
Alex Szpakowski
44d87ff7ce
metal: fix textures not being tagged with compute-write flags.
2022-01-16 13:47:18 -04:00
Alex Szpakowski
4e1c4a6afe
metal: some fixes for MSAA
2022-01-16 13:44:29 -04:00
Alex Szpakowski
4ca3535cd2
Metal: fix clamp-to-one texture wrap mode detection.
2022-01-15 23:31:07 -04:00
Alex Szpakowski
5c3f391136
update metal backend for projection changes.
2022-01-12 18:31:32 -04:00
Alex Szpakowski
c373fb2e82
Fix compilation on macOS/iOS
2022-01-05 21:28:47 -04:00
Alex Szpakowski
cf57c3eedf
update copyright year for metal files
2022-01-05 21:13:53 -04:00
Alex Szpakowski
674143175f
metal: fix Shader:send with matrices and arrays.
2022-01-05 20:33:08 -04:00
Alex Szpakowski
5864d83c31
Add ability to configure which renderers are used by love.graphics.
...
- Add t.renderers and t.excluderenderers love.conf fields. They can be an array of renderer names.
- Add --renderers a,list,of,renderernames and --excluderenderers more,renderers argument options.
2022-01-04 21:29:56 -04:00
Alex Szpakowski
9709f95194
metal: fix structs in uniforms.
2022-01-01 17:41:23 -04:00
Alex Szpakowski
e2c397355c
metal: implement copyBufferToTexture and copyTextureToBuffer.
2022-01-01 15:48:43 -04:00
Alex Szpakowski
40aa50662a
Merge branch '12.0-development' into metal
2022-01-01 15:36:57 -04:00
Alex Szpakowski
e602f08c24
metal: support constant initializer values for local uniforms.
2022-01-01 15:28:42 -04:00
Alex Szpakowski
045f5ff0a5
Fix initializing the graphics module after a window is opened.
2021-12-26 12:34:47 -04:00
Alex Szpakowski
19feec43f9
metal: don't do auto sRGB -> P3 color conversions on the backbuffer
2021-12-25 22:31:18 -04:00
Alex Szpakowski
37ff7ef665
metal: support for depth16 on iOS
2021-12-25 14:21:59 -04:00
Alex Szpakowski
30fe00d767
metal: implement storage buffer bindings
2021-12-25 14:21:45 -04:00
Alex Szpakowski
c6e4cfdc64
metal: initial love.graphics.dispatchThreadgroups implementation
2021-12-24 23:04:44 -04:00
Alex Szpakowski
a03041043f
metal: partial implementation of love.graphics.discard
2021-12-24 22:41:31 -04:00
Alex Szpakowski
759937a458
metal: fix depth24stencil8 fallback on macOS
2021-12-24 22:20:25 -04:00
Alex Szpakowski
2868ede191
metal: restrict to macOS 10.15+ and iOS 13+.
2021-12-24 19:22:10 -04:00
Alex Szpakowski
620dc42292
metal: fix quad drawing on older iOS devices
2021-12-24 19:13:48 -04:00
Alex Szpakowski
a431e70179
metal: add internal compute encoder APIs
2021-12-24 18:56:21 -04:00
Alex Szpakowski
bcd64fe537
metal: implement mesh cull modes
2021-12-24 18:46:06 -04:00
Alex Szpakowski
dab174b120
metal: fix a couple compiler warnings
2021-12-24 18:04:11 -04:00
Alex Szpakowski
7eb8366b2d
metal: integer texture format support.
2021-12-24 17:50:17 -04:00
Alex Szpakowski
304b569a39
metal: tag texture formats with compute write support
2021-12-24 17:45:05 -04:00
Alex Szpakowski
7a910484c3
Fix compilation
2021-12-24 16:45:23 -04:00
Alex Szpakowski
7851124260
metal: work on storage buffers
2021-09-05 13:18:10 -03:00
Alex Szpakowski
b1692a4000
metal: implement internal Shader::setVideoTextures method
2021-04-07 20:12:15 -03:00
Alex Szpakowski
0bc574ef4e
metal: fix Shader:send not flushing the active auto-batch.
2021-04-04 23:49:23 -03:00
Alex Szpakowski
6296e44425
metal: fix clampzero wrap mode.
2021-04-04 23:48:23 -03:00
Alex Szpakowski
2ec9f88f7a
metal: more robust render pass handling.
...
Initial implementation of captureScreenshot.
Fix getStats().shaderswitches.
Fix getStats().drawcalls.
2021-04-04 23:47:58 -03:00
Alex Szpakowski
8c88d645a3
metal: avoid redundant resource binding calls.
2021-04-03 13:49:29 -03:00
Alex Szpakowski
4ddb7e2cf7
metal: initialize empty Buffer contents.
2021-04-03 13:46:56 -03:00