Commit Graph

5289 Commits

Author SHA1 Message Date
Hajime Hoshi
6ccb614b08 graphicsdriver/metal: Implement CompositeModeMultiply
Updates #410
2020-07-18 21:51:57 +09:00
Hajime Hoshi
3010476e9d Add nanoslayer to AUTHORS 2020-07-18 21:40:34 +09:00
nanoslayer
72babcd420
ebiten: Add CompositeModeMultiply (#1251)
This change adds a new composite mode called `CompositeModeMultiply`,
which multiplies the source color with the destination color.

This is tested on Linux and Windows only.

Fixes #410
2020-07-18 21:37:17 +09:00
Hajime Hoshi
4bd3bc16ac shader: Define special variables for textures __t%d
This eanbles to define texture0At to texture3At.

Updates #1193
2020-07-18 19:37:50 +09:00
Hajime Hoshi
e0d5763a60 shader: Use the fixed number of images for shaders
This changes uses arrays rather than slices in order to avoid heap
allocations.

Updates #1193
2020-07-18 18:27:47 +09:00
Hajime Hoshi
0c13fff62a ebiten: Add a restriction that all the source image sizes are same
Updates #1193
2020-07-17 02:17:31 +09:00
Hajime Hoshi
52773e1d12 mipmap: Bug fix: Crash at DrawTrianglesWithShader 2020-07-16 23:02:33 +09:00
Hajime Hoshi
c4c9771b78 mipmap: Bug fix: Infinite loop at (*Mipmap).mipmapLevelFromDistance 2020-07-16 03:00:10 +09:00
Hajime Hoshi
bf56492d2d mipmap: Bug fix: mipmapLevelFromDistance must be called from the source 2020-07-16 02:43:08 +09:00
Hajime Hoshi
f927e09f56 mipmap: Unify DrawImage and DrawTriangles
Fixes #909
2020-07-16 02:31:17 +09:00
Hajime Hoshi
7f2be42410 mipmap: Use mipmap for DrawTriangles
Updates #909
2020-07-16 02:31:11 +09:00
Hajime Hoshi
275dd438fa mipmap: Refactoring: Do not use mipmap when the image is volatile 2020-07-16 01:19:57 +09:00
Hajime Hoshi
04b26adf3d mipmap: Refactoring 2020-07-16 00:52:41 +09:00
Hajime Hoshi
38d3811f13 Revert "mipmap: Bug fix: Wrong maximum size of the negative-level mipmap image"
This reverts commit 48b192dbe9.
2020-07-16 00:51:38 +09:00
Hajime Hoshi
a4e669cc39 ebiten: Avoid using SubImage for stretching test 2020-07-15 23:49:26 +09:00
Hajime Hoshi
48b192dbe9 mipmap: Bug fix: Wrong maximum size of the negative-level mipmap image 2020-07-15 22:59:27 +09:00
Hajime Hoshi
7f70797a6d ebiten: Rename DrawTriaglesWithShaderOptions.Textures to Images 2020-07-15 03:49:05 +09:00
Hajime Hoshi
ab95c9014d buffered, shareable: Bug fix: Check source images correctly 2020-07-15 03:37:35 +09:00
Hajime Hoshi
f8956941b7 mipmap: Do not allocate independent mipmaps for each sub-image
Fixes #1247
2020-07-15 02:23:45 +09:00
Hajime Hoshi
2a9fd5ef13 mipmap: Avoid using the vertex backend when GopherJS is not used
The backend logic is especially for GopherJS. As the backend logic
tends to consume a lot of memory, let's avoid this when possible.

Updates #797
2020-07-14 12:16:37 +09:00
Hajime Hoshi
385ff8efdf shader: Bug fix: Wrong local variable names at for-loop
Fixes #1245
2020-07-13 22:49:15 +09:00
Hajime Hoshi
0e6f4fccc0 shader: Add break/continue 2020-07-13 02:59:11 +09:00
Hajime Hoshi
c02213e900 shader: Use the loop counters in the test 2020-07-13 01:48:00 +09:00
Hajime Hoshi
2ca551cdc6 shader: Implement 'for' statement
Fixes #1230
2020-07-13 01:44:05 +09:00
Hajime Hoshi
e15ee77e8e shader: Implement operators ++ and -- 2020-07-12 23:07:30 +09:00
Hajime Hoshi
f95ca46c99 shaderir: Add Stmt.ForVarType and use constant.Value
Updates #1230
2020-07-12 22:31:12 +09:00
Hajime Hoshi
291d69500b shaderir: Add Stmt.ForVarIndex
Updates #1230
2020-07-12 21:55:07 +09:00
Hajime Hoshi
4a8bd688a9 shader: Bug fix: index out of range at defining a var 2020-07-12 18:40:01 +09:00
Hajime Hoshi
dcb693460e shader: Refactoring: Let parseDecl return statements 2020-07-12 15:51:06 +09:00
Hajime Hoshi
d6bce5b9d2 ebiten: Add a comment 2020-07-12 03:17:05 +09:00
Hajime Hoshi
202bb34bac shaderir: Add builtin funcs dfdx, dfdy, fwidth
Fixes #1242
2020-07-11 21:50:10 +09:00
Hajime Hoshi
aecd29325e shaderir: Bug fix: Wrong function names for some bulitin funcs 2020-07-11 21:46:21 +09:00
Hajime Hoshi
776de77744 shaderir: Remove and rename some builtin functions
Apparently matrixCompMult and outerProduct are not portable.

We adopted the naming rule foobar instead of fooBar.
2020-07-11 21:43:24 +09:00
Hajime Hoshi
f13fe331fb Update dependencies 2020-07-10 00:26:11 +09:00
Hajime Hoshi
d217bc6033 ebiten: Sparate textures from uniforms at DrawTrianglesWithShader
Updates #1193
Updates #1239
2020-07-09 01:59:21 +09:00
Hajime Hoshi
914eb093f8 shader: Bug fix: Compile error on the test 2020-07-08 01:38:27 +09:00
Hajime Hoshi
4021c24534 shader: Separate uniform variables and texture variabls
Textures cannot be treated as a regular variable, then they should
be treated differently from other uniform variables.

Add a new function texture0At replacing texture2D.

Updates #1239
2020-07-08 01:12:07 +09:00
Hajime Hoshi
98ae0826c7 shaderir: Bug fix: Early-returns in the entry points didn't work
Fixes #1238
2020-07-05 17:57:57 +09:00
Hajime Hoshi
f4a72165e4 shader: Bug fix: Comparison with constants didn't work 2020-07-05 17:33:10 +09:00
Hajime Hoshi
3eaa7dd0e1 uidriver/glfw: Set No-API when creating a hidden window first
GLFW tries to create an OpenGL context by default when creating a
window. This is not necessary when OpenGL is not used. This is an
optimization by skipping to create an OpenGL context if possible.
2020-07-05 15:01:06 +09:00
Hajime Hoshi
8369a4cc15 shader: Bug fix: Wrong out-params when returning is in a block 2020-07-05 04:30:14 +09:00
Hajime Hoshi
ce4732a7dc shader: Treat if's 'init' part correctly
Updates #1230
2020-07-05 04:08:57 +09:00
Hajime Hoshi
f3651e23e4 shader: Bug fix: Some oeprators should be evaluated as bool 2020-07-05 03:29:34 +09:00
Hajime Hoshi
fb63df48ae shader: Better error message 2020-07-05 03:23:56 +09:00
Hajime Hoshi
380b7382ac shader: Add 'if'
Updates #1230
2020-07-05 02:33:49 +09:00
Hajime Hoshi
3ca6e41194 shader: Refactoring: Add statements later 2020-07-05 00:33:54 +09:00
Hajime Hoshi
b00666df22 shader: Refactoring: Split files 2020-07-04 23:47:23 +09:00
Hajime Hoshi
49b389c8b1 shader: Add tests for invalid binary expressions 2020-07-04 20:23:37 +09:00
Hajime Hoshi
f362455387 shader: Bug fix: correct type deduction from 'mat2*vec2'
Fixes #1236
2020-07-04 20:08:01 +09:00
Hajime Hoshi
6c33ed107f affine: Add more tests for (*ColorM).Invert 2020-07-04 01:58:37 +09:00