Commit Graph

1516 Commits

Author SHA1 Message Date
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 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
Alex Szpakowski acc4064a6c metal: implement stubs for missing methods 2020-04-22 23:18:00 -03:00
Alex Szpakowski d13e97fd83 Merge branch 'master' into 12.0-development 2020-03-15 19:25:48 -03:00
Alex Szpakowski 8fac08809a Eliminate redundant glActiveTexture calls when shaders are used.
The redundant calls were introduced with the previous commit.
2020-03-15 19:24:49 -03:00
Alex Szpakowski c5b6cc3228 Merge branch 'master' into 12.0-development 2020-03-15 19:17:04 -03:00
Alex Szpakowski 9c2454816f Fix the active GL texture unit not always being set properly.
Fixes issues where texture methods wouldn't have any effect, depending on the current internal opengl state.
2020-03-15 01:29:33 -03:00
Alex Szpakowski e0ff593d09 Fix love.graphics.newTexture(imagedata, {canvas=true}) not using an sRGB format when it should 2020-03-04 20:37:41 -04:00