Commit Graph

1790 Commits

Author SHA1 Message Date
niki aed6595ee6 first draft of vulkan buffer implementation 2022-01-06 14:55:07 +01: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 d51e012812 Merge branch '12.0-development' into metal 2022-01-05 21:12:22 -04:00
Alex Szpakowski 7f3538d2ba Merge branch 'main' into 12.0-development 2022-01-05 21:10:27 -04:00
Alex Szpakowski 5426be4252 Prefer OpenGL to Metal (for now) 2022-01-05 20:58:38 -04:00
Alex Szpakowski 44a434604a t.renderers/excluderenderers doesn't affect renderer order. 2022-01-05 20:52:17 -04:00
niki 81e3bed778 handle resizing correctly 2022-01-06 01:42:50 +01:00
Alex Szpakowski 674143175f metal: fix Shader:send with matrices and arrays. 2022-01-05 20:33:08 -04:00
niki b32c5f3c4e hello world triangle 2022-01-06 01:12:16 +01: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 ecbc5ca7f6 Add love.graphics.getQuadIndexBuffer.
love's pre-generated quad index buffer is useful when combined with drawShaderVertices. Note that it uses 16 bit indices so it can only draw up to 16k quads in a single call.
2022-01-03 16:22:08 -04:00
Alex Szpakowski 42e8df1489 Add a GraphicsFeature support enum for 32 bit index buffers.
Some old OpenGL ES 2 systems don't support them.
2022-01-03 16:09:38 -04:00
Alex Szpakowski ac8f5374c2 Fix a minor validation bug. 2022-01-03 14:36:22 -04:00
Alex Szpakowski 0c4be3d5e3 Add love.graphics.drawShaderVertices (name subject to change).
It draws a number of vertices, or a number of indices from an index buffer, without using any vertex data from a vertex buffer. A custom shader is required while using it.

It is useful when a custom GLSL3 vertex shader which uses love_VertexID is used to pull or compute per-vertex information from other sources.
2022-01-03 14:33:54 -04:00
Alex Szpakowski de89f5a9eb love.graphics.apply/replaceTransform can accept x,y,angle,etc. args. 2022-01-03 11:57:05 -04:00
Alex Szpakowski 91cb845f31 #pragma language glsl4 in shaders maps to GLES 3.2 instead of 3.1. 2022-01-02 14:02:55 -04:00
Alex Szpakowski f88eecf482 Allow texel buffers in OpenGL ES, when supported by the system. 2022-01-01 18:06:50 -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 8e7fd10b6f Update copyright year for 2022 2021-12-31 18:33:40 -04:00
Alex Szpakowski 813c9d1781 Fix GL version check for arbitrary texture-to-buffer copy support.
love never creates a GL4.5 context, so we also need to check for the extension that provides the same functionality.
2021-12-30 19:25:10 -04:00
Alex Szpakowski cf0a45f601 Fix non-stream buffers uploading redundant data when a sub-range is modified.
https://love2d.org/forums/viewtopic.php?f=4&t=92458
2021-12-28 15:10:09 -04:00
Alex Szpakowski bfcf025ef7 Add 'staging' buffer data usage enum. 2021-12-28 12:49:33 -04:00
Alex Szpakowski 52101b2563 Add love.graphics.copyTextureToBuffer and copyBufferToTexture. 2021-12-28 12:46:56 -04:00
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 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 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 c8038f22df Merge branch 'main' into 12.0-development 2021-12-24 11:35:35 -04:00
Miku AuahDark fb815edc28 Change luaL_loadbuffer chunkname with prefixes. 2021-12-12 09:23:00 +08:00