summaryrefslogtreecommitdiffstats
path: root/drivers/gles2/shader_compiler_gles2.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove obsolete GLES2 backend codeRémi Verschelde2020-08-131-1181/+0
| | | | | | | | | | | This code currently isn't compiled (and cannot compile). We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan (probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite different so it's not relevant to keep this old Godot 3.2 code. The `drivers/gles2` code from the `3.2` branch can be used as a reference for a potential new implementation.
* Added 'fma' function to shader languageYuri Roubinsky2020-07-101-0/+2
|
* Added const qualifier support for function arguments in shadersYuri Roubinsky2020-07-011-0/+3
|
* Fix shader's length() function parsing in expressionsYuri Roubinsky2020-06-031-4/+8
|
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-38/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde2020-05-101-12/+24
| | | | Part of #33027.
* Fix shader constant sortingYuri Roubinsky2020-04-111-7/+8
|
* Replace NULL with nullptrlupoDharkael2020-04-021-5/+5
|
* Renaming of servers for coherency.Juan Linietsky2020-03-271-173/+173
| | | | | | | | | | VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
* Added support for arrays as shader struct membersYuri Roubinsky2020-02-121-0/+30
|
* Implementation of 'struct' for shadersYuri Roubinsky2020-02-111-19/+63
|
* Add support for 3D textures to GLES2clayjohn2020-01-311-0/+11
|
* Fix shader crash if using multiple underscores in identifier namesYuri Roubinsky2020-01-311-1/+1
|
* Disabled array initialization, const array and arr.length in shadersYuri Roubinsky2020-01-161-19/+0
|
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | 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.
* Add a default POINT_SIZEclayjohn2019-12-101-2/+2
|
* Removed switch operator from GLES2 shader back-endYuri Roubinsky2019-11-021-9/+0
|
* Merge pull request #31202 from azagaya/light-dataRémi Verschelde2019-09-191-0/+2
|\ | | | | Create shadow_vec for altering shadow computation
| * Create shadow_vec for altering shadow computationazagaya2019-09-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | In 2.1 and 3.0, light_vec could be modified for altering shadow_computations. But it broke shadows when rotating light. shadow_vec would do the same, but without breaking shadows in rotated lights if not used. Add inverse light transformation to shadow vec, so it's not affected when rotating lights; Added usage define for shadow vec. For shadow vec working properly when rotating a light, it's needed to multiply it by light_matrix normalized. Added usage define in order to don't do that if shadow_vec not used.
* | Implement shader array support for varyingsChaosus2019-09-141-0/+5
| |
* | Merge pull request #31746 from clayjohn/skip-vertex-transform-gles2Rémi Verschelde2019-08-291-1/+1
|\ \ | | | | | | Fix skip_vertex_transform bug in GLES2 CPUParticles
| * | Fix skip_vertex_transform bug in GLES2 CPUParticlesclayjohn2019-08-281-1/+1
| |/
* | Merge pull request #31556 from Chaosus/gles2_inverseRémi Verschelde2019-08-261-0/+2
|\ \ | | | | | | Implemented inverse shader function to GLES2
| * | Implemented inverse shader function to GLES2Yuri Roubinski2019-08-221-0/+2
| | |
* | | Implements switch to shadersYuri Roubinski2019-08-231-0/+9
|/ /
* | Fix ternary operator shader compiler expressionYuri Roubinski2019-08-191-0/+2
| |
* | Implemented do/while loops for shadersYuri Roubinski2019-08-131-0/+8
| |
* | Implemented local shader constantsYuri Roubinski2019-08-051-28/+32
|/
* Expose several GLES3 built-ins to GLES2 Chaosus2019-07-311-1/+34
|
* added round function to gles2clayjohn2019-07-291-0/+12
|
* Added local array initializerChaosus2019-07-161-0/+16
|
* Implemented local shader arraysChaosus2019-07-151-0/+74
|
* Prevent GLES2 bool uniforms from having a precision type set.Marcus Brummer2019-07-051-1/+1
| | | | | | | | | When setting the default precision type for uniforms (before compiling the shader) prevent boolean uniforms from having one set. Booleans can't have a precision type and on some Android devices this caused a compilation failure. Fixes #30317
* Added constant support to shadersChaosus2019-06-011-0/+15
| | | Co-authored-by: DavidSichma <sichmada@gmail.com>
* Merge pull request #29014 from mbrlabs/gles2_precision_fixRémi Verschelde2019-05-271-2/+7
|\ | | | | Use highp precision in the gles2 fragment shader if available
| * Use highp precision for gles2 shader uniforms if not explicitly set.Marcus Brummer2019-05-251-2/+7
| | | | | | | | | | | | The use of different default precision values (highp in vertex; mediump in fragment) for uniform variables caused the shader program to not link properly on some android devices/emulators.
* | Implement shadow to opacityBastiaan Olij2019-05-211-0/+1
|/
* Many separate fixes to ensure non power of 2 textures work on GLES2, closes ↵Juan Linietsky2019-02-241-1/+1
| | | | #25897 and many others
* -Support DEPTH_TEXTURE in GLES2, fixes #25106Juan Linietsky2019-02-221-1/+2
| | | | | -Fix use of transparent framebuffers in GLES2 -Fix use of ambient color clearing in GLES2 when no environment exists.
* Fix typos with codespellRémi Verschelde2019-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | 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 ```
* Fix many asan and ubsan reported issuesHein-Pieter van Braam2019-01-301-2/+2
| | | | | | | | | 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
* Cleanup and identify ShaderCompilerGLES[23] differencesRémi Verschelde2019-01-281-25/+10
|
* GLES2: Define LIGHT Spatial shader builtinRémi Verschelde2019-01-281-0/+1
| | | | Fixes #25421.
* Fix shader compile error line numbers starting at 0.RedMser2019-01-171-1/+1
|
* Merge pull request #24539 from BastiaanOlij/override_gl_positionRémi Verschelde2019-01-041-0/+2
|\ | | | | Override GL_position
| * Override GL_positionBastiaan Olij2018-12-291-0/+2
| |
* | Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | | | | | Happy new year to the wonderful Godot community!
* | Fix missing/malformed license headersRémi Verschelde2019-01-011-1/+1
|/
* Merge pull request #23899 from BastiaanOlij/fix_particle_activeRémi Verschelde2018-12-021-1/+1
|\ | | | | Remapped ACTIVE to shader_active, now works
| * Remapped ACTIVE to shader_active, now worksBastiaan Olij2018-12-011-1/+1
| |