Hajime Hoshi
1cdc6ea72b
internal/shader: Bug fix: Treat multiple constant definitions in one statement correctly
...
Updates #1192
2021-04-09 01:18:38 +09:00
Hajime Hoshi
3b6fa891ac
internal/shader: Bug fix: Error on duplicated const/var names
...
Updates #1192
2021-04-09 00:12:17 +09:00
Hajime Hoshi
59a80cf953
internal/shader: Implement basic constants
...
Updates #1192
2021-04-09 00:00:49 +09:00
Hajime Hoshi
5f81065d78
internal/shader: Make function duplications error
...
Closes #1430
2021-02-07 22:24:23 +09:00
Hajime Hoshi
d3fbf377ef
shader: Bug fix: A wrong usage of a pointer
2020-12-20 13:32:22 +09:00
Hajime Hoshi
b1d7a5f595
shaderir/glsl: Enable dFdx for WebGL
...
With WebGL1, an extension is required for dFdx. On the other hand,
with WebGL2, GLSL ES 300 is required and the extension is forbidden.
This change fixes shaderir/glsl to switch the output depends on the
WebGL version.
This change also adds a new build tag 'ebitenwebgl1' forcing WebGL 1.
Updates #1404
2020-11-21 19:07:54 +09:00
Hajime Hoshi
185e367295
shader: Implement cap function
...
Fixes #1361
2020-10-17 23:36:09 +09:00
Hajime Hoshi
bf515bb594
Update version to v2.0.0-alpha
2020-10-04 04:30:40 +09:00
Hajime Hoshi
3c71eba446
shaderir: Bug fix: Implement atan2 for Metal correctly
...
Fixes #1360
2020-09-22 04:29:34 +09:00
Hajime Hoshi
ab004031d0
shader: Reland: Bug fix: Checking unused variables defined with var
2020-09-17 17:46:35 +09:00
Hajime Hoshi
ac971f77c5
Revert "shader: Bug fix: Checking unused variables defined with var"
...
This reverts commit 4d3d3134d5
.
Reason: Test failures
2020-09-17 17:32:07 +09:00
Hajime Hoshi
4d3d3134d5
shader: Bug fix: Checking unused variables defined with var
2020-09-17 17:29:37 +09:00
Hajime Hoshi
ded223ead0
shader: Bug fix: selector is not available on a blank identifier
2020-09-14 03:41:25 +09:00
Hajime Hoshi
e1d8629189
shader: Bug fix: a blank identifier lhs and += cannot work
2020-09-14 00:51:27 +09:00
Hajime Hoshi
fd51abfb0d
shader: Bug fix ++/-- must not be applied to a blank identifier
2020-09-14 00:32:47 +09:00
Hajime Hoshi
7666987b09
shader: Bug fix: a blank identifier cannot be used as values
2020-09-13 23:55:25 +09:00
Hajime Hoshi
154f86e6c1
shader: Check unused local variables
...
Fixes #1328
2020-09-13 22:36:41 +09:00
Hajime Hoshi
e543d4f107
shader: Bug fix: true/false should be available as a local variable
2020-09-13 20:38:51 +09:00
Hajime Hoshi
a5af597594
shader: Forbid assigning to special variables
2020-09-13 05:19:20 +09:00
Hajime Hoshi
ed4a7e1856
shader: Forbid init functions
...
Fixes #1331
2020-09-12 19:50:23 +09:00
Hajime Hoshi
8833e46c7e
shader: Refactoring
2020-09-12 18:54:36 +09:00
Hajime Hoshi
a0db26f234
ebiten: Bug fix: Test failuer (TestShaderWrongReturn)
2020-09-12 18:36:22 +09:00
Hajime Hoshi
d001f49ad7
shader: Bug fix: Treat multiple-context at return correctly
2020-09-12 17:44:04 +09:00
Hajime Hoshi
2fb1033183
shader: Initialize output parameters explicitly
2020-09-12 00:35:14 +09:00
Hajime Hoshi
337f44c916
shader: Add Metal tests
...
Fixes #1340
2020-09-10 01:19:02 +09:00
Hajime Hoshi
0a0401e217
shader: Refactoring: Simplify calculation of LocalVarIndexOffset
2020-09-08 02:42:43 +09:00
Hajime Hoshi
41d4fc288b
shader: Reword
2020-09-08 01:40:49 +09:00
Hajime Hoshi
f61a916e4a
shaderir/glsl: Bug fix: Calculate local variable indices correctly
...
Fixes #1339
2020-09-08 00:19:07 +09:00
Hajime Hoshi
4308bbbc31
shader: Check the existence of 'return'
2020-09-06 22:33:27 +09:00
Hajime Hoshi
e0b8b9945f
shader: Check returning value types and the number
2020-09-06 22:08:57 +09:00
Hajime Hoshi
29c7b7687f
shaderir: Add Program.UniformNames
...
Updates #1324
2020-09-06 03:41:17 +09:00
Hajime Hoshi
55f0c983ba
shader: Bug fix: Ignore blank identifiers for the duplication check
...
Fixes #1330
2020-09-03 03:03:06 +09:00
Hajime Hoshi
4ac11bf156
shader: Bug fix: Treat number literals in function calls correctly
2020-09-03 02:45:22 +09:00
Hajime Hoshi
0b1d29b6e7
shader: Bug fix: Returning value's integer literals were wrong
2020-09-03 02:10:52 +09:00
Hajime Hoshi
f5829b2cf3
shader: Check at least one variable on left side of :=
...
Updates #1330
2020-09-03 01:15:41 +09:00
Hajime Hoshi
8c779447db
shader: Friendly error messages when local variable names are duplicated
...
Fixes #1254
2020-08-30 21:22:10 +09:00
Hajime Hoshi
a9b94a183b
shader: Implement swapping variables
...
Fixes #1248
2020-08-16 18:40:45 +09:00
Hajime Hoshi
06ed4f5444
shader: Implement len function
...
Fixes #1279
2020-08-16 02:07:39 +09:00
Hajime Hoshi
f6c3e0579f
shaderir: Adopt the precision 10 for float literals
...
Adopted the same precision of (*math/big.Float).String().
2020-08-13 00:01:16 +09:00
Hajime Hoshi
50cd33ed9b
shader: Bug fix: Use integer literals in the integer context
...
Fixes #1299
2020-08-12 13:47:22 +09:00
Hajime Hoshi
39d829d3bf
shader: Check the index is an exact integer
2020-08-12 13:47:22 +09:00
Hajime Hoshi
18732ca879
shader: Bug fix: Wrong type deduction with int(x)
...
Fixes #1298
2020-08-12 12:16:22 +09:00
Hajime Hoshi
08270ee729
shader: Enable to parse ... in an array type
2020-08-11 23:51:22 +09:00
Hajime Hoshi
ee049a19ac
shader: Bug fix: Wrong local variable index in a block in the fragment entry point
2020-08-10 02:29:49 +09:00
Hajime Hoshi
9b6b306ca3
shader: Bug fix: Wrong local variable index in a block in an entry point
2020-08-10 02:22:09 +09:00
Hajime Hoshi
4d20da9bc0
shader: Refactoring
2020-08-10 02:02:26 +09:00
Hajime Hoshi
e534fe8246
shader: Add more tests using a for-loop
2020-08-10 01:14:42 +09:00
Hajime Hoshi
5d2606b6a5
shader: Bug fix: Wrong local variable indices in blocks
2020-08-10 01:09:02 +09:00
Hajime Hoshi
240e20ad87
shader: Bug fix: Wrong variable index at declaration
2020-08-09 23:23:40 +09:00
Hajime Hoshi
a0494210c3
shader: Bug fix: Wrong local variable index in a block
2020-08-09 23:14:28 +09:00
Hajime Hoshi
eacc9fac6a
shader: Indexing with non-consntat value should be allowed
2020-08-09 22:50:53 +09:00
Hajime Hoshi
5dc0d4e1a4
shader: Add more tests about 'for' loops
2020-08-09 22:26:57 +09:00
Hajime Hoshi
dee8690502
shaderir/glsl: Bug fix: Copying an array did not work on GLSL
...
Fixes #1286
2020-08-09 22:18:58 +09:00
Hajime Hoshi
ee9257e626
shaderir: Use pointers for Block
2020-08-09 18:00:55 +09:00
Hajime Hoshi
07514a37c8
shaderir/glsl: Bug fix: Initialize an array
...
Updates #1285
2020-08-09 04:59:29 +09:00
Hajime Hoshi
00a92a21a3
shader: Add compilation tests for Metal
2020-08-08 21:29:01 +09:00
Hajime Hoshi
8bac08cbd9
Add internal/shaderir/glsl
2020-08-03 23:27:27 +09:00
Hajime Hoshi
fa60e31997
shaderir: Bug fix: Pass tests
2020-08-01 21:22:47 +09:00
Hajime Hoshi
4bd01fd038
graphicsdriver/opengl: Implement shaders for browsers
...
Fixes #1166
2020-08-01 20:27:46 +09:00
Hajime Hoshi
a4334c5464
shader: Use arrays at uniform variables
...
Fixes #1274
2020-08-01 17:22:10 +09:00
Hajime Hoshi
2b4cf7fd17
shader: Remove unnecessary Println
2020-08-01 16:47:17 +09:00
Hajime Hoshi
ac16564e95
shaderir: Add indexing
...
Fixes #1235
2020-07-29 23:49:57 +09:00
Hajime Hoshi
a0549820fd
shadeir: Add array composite literals
...
Updates #1235
2020-07-29 23:49:54 +09:00
Hajime Hoshi
004b279e4f
shader: Add array initialization
...
Updates #1235
2020-07-29 22:43:51 +09:00
Hajime Hoshi
2dc6cbe51a
shader: Make parseType return a boolean value indicating ok
2020-07-29 12:02:07 +09:00
Hajime Hoshi
d9c54bc0d0
shader: Implement an array variable
...
Updates #1235
2020-07-29 02:27:05 +09:00
Hajime Hoshi
a43efb66b2
shaderir: Bug fix: Function prototypes were required for GLSL
...
Fixes #1267
2020-07-28 00:04:03 +09:00
Hajime Hoshi
bb1d08a681
shader: Remove the comments
2020-07-20 11:14:54 +09:00
Hajime Hoshi
1217db3b1e
ebiten: Remove user-defined vertex shaders
...
Fixes #1253
2020-07-20 10:07:55 +09:00
Hajime Hoshi
36e9803cea
shader: Enable to get pixels from multiple images
...
Updates #1193
2020-07-19 02:33:43 +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
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
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
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
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
545342262f
examples/shader: Show an image
2020-06-24 01:41:27 +09:00
Hajime Hoshi
f10263fff7
shader: Bug fix: Test failures
2020-06-21 22:32:54 +09:00
Hajime Hoshi
c36d2165e6
shader: Parse number literals in unary expressions correctly
...
Fixes #1190
2020-06-21 21:47:27 +09:00
Hajime Hoshi
29b70bea95
shader: Parse number literals in binary expressions correctly
...
Updates #1190
2020-06-21 21:32:40 +09:00
Hajime Hoshi
afc39a100c
shader: Reduce the calls of parseExpr so that unneeded variables are reduced
2020-06-21 16:39:26 +09:00
Hajime Hoshi
ac9bb92885
shader: Refactoring: Reduce calls of parseExpr at definings
2020-06-21 05:26:23 +09:00
Hajime Hoshi
40e581c19f
shader: Allow to mix an int and a float in a binary expression
...
Updates #1190
2020-06-21 03:34:55 +09:00
Hajime Hoshi
ea9fae1faa
shader: Abort parsing correctly when an error is found
2020-06-21 02:18:21 +09:00
Hajime Hoshi
912135d1e7
shaderir: Use constant.Value for number literals
...
Updates #1190
2020-06-21 01:30:23 +09:00