summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
2021-07-26Merge pull request #50891 from Vitika9/50852Hugo Locurcio
Removed redundant assignment of `blur_pipeline`
2021-07-26Merge pull request #50895 from Chaosus/fix_shader_crashRémi Verschelde
Fix editor crash if passing index as variable to function parameter
2021-07-26Merge pull request #50847 from reduz/implement-binary-shader-compilationRémi Verschelde
Implement Binary Shader Compilation
2021-07-26Fix editor crash if passing index as variable to function parameterYuri Roubinsky
2021-07-26Fixed coding stylevitika9
2021-07-26Merge pull request #50884 from Chaosus/fix_shader_crashRémi Verschelde
Prevents shader crashing if varying assigned incorrectly by using compound assignment operators (*=, += etc.)
2021-07-26Fix expression in `cluster_builder_rd.h`Nicholas Huelin
This expression should now work as intended.
2021-07-26Prevents shader crashing if varying assigned incorrectlyYuri Roubinsky
2021-07-26Implement Binary Shader Compilationreduz
* Added an extra stage before compiling shader, which is generating a binary blob. * On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse. * On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL. This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved. I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware. There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
2021-07-26Fix compilation of `shader_language.cpp`Yuri Roubinsky
2021-07-26Merge pull request #50729 from Chaosus/shader_varying_enchancements2Rémi Verschelde
Allow using vertex-stage varying in both `fragment` and `light` functions
2021-07-26Merge pull request #50728 from Chaosus/shader_varying_enchancementsRémi Verschelde
Allow using vertex varying in custom functions under any circumstances
2021-07-26Merge pull request #50856 from SirQuartz/patch-32Rémi Verschelde
Fix always true expression `radius > 0.98 || radius < 1.02` in `cluster_builder_rd.h`
2021-07-25Fix always true expression in `cluster_builder_rd.h`Nicholas Huelin
This pull request fixes an issue where an expression would always evaluate to `true` no matter what.
2021-07-25Fix various typosluz paz
Follow-up typos found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25Merge pull request #50809 from akien-mga/iterators-const-referencesRémi Verschelde
2021-07-25Merge pull request #50250 from luzpaz/typosRémi Verschelde
Fix various typos
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-25Merge pull request #50644 from BastiaanOlij/mobile_compute_to_fragmentRémi Verschelde
2021-07-25Fix various typos with codespellluz paz
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25Use fragment shader instead of compute shader for effects for mobile rendererBastiaan Olij
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-22Allow using vertex-stage varying in both `fragment` and `light` Yuri Roubinsky
2021-07-22Allow using vertex varying in custom functions under any circumstancesYuri Roubinsky
2021-07-21Forbid varyings from assigning in custom functions to prevent crashesYuri Roubinsky
2021-07-21Merge pull request #50489 from Chaosus/shader_varyingRémi Verschelde
Prevent error if varying assigned but not used (push warning instead)
2021-07-20Merge pull request #50537 from Calinou/improve-shader-error-output-2Rémi Verschelde
Add error marking to the shader error console output
2021-07-20Merge pull request #50605 from Calinou/tweak-shader-code-styleRémi Verschelde
Use C++11 raw literals for shader code to improve readability
2021-07-19Implement more rendering options as specialization constantsreduz
* Shadow quality settings now specialization constant. * Decal and light projector filters can be set. * Changing those settings forces re-creation of the pipelines. These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
2021-07-19Merge pull request #50566 from reduz/optimize-stringname-usageRémi Verschelde
Optimize StringName usage
2021-07-19Use C++11 raw literals for shader code to improve readabilityHugo Locurcio
In files that have lots of branching, `\t` was replaced with a tab character instead.
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-17Add error marking to the shader error console outputHugo Locurcio
This makes it possible to see where the shader error is without having to look at the trace printed below the source code.
2021-07-15Fixes to forward mobilereduz
* use valid format for framebuffer: VK_FORMAT_A2B10G10R10_UNORM_PACK32 * Unfortunately cant be used for compute. * Mobile will need to do refprobe, sky, mipmapblurring using raster.
2021-07-15Prevent error if varying assigned but not used (push warning instead)Yuri Roubinsky
2021-07-15Merge pull request #49996 from Chaosus/shader_localvar_warningRémi Verschelde
Added a shader warning about unused local variable
2021-07-15Merge pull request #49678 from BastiaanOlij/mobile_renderer_select_color_formatJuan Linietsky
Use 32bit instead of 64bit 3D render buffer on mobile renderer
2021-07-14Removes lines about window size from the console outputYuri Roubinsky
2021-07-14Check if there are new docs missing on CIYuri Sizov
2021-07-13Use 32bit instead of 64bit 3D render buffer on mobileBastiaan Olij
2021-07-12Use specialization constants in clustered rendererreduz
* Keep track of when projector, softshadow or directional sofshadow were enabled. * Enable them via specializaton constant where it makes sense. * Re-implements soft shadows. * Re-implements light projectors.
2021-07-12Merge pull request #50194 from BastiaanOlij/fix_multiple_reflection_probesRémi Verschelde
Fix indexing of multiple reflection probes
2021-07-12Explicit error message when setting active a Viewport that is already active.TaskManagerCZ
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-07-11Implement Specialization Constantsreduz
* Added support to our local copy of SpirV Reflect (which does not support it). * Pass them on render or compute pipeline creation. * Not implemented in our shaders yet.
2021-07-10Merge pull request #48622 from Geometror/reimplement-disableable-vsyncHugo Locurcio
2021-07-07Fix material invalidation on reimport.reduz
* IF a texture was reimported (calling replace as an example), it would invalidate all materials using it, causing plenty of errors. * Added the possibility to get a notification when a uniform set is erased. * With this notification, materials can be queued for update properly.
2021-07-07Fix threaded update for texturesreduz
* Previews and other stuff now works again. * Not the best solution, will have to be improved in the future usinc async queues where supported.
2021-07-07Merge pull request #50193 from reduz/fix-command-queue-crashRémi Verschelde
Fix Command Queue Crash
2021-07-07Fix Command Queue Crashreduz
* No longer allow sending an object (texture) to the server as material parameter * Keep a parameter cache locally in ShaderMaterial
2021-07-06Unify material parameter updatereduz
* Unifies how material parameters are updated. * Single function, easier to maintain. * Updates materials properly when textures change.