dzil123
d6812ff7b9
[3.x] Fix shader compiler asan out of bounds
...
(cherry picked from commit aa0b91ca52
)
2022-12-05 09:36:51 +08:00
Yuri Roubinsky
85deed9207
Backport some changes to 3.x shaders
2022-01-25 10:34:57 +03:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Yuri Roubinsky
0c449befbf
Allow pass varyings as out param to the function, when it's possible
2022-01-04 10:22:39 +03:00
Hugo Locurcio
d7d35e4f73
Add `const` qualifier support for function arguments in shaders
...
This prevents the function argument from being reassigned within
the function.
Example:
void test(const int t) {}
2021-11-19 21:20:23 +01:00
Pedro J. Estébanez
4c710780d4
Implement async shader compilation plus caching for GL ES 3
...
Async. compilation via ubershader is currently available in the scene and particles shaders only.
Bonus:
- Use `#if defined()` syntax for not true conditionals, so they don't unnecessarily take a bit in the version flagset.
- Remove unused `ENABLE_CLIP_ALPHA` from scene shader.
- Remove unused `PARTICLES_COPY` from the particles shader.
- Remove unused uniform related code.
- Shader language/compiler: use ordered hash maps for deterministic code generation (needed for caching).
2021-11-09 12:19:12 +01:00
Yuri Roubinsky
8a1c986455
[3.x] Fix shader crash when using local var with the same name as varying
2021-08-13 09:30:35 +03:00
Rémi Verschelde
940ca74ccf
Merge pull request #50889 from Chaosus/shader_const_array_3.x
...
[3.x] Implemented global const array to shaders
2021-07-27 13:05:32 +02:00
Yuri Roubinsky
1e191847c7
[3.x] Implemented global const array to shaders
2021-07-26 16:29:39 +03:00
Yuri Roubinsky
0a99613e53
Backport latest varying fixes to 3.x (2)
2021-07-26 15:40:42 +03:00
Hugo Locurcio
a38b447413
Highlight control flow keywords with a different color
...
This makes them easier to distinguish from other keywords.
2021-05-25 00:31:39 +02:00
Lyuma
fba6b62054
Backport dd0874e
"Allow passing varying from fragment to light shader function" to 3.4
2021-05-14 11:28:48 -07:00
Lyuma
0c028ad96e
Backport bc0e8e7
"Fix using post-init shader array constructors" to 3.4
2021-05-14 11:28:48 -07:00
Lyuma
25016bf715
Backport 6b99bda
"Added support for arrays as shader struct members" to 3.4
2021-05-14 11:28:48 -07:00
Lyuma
fc6bee0750
Backport 6f16239
"Implementation of struct for shaders" to 3.4
2021-05-14 11:28:48 -07:00
Rémi Verschelde
140350d767
Style: Enforce braces around if blocks and loops
...
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde
a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
...
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde
b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
2021-05-04 14:45:16 +02:00
Rémi Verschelde
49646383f1
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
(cherry picked from commit b5334d14f7
)
2021-01-13 16:17:06 +01:00
Yuri Roubinsky
474b178534
[3.2] Fix shader crash if pass const argument to 'out/inout' parameter
2020-06-25 10:27:37 +03:00
Yuri Roubinsky
ee93c85ef1
Fix shader constant sorting
2020-03-31 14:32:33 +03:00
fhuya
30d738eda7
Add support for opengl external textures as defined by https://www.khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external.txt
2020-03-05 13:09:49 -08:00
Yuri Roubinsky
3b2490f19c
Prevent shader crash if invalid builtin used after array member accessor
...
(cherry picked from commit 3a70566b15
)
2020-02-14 16:02:21 +01:00
Rémi Verschelde
a7f49ac9a1
Update copyright statements to 2020
...
Happy new year to the wonderful Godot community!
We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.
Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Yuri Roubinsky
5e44b5be81
Prevents usage of unsupported texture shader types in GLES2
2019-11-03 13:41:15 +03:00
Yuri Roubinsky
1b003f3d64
Prevents shader crash on GLES2 if unsupported built-in has been used
2019-10-31 09:21:44 +03:00
Yuri Roubinsky
76eb486413
Added check if field name in the shader is equal to builtin
2019-10-29 15:37:19 +03:00
Hugo Locurcio
701581d1d3
Improve error messages related to `shader_type`
...
The list of allowed shader types is now displayed if any
`shader_type`-related error is emitted.
This makes it easier to remember which shader types are allowed
when creating a new shader.
2019-10-26 17:43:14 +02:00
Chaosus
1333ea2a2d
Implement shader array support for varyings
2019-09-14 18:23:25 +03:00
Yuri Roubinski
38601dd3e9
Fix shader crash when users miss the return statement
2019-08-28 11:32:33 +03:00
Yuri Roubinski
4dda253ee0
Implements switch to shaders
2019-08-23 14:43:09 +03:00
Yuri Roubinski
b24b3497d6
Implemented local shader constants
2019-08-05 10:35:53 +03:00
Chaosus
9379cbc774
Added local array initializer
2019-07-16 07:13:37 +03:00
Chaosus
c37379456f
Implemented local shader arrays
2019-07-15 15:57:39 +03:00
geequlim
253cd73f1d
Fix code completion for shader editor
2019-07-06 12:03:17 +08:00
Chaosus
c2d4abf62e
Added constant support to shaders
...
Co-authored-by: DavidSichma <sichmada@gmail.com>
2019-06-01 13:41:07 +03:00
Rémi Verschelde
5fc86026ca
Fix typos with codespell
...
Using codespell 1.14.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
Rémi Verschelde
b7cc2bb1e2
Core: Ensure classes match their header filename
...
Also drop some unused files.
Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`
Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Hein-Pieter van Braam
d308eb091a
Fix many asan and ubsan reported issues
...
This allows most demos to run without any ubsan or asan errors. There
are still some things in thirdpart/ and some things in AudioServer that
needs a look but this fixes a lot of issues. This should help debug less
obvious issues, hopefully.
This fixes #25217 and fixes #25218
2019-01-30 06:43:56 +01:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Juan Linietsky
631cf676c3
Removed noperspective (not in GLSL ES 3.0), do not write smooth if not specified. Fixes #20435
2018-11-21 23:07:09 -03:00
JFonS
fb92c7b0fa
Use hint_color when getting shader default params
2018-11-16 12:20:23 +01:00
Juan Linietsky
d2e642b2dc
Proper validation of out arguments in built-in shader functions, closes #16244
2018-11-14 18:56:19 -03:00
Juan Linietsky
baa8678d2a
Do not allow samplers where they dont belong (variables/return types), fixes #15133
2018-11-12 08:36:26 -03:00
JFonS
3cedec5f75
Set uniform default values in inspector
2018-09-13 23:05:33 +02:00
Rémi Verschelde
277b24dfb7
Make core/ includes absolute, remove subfolders from include path
...
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Thomas Herzog
b4d3f541e7
add 3D textures
2018-07-30 12:20:27 +02:00
Juan Linietsky
d2aaf460fb
Manually fix, merge and close #15168
2018-07-29 12:18:37 -03:00
Juan Linietsky
f6ce73f724
Visual Shaders are back.
2018-07-14 18:16:18 -03:00
Juan Linietsky
0db4c576f1
Merge pull request #18533 from JFonS/fix_shader_compile
...
Fix vector reduction in shader language
2018-05-07 14:30:44 -03:00