Commit Graph

1672 Commits

Author SHA1 Message Date
Alex Szpakowski 99875d83b3 Fix explicit texture MSAA of 1 or 0 not being treated the same as the default 2020-10-26 17:11:50 -03: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
Alex Szpakowski 7934ce0a66 Handle backbuffer MSAA manually in love.graphics code
Previously love would use SDL APIs to make the system (WGL etc) handle it, which meant the OpenGL context had to be recreated whenever MSAA changed.
2020-10-25 22:24:07 -03:00
Alex Szpakowski 6f3e590a82 metal: more work on shader texture bindings 2020-10-24 17:58:25 -03:00
Alex Szpakowski 3b2b9ef5fd metal: Fix a crash when deleting a stream buffer 2020-10-24 17:57:59 -03:00
Alex Szpakowski 27897b4af1 Merge branch '12.0-development' into metal 2020-10-24 00:36:33 -03:00
Alex Szpakowski 4b9c648c8b metal: work towards shader uniform implementation.
Misc cleanup.
2020-10-24 00:33:02 -03:00
Alex Szpakowski 2b0f8495bf Fix a crash in Text:set. Fixes issue #1639 2020-10-16 21:19:50 -03:00
Alex Szpakowski d083c87d74 Update glslang 2020-10-12 17:29:08 -03:00
Alex Szpakowski 365387150e Merge branch 'master' into 12.0-development 2020-08-09 12:25:07 -03:00
Alex Szpakowski 5f4d2f3323 Fix love.graphics.newVolumeImage when explicit mipmaps are given
Fixes issue #1602
2020-08-09 12:12:28 -03:00
Alex Szpakowski aa219c0d7a Simplify some boilerplate internal code 2020-08-02 16:00:08 -03:00
Alex Szpakowski f168333938 Simplify Buffer APIs.
Remove Buffer:set/getElement, Buffer:isCPUReadable, and the cpureadable flag in newBuffer's settings parameter.
2020-08-01 21:51:37 -03:00
Alex Szpakowski a8c879f3bf metal: initial texel buffer implementation 2020-07-29 19:35:45 -03:00
Alex Szpakowski 2e4b1f5dd9 metal: reimplement explicit attribute locations
Also reimplement temporary uniform buffer hack
2020-07-29 19:15:22 -03:00
Alex Szpakowski 3ae4a0f76b metal: post merge compilation fixes 2020-07-29 18:51:21 -03:00
Alex Szpakowski 7a50f32585 Merge branch '12.0-development' into metal 2020-07-29 18:21:19 -03:00
Alex Szpakowski eea78884d3 metal: initial barebones texture reflection in shaders 2020-07-29 18:11:20 -03:00
Alex Szpakowski b011487a3e Add new texel buffer type.
GLSL 3+ shaders can read from texel buffers by declaring a uniform samplerBuffer variable and calling texelFetch with a 0-based index, in the shader code. All attributes in a texel buffer's format array must have the same data format (e.g. all 'floatvec4' formats).

Shader:send accepts a texel Buffer for samplerBuffer uniforms.

Added 'texelbuffer' to love.graphics.getSupported (requires GLSL 3+ and desktop OpenGL).
Added 'texelbuffersize' to love.graphics.getSystemLimits. Returns the max number of values in a texel buffer (array length multiplied by the number of attributes declared in the buffer's format array).
2020-07-28 20:44:36 -03:00
Alex Szpakowski 3c65d5ae41 love.graphics.newIndexBuffer uses 0-based index values.
It can't be consistent with other buffer types or Buffer methods if it's 1-based.
2020-07-27 17:35:16 -03:00
Alex Szpakowski de370beb68 Remove deprecation notices from newImage for now 2020-07-26 16:59:09 -03:00
Alex Szpakowski 2d7267a428 Add Buffer:isBufferType and Buffer:isCPUReadable. 2020-07-26 16:43:40 -03:00
Alex Szpakowski 36b0394afc Add love.graphics.newVertexBuffer and love.graphics.newBuffer. 2020-07-26 16:32:18 -03:00
Alex Szpakowski d75f5df80d Add Buffer methods
flush, setArrayData, setElement, getElement, getElementCount, getElementStride, getSize, getFormat
2020-07-25 19:48:54 -03:00
Alex Szpakowski 1d087cc5c2 Fix Mesh/Buffer:flush uploading more data than it needs to, sometimes. 2020-07-21 21:56:47 -03:00
Alex Szpakowski 7ad5e5a21a Fix newMesh(format, ...). Fix Mesh:attachAttribute.
Deprecate the mesh argument variant of attachAttribute in favor of the buffer argument variant.
2020-07-21 21:46:45 -03:00
Alex Szpakowski c2be89f130 Fix crashes when creating a Buffer. 2020-07-21 20:50:49 -03:00
Alex Szpakowski 77834d8e6c Add a Data object variant of love.graphics.newIndexBuffer 2020-07-21 19:09:13 -03:00
Alex Szpakowski 3b67db4672 Add love.graphics.newIndexBuffer 2020-07-21 18:57:50 -03:00
Alex Szpakowski 834cddc34c Add Mesh:getVertexBuffer. 2020-07-20 22:13:30 -03:00
Alex Szpakowski e60736f5a6 Add Mesh:set/getIndexBuffer. 2020-07-20 22:10:08 -03:00
Alex Szpakowski 3f4161dd5d Merge branch '12.0-development' into GraphicsBuffer 2020-07-20 18:13:27 -03:00
Alex Szpakowski 0c7793e195 Fix detection of #pragma language glsl3 in shaders 2020-07-19 15:41:04 -03:00
Alex Szpakowski f848b201ae Merge branch 'master' into 12.0-development 2020-07-18 21:29:36 -03:00
Alex Szpakowski dde3db3006 Apply Image:replacePixels/missing text workaround to more ATI drivers
issue #1563
2020-07-12 18:25:55 -03:00
Alex Szpakowski d60d8867f4 Possible workaround for an Intel driver bug with readable depth buffers
https://github.com/love2d/love/issues/1592
2020-07-11 17:21:26 -03:00
Alex Szpakowski 50eeed7bb1 Fix Shader:send's Data variant when a matrix layout arg is used.
Also add a second more consistent Data+matrix layout variant of Shader:send which matches the argument order of the table+matrix layout variant - Shader:send(name, matrixlayout, data, ...).
2020-07-10 22:52:23 -03:00
Alex Szpakowski 96b8d29a5c Clean up code for computing smooth line vertex colors. 2020-06-28 21:58:13 -03:00
Alex Szpakowski 426798ab10 metal: fix a freeze issue with the main uniform buffer 2020-06-15 22:00:30 -03:00
Alex Szpakowski 9aa9319eb5 metal: implement depth/stencil state 2020-06-14 21:14:56 -03:00
Alex Szpakowski 9d2dca5740 metal: nogame and error screens work.
- implement love.graphics.setColor
- implement default textures
- hacky implementation of default uniform data
- use texture swizzles to set up LA8 (text) texture data
- shader reflection work
2020-06-13 20:29:23 -03:00
Alex Szpakowski 6cd4b3e3f7 Update glslang 2020-06-07 15:36:23 -03:00
Alex Szpakowski 2c4bfab1de Merge branch '12.0-development' into GraphicsBuffer 2020-05-23 20:29:38 -03:00
Alex Szpakowski 0fae32706d Fix a crash on Windows. Resolves #1570. 2020-05-23 15:19:28 -03:00
Alex Szpakowski de041ded0e metal: initial vertex attribute support for pipelines
Also hook up samplers
2020-05-03 17:14:54 -03:00
Alex Szpakowski 9765485222 metal: partial implementation of pipeline states.
Add BGRA8 pixel format.
2020-05-03 12:48:43 -03:00
Alex Szpakowski ceb1e4459b metal: initial sampler cache implementation 2020-04-26 09:09:26 -03:00
Alex Szpakowski 643a046d64 metal: basic implementation of love.graphics.clear 2020-04-23 22:49:38 -03:00
Alex Szpakowski 99b39065b6 metal: hook up the backbuffer 2020-04-23 18:38:29 -03:00