Skip to content

Commit 5b76e08

Browse files
committed
sync on 2026/06/13, rev 12ee3f21d4555dd6a142986ef3d38645f1c0a33e
1 parent 2b25b78 commit 5b76e08

1,371 files changed

Lines changed: 64512 additions & 14189 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

DagorEngine.rev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6069dec2fc94ad2fe48465cbe051c3c8b95fdffc
1+
12ee3f21d4555dd6a142986ef3d38645f1c0a33e

LICENSE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ third-party component as follows:
8989
prog/3rdPartyLibs/arc/zstd-1.4.5/LICENSE
9090
prog/3rdPartyLibs/arc/zstd-1.5.7/COPYING
9191
prog/3rdPartyLibs/arc/zstd-1.5.7/LICENSE
92+
prog/3rdPartyLibs/arm_asr/LICENSE
9293
prog/3rdPartyLibs/assimp/contrib/poly2tri/LICENSE
9394
prog/3rdPartyLibs/assimp/LICENSE
9495
prog/3rdPartyLibs/bencode/LICENSE

_docs/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
sys.path.insert(0, os.path.abspath('source/'))
1414
sys.path.insert(0, os.path.abspath('.'))
1515
sys.path.insert(0, os.path.abspath('..'))
16+
sys.path.append(os.path.abspath("../eden/prog/docs/source"))
1617

1718
# ==============================================================================
1819
# General configuration

_docs/source/api-references/dagor-dshl/index/keywords.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,8 @@ Graphics pipeline settings
219219
- blend_adst
220220
- blend_src
221221
- blend_dst
222+
- blend_op
223+
- blend_aop
222224

223225
- cull_mode
224226
- alpha_to_coverage

_docs/source/api-references/dagor-dshl/index/pipeline-states.rst

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ Example:
8383
blend_asrc = sa; blend_adst = 1;
8484
8585
.. warning::
86-
Blending *operations* (as well as blending constants for ``bf`` and ``ibf`` blending modes) need to be configured in C++ code.
86+
Blend *constants* for the ``bf`` and ``ibf`` factors still need to be configured in C++ code.
87+
Blend *operations*, however, can be set directly in DSHL -- see **Blend operation** below.
8788

8889
If you don't configure blending factors in the shader, these defaults will be used:
8990

@@ -92,17 +93,66 @@ If you don't configure blending factors in the shader, these defaults will be us
9293
blend_src = 1; blend_dst = 0;
9394
blend_asrc = 1; blend_adst = 0;
9495
96+
**Blend operation**
97+
98+
The weighted source and destination values are combined with a *blend operation* --
99+
the ``<colorBlendOp>`` / ``<alphaBlendOp>`` in the pseudocode above. By default this is
100+
addition; it can be changed with these state variables:
101+
102+
- ``blend_op`` -- RGB blend operation
103+
- ``blend_aop`` -- alpha blend operation
104+
105+
Each accepts one of the following operations:
106+
107+
- ``add`` -- ``src + dst`` (default)
108+
- ``min`` -- ``min(src, dst)``
109+
- ``max`` -- ``max(src, dst)``
110+
111+
Example (max blending):
112+
113+
.. code-block:: c
114+
115+
blend_src = 1; blend_dst = 1;
116+
blend_op = max;
117+
118+
.. note::
119+
Only ``add``, ``min`` and ``max`` are exposed in DSHL.
120+
The hardware ``subtract`` / ``revsubtract`` operations are not available here.
121+
122+
If you don't set an operation, it defaults to ``add``.
123+
124+
.. important::
125+
``blend_op`` and ``blend_aop`` only have an effect when blending is enabled for the
126+
target, i.e. when its ``blend_src`` and ``blend_dst`` factors are set.
127+
128+
``blend_aop`` additionally requires *separate alpha blending*, which is turned on by
129+
setting the separate alpha factors ``blend_asrc`` **and** ``blend_adst`` -- **not** by
130+
setting ``blend_aop`` itself. If the separate alpha factors are not set, the alpha
131+
channel reuses the color operation ``blend_op``, and ``blend_aop`` (including its
132+
``add`` default) is ignored.
133+
134+
So, with blending enabled, setting only ``blend_op = max`` (no ``blend_aop``, no
135+
separate alpha factors) makes **both** color and alpha blend with ``max``. To give
136+
alpha a different operation you must also set ``blend_asrc`` / ``blend_adst``.
137+
138+
Like blend factors, ``blend_op`` / ``blend_aop`` can be indexed per render target
139+
for independent blending (see below).
140+
141+
.. warning::
142+
Dual-source blending (the ``sc1`` / ``isc1`` / ``sa1`` / ``isa1`` factors)
143+
only supports the ``add`` blend operation.
144+
95145
**Independent blending**
96146

97147
Dagor supports independent blending, i.e. different render targets may have different blending settings.
98-
This is done by providing an index to ``blend_src, blend_dst, blend_asrc, blend_adst`` variables with ``[]`` operator.
148+
This is done by providing an index to ``blend_src, blend_dst, blend_asrc, blend_adst, blend_op, blend_aop`` variables with ``[]`` operator.
99149

100150
.. code-block:: c
101151
102152
blend_src[0] = 1; blend_dst[0] = 0;
103153
blend_src[1] = 0; blend_dst[1] = 1;
104154
105-
Without an index, the desired blend factor affects all render targets.
155+
Without an index, the value affects all render targets.
106156

107157
-------------
108158
Depth/Stencil

make_devtools_linux.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ def download_url(url):
120120
elif is_altlinux:
121121
pkg_install_cmd = 'apt-get install'
122122
pkg_to_install += ['python3-module-pip', 'clang21.1', 'libclang21', 'libasan-devel-static']
123-
pkg_to_install += ['libX11-devel', 'libXrandr-devel', 'libfltk-devel', 'libxkbfile-devel', 'libudev-devel', 'libpulseaudio-devel', 'libalsa-devel', 'libuuid-devel']
123+
pkg_to_install += ['libX11-devel', 'libXrandr-devel', 'libXcursor-devel', 'libfltk-devel', 'libxkbfile-devel', 'libxkbcommon-devel',
124+
'libudev-devel', 'libpulseaudio-devel', 'libalsa-devel', 'libuuid-devel']
124125
elif is_elbrus_linux:
125126
pkg_install_cmd = 'apt install'
126127
pkg_to_install = ['python3-pip']

outerSpace/prog/jamfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ if $(Dedicated) != yes {
219219
platform/android.bundle/$(Game)/src/$(JavaActivitySrcName).java src/com/gaijinent/$(BundleName)/$(JavaActivitySrcName).java
220220
@$(Root)/prog/gameLibs/android/platform/android.bundle/src/$(AndroidCommonPackage)/DagorCommonActivity.java src/$(AndroidCommonPath)/DagorCommonActivity.java
221221
@$(Root)/prog/gameLibs/android/platform/android.bundle/src/$(AndroidCommonPackage)/DagorBaseActivity.java src/$(AndroidCommonPath)/DagorBaseActivity.java
222-
@$(Root)/prog/gameLibs/android/platform/android.bundle/src/$(AndroidCommonPackage)/DagorThermal.java src/$(AndroidCommonPath)/DagorThermal.java
223222
@$(FmodStudioLowLibPath)/../fmod.jar libs/fmod.jar
224223
@$(upd_so) libs/$(PlatformArch)/libupdater.so
225224
platform/android/config.blk assets/config.blk

0 commit comments

Comments
 (0)