Age | Commit message (Collapse) | Author |
|
|
|
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
|
|
Fix incorrect subpass dependency initialization
|
|
-Allows merging several 2D objects into a single draw operation
-Use current node to clip children nodes
-Further fixes to Vulkan barriers
-Changed font texture generation to white, fixes dark eges when blurred
-Other small misc fixes to backbuffer code.
|
|
This commit moves the declaration of a local variable to ensure its
scope survives long enough; at least in some versions of GCC and LLVM
the associated memory was freed too early and thus caused issues ranging
from black screens to crashes.
|
|
-Removed normal/specular properties from nodes
-Create CanvasTexture, which can contain normal/specular channels
-Refactored, optimized and simplified 2D shaders
-Use atlas for light textures.
-Use a shadow atlas for shadow textures.
-Use both items aboves to make light rendering stateless (faster).
-Reorganized uniform sets for more efficiency.
|
|
|
|
previous patches)""
|
|
previous patches)"
|
|
|
|
Cause buffer_update to emit error if called during compute/draw list
|
|
Add a barrier to "safe" the buffer update write from previous accesses
to buffer range being updated. Remove duplicate unneed barrier.
|
|
Add additional source and dest mask bits for "from external" and "to
external" subpass dependencies (respectively) when intial and final
layouts cause implicit layout transitions.
This is a big hammer -- any transition in a given direction will create
a full barrier. Attachment specific stage and access flags could be
used instead with additional logic to deduce the prior and intended
subsequent usages.
|
|
Make pre and post barriers non-conditional on format, as there are cases
where pending operations in the GENERAL layout hazarding with clear.
|
|
Changed srcStageMask to the valid stage for post transfer barrier.
|
|
Additional synchronization fixes from hazards arising from disabling
FORCE_FULL_BARRIER.
|
|
Change the srcStageMasks and dstStageMasks for the storage texture end
draw barriers to refer to the correct stages for the use.
|
|
Add barrier for source buffer when getting. Refactor common "owner and
stage/access" code to utility function.
|
|
Added the fragment stage to the texture copy and resolve final barriers
for source and dest. As the textures could subsequently be used by the
fragment stage, this was triggering a validation error from the
pre-alpha synchronization validation.
|
|
|
|
Add error message to buffer update if a compute or draw list is active.
|
|
The changes from #38835 were not sufficient to fix #38829, as VkClearAttachment
still had uninitialized member structs in its VkClearColor member struct.
The struct rabbit hole goes deep and trying to do validation as done in #38829
doesn't appear realistic.
|
|
Fix may be used unitialized warnings in _render_pass_create() and _draw_list_insert_clear_region().
|
|
Fix spelling & grammar in comments, docs, and messages
|
|
|
|
|
|
Move GI to a deferred pass
|
|
Supersedes and closes #38945.
|
|
and _draw_list_insert_clear_region()
|
|
Silence mulitple may be used uninitialized warnings in RenderingDeviceVulkan::uniform_set_create()
|
|
RenderingDeviceVulkan::uniform_set_create()
|
|
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
-o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
-o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```
This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.
This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.
Part of #33027.
|
|
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.
|
|
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
|
|
Part of #33027.
|
|
|
|
Also added an easier way to load native GLSL shaders.
Extras:
Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.
Note:
The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
|
|
|
|
|
|
Also implemented decal atlas, so projectors and other stuff can be added.
Sidenote: Had to make RID hashable, so some unrelated includes changed
in order to include it in hashfuncs.h
|
|
|
|
Moved most of the effect code to compute.
|
|
Simplifies it and improves performance.
Improves image barrier handling per mipmap on RenderingDeviceVulkan
|
|
Also fixed GPU profiler, which was not working on nvidia hardware.
|
|
Vulkan rendering support on Android
|
|
|
|
Fix leak with Vulkan allocator
|
|
Fixed leak with vertex_formats
|
|
|
|
Some Vulkan types are defined as "non dispatchable handles" and use a
different typedef on 32-bit and 64-bit systems (struct pointer on
64-bit, `uint64_t` otherwise).
https://github.com/KhronosGroup/Vulkan-Headers/blob/0e78ffd1dcfc3e9f14a966b9660dbc59bd967c5c/include/vulkan/vulkan_core.h#L59-L65
Contrarily to `NULL`, `nullptr` can't be converted to `uint64_t` so
build was now failing on 32-bit after converting the codebase from
using `NULL` to `nullptr`.
Fixes #37620.
|