Commit Graph

132 Commits

Author SHA1 Message Date
Hajime Hoshi
cfd0de5c41 internal/shaderir: make outputs for unexpected operators consistent 2022-03-26 01:40:02 +09:00
Hajime Hoshi
4893b13acc internal/shaderir: add internal/shaderir/hlsl
Updates #1007
2022-03-26 01:31:05 +09:00
Hajime Hoshi
a617576879 internal/shaderir: replace Mul with ComponentWiseMul and MatrixMul
This is a preparation for DirectX / HLSL.

Updates #1007
2022-03-13 19:17:46 +09:00
Hajime Hoshi
044d41dd2d internal/shaderir: change Op from string to int
This is a preparation to distinguish Hadamard product and matrix
product for HLSL.

Updates #1007
2022-03-13 16:20:04 +09:00
Hajime Hoshi
98e2d86ea3 internal/shaderir/msl: refactoring 2022-03-12 00:18:55 +09:00
Hajime Hoshi
5715539a0f internal/shaderir/glsl, internal/shaderir/msl: refactoring 2022-03-11 15:18:38 +09:00
Hajime Hoshi
e63709a2a5 internal/shaderir/glsl: refactoring 2022-03-11 02:03:15 +09:00
Hajime Hoshi
6f00221051 internal/shaderir/msl: rename the package name
Updates #2010
2022-03-10 16:25:11 +09:00
Hajime Hoshi
47bfd0db9e internal/shaderir/metal: rename to msl
Closes #2010
2022-03-10 00:14:06 +09:00
Hajime Hoshi
5e5e3c64ac internal/shaderir/metal: remove a redundant case 2022-03-09 02:54:31 +09:00
Hajime Hoshi
15064dbdc1 internal/shaderir/glsl, internal/shaderir/metal: simplify function names 2022-03-09 01:43:36 +09:00
Hajime Hoshi
df2133186d internal/shaderir: bug fix: test failures 2022-03-04 19:01:58 +09:00
Hajime Hoshi
3c1e64dd67 internal/shaderir/metal: bug fix: define the 'mod' function correctly
Closes #2006
2022-03-04 18:05:44 +09:00
Hajime Hoshi
bf48a0b11a internal/shaderir: bug fix: test failures 2022-01-12 01:57:06 +09:00
Hajime Hoshi
08ddb4233b internal/shaderir/glsl: bug fix: % was not available on old GLSLs
Use a new utility function modInt instead.

Closes #1951
2022-01-12 01:41:09 +09:00
Hajime Hoshi
00e2b15e2a shaderir: Bug fix: A wrong argument for fmt.Sprintf
This change also improves the result of espcae analysis.

Closes #1863
2021-11-02 00:05:07 +09:00
r3vit
57c45a13e4
Remove dot imports from tests - Remove dot imports (#1837)
Closes #1824
2021-10-02 19:58:48 +09:00
Hajime Hoshi
d5150a194c internal/shaderir/glfw: Insert a dummy function to touch uniform array variables
Closes #1754
2021-08-15 18:06:41 +09:00
Hajime Hoshi
853c1f2b92 internal/shaderir/glsl: Bug fix: Remove uncalled functions
Some built-in functions like dFdx is not available in a vertex shader,
then a function that calls such built-in function should not be in
a vertex shader.

Closes #1701
2021-07-09 20:22:40 +09:00
Hajime Hoshi
dd46221968 graphicsdriver/opengl: Enable dFdx for mobiles
Fixes #1404
2020-11-21 19:40:11 +09:00
Hajime Hoshi
b72848dc97 shaderir: Bug fix: Test failures
Updates #1404
2020-11-21 19:17:31 +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
2fb1033183 shader: Initialize output parameters explicitly 2020-09-12 00:35:14 +09:00
Hajime Hoshi
99dcb14582 shaderir/glsl: Refactoring 2020-09-10 02:11:21 +09:00
Hajime Hoshi
e1ae9bdde0 shaderir/glsl, shaderir/metal: Refactoring 2020-09-10 02:04:28 +09:00
Hajime Hoshi
337f44c916 shader: Add Metal tests
Fixes #1340
2020-09-10 01:19:02 +09:00
Hajime Hoshi
031f8376e9 shaderir: Refactoring 2020-09-08 03:51:29 +09:00
Hajime Hoshi
3b040e5f22 Fix test failures 2020-09-08 03:10:59 +09:00
Hajime Hoshi
1786be55f7 shader: Refactoring 2020-09-08 02:43:41 +09:00
Hajime Hoshi
0a0401e217 shader: Refactoring: Simplify calculation of LocalVarIndexOffset 2020-09-08 02:42:43 +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
29c7b7687f shaderir: Add Program.UniformNames
Updates #1324
2020-09-06 03:41:17 +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
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
f71346da6c shaderir: Add bool/int/float conversion
Updates #1289
2020-08-11 23:04:55 +09:00
Hajime Hoshi
5d2606b6a5 shader: Bug fix: Wrong local variable indices in blocks 2020-08-10 01:09:02 +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
646518f2e8 shaderir: Fix the test side: local variables for 'for' stmts must be reserved 2020-08-09 22:12:35 +09:00
Hajime Hoshi
b73fecae79 shaderir: Add tests for different counter types 2020-08-09 21:44:06 +09:00
Hajime Hoshi
2707915376 shaderir/glsl, shaderir/metal: Bug fix: Wrong local variables with multiple 'for' statements 2020-08-09 20:12:56 +09:00
Hajime Hoshi
80361443cc shaderir/glsl, shaderir/metal: Bug fix: Wrong local variables in for 2020-08-09 20:06:13 +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
febdc46ad5 shaderir/metal: Better array initialization
Updates #1285
2020-08-09 04:40:15 +09:00
Hajime Hoshi
a536b3ee25 shaderir/metal: Bug fix: Array initialization
Updates #1285
2020-08-09 04:22:12 +09:00
Hajime Hoshi
a45e241da1 shaderir/metal: Implement the shader IR compiler for Metal
Fixes #1165
2020-08-08 19:14:57 +09:00