multiblend_vulkan_40_vs-ZFRAME00000040
Zframe belongs to /dota_game_vulkan_v65/multiblend_vulkan_40_vs.vcs
View byte detail //multiblend_vulkan_40_vs.vcs-ZFRAME00000040-databytes

Configuration
-------------
The static configuration this zframe belongs to (zero or more static parameters)

S_TRANSFORM_CONSTANT_BUFFER    0
S_TOOLS_ENABLED                0
S_MODE_FORWARD                 0
S_MODE_DEPTH                   0
S_SHADER_QUALITY               0
S_NORMAL_MAP                   0
S_SPECULAR                     0
S_SCROLL_WAVES                 1
S_WORLDSPACE_UVS               0
S_NO_VERTEX_COLOR              0


ZFrame Headers
--------------
VertexPaintUI4Layer                      0x5adfe5c5     09 FF FF   1
VertexPaintUIPickColor                   0x643bc8aa     09 FF FF   1
VertexPaintUILayerOrderBGRA              0xad12291a     09 FF FF   1


Parameter write sequences
-------------------------
This data (thought to be buffer write sequences) appear to be linked to the dynamic (D-param) configurations;
each configuration points to exactly one sequence. WRITESEQ[0] is always defined and considered 'default'.


WRITESEQ[0] (default)               dest        control
[ 31] g_tTransformTexture              0 (00)         0 (00)
[  0] AddressU                         0 (00)         0 (00)
[  1] AddressV                         0 (00)         0 (00)
[  3] Filter                           0 (00)         0 (00)
[  4] PerViewConstantBuffer_t          1 (01)        18 (12)
[  6] g_dotaGlobalDescSet              3 (03)         0 (00)   // 6
[ 27] g_flTexCoordScale0               0 (00)         0 (00)
[ 28] g_flTexCoordScale1               1 (01)         0 (00)
[ 29] g_flTexCoordScale2               2 (02)         0 (00)
[ 23] g_flTexCoordRotate0              3 (03)         0 (00)
[ 24] g_flTexCoordRotate1              4 (04)         0 (00)
[ 25] g_flTexCoordRotate2              5 (05)         0 (00)
[ 36] g_vTexCoordScroll0               6 (06)         0 (00)
[ 37] g_vTexCoordScroll1               8 (08)         0 (00)
[ 38] g_vTexCoordScroll2              10 (0A)         0 (00)
[ 32] g_vTexCoordOffset0              12 (0C)         0 (00)
[ 33] g_vTexCoordOffset1              14 (0E)         0 (00)
[ 34] g_vTexCoordOffset2              16 (10)         0 (00)
[ 30] g_flTexCoordScale3              18 (12)         0 (00)
[ 26] g_flTexCoordRotate3             19 (13)         0 (00)
[ 39] g_vTexCoordScroll3              20 (14)         0 (00)
[ 35] g_vTexCoordOffset3              22 (16)         0 (00)
[ 11] g_flScrollWaveHeight0           24 (18)         0 (00)
[ 19] g_flScrollWaveSecondsPerCycle0  25 (19)         0 (00)
[ 15] g_flScrollWaveOffsetSeconds0    26 (1A)         0 (00)
[  7] g_flScrollWaveCycleSkip0        27 (1B)         0 (00)
[ 12] g_flScrollWaveHeight1           28 (1C)         0 (00)
[ 20] g_flScrollWaveSecondsPerCycle1  29 (1D)         0 (00)
[ 16] g_flScrollWaveOffsetSeconds1    30 (1E)         0 (00)
[  8] g_flScrollWaveCycleSkip1        31 (1F)         0 (00)
[ 13] g_flScrollWaveHeight2           32 (20)         0 (00)
[ 21] g_flScrollWaveSecondsPerCycle2  33 (21)         0 (00)
[ 17] g_flScrollWaveOffsetSeconds2    34 (22)         0 (00)
[  9] g_flScrollWaveCycleSkip2        35 (23)         0 (00)
[ 14] g_flScrollWaveHeight3           36 (24)         0 (00)
[ 22] g_flScrollWaveSecondsPerCycle3  37 (25)         0 (00)
[ 18] g_flScrollWaveOffsetSeconds3    38 (26)         0 (00)
[ 10] g_flScrollWaveCycleSkip3        39 (27)         0 (00)   // 38

WRITESEQ[1]                         dest        control
[ 31] g_tTransformTexture              0 (00)         0 (00)
[  3] Filter                           0 (00)         0 (00)
[  0] AddressU                         0 (00)         0 (00)
[  1] AddressV                         0 (00)         0 (00)
[  4] PerViewConstantBuffer_t          1 (01)        18 (12)
[  6] g_dotaGlobalDescSet              3 (03)         0 (00)   // 6
[ 27] g_flTexCoordScale0               0 (00)         0 (00)
[ 28] g_flTexCoordScale1               1 (01)         0 (00)
[ 29] g_flTexCoordScale2               2 (02)         0 (00)
[ 23] g_flTexCoordRotate0              3 (03)         0 (00)
[ 24] g_flTexCoordRotate1              4 (04)         0 (00)
[ 25] g_flTexCoordRotate2              5 (05)         0 (00)
[ 36] g_vTexCoordScroll0               6 (06)         0 (00)
[ 37] g_vTexCoordScroll1               8 (08)         0 (00)
[ 38] g_vTexCoordScroll2              10 (0A)         0 (00)
[ 32] g_vTexCoordOffset0              12 (0C)         0 (00)
[ 33] g_vTexCoordOffset1              14 (0E)         0 (00)
[ 34] g_vTexCoordOffset2              16 (10)         0 (00)
[ 30] g_flTexCoordScale3              18 (12)         0 (00)
[ 26] g_flTexCoordRotate3             19 (13)         0 (00)
[ 39] g_vTexCoordScroll3              20 (14)         0 (00)
[ 35] g_vTexCoordOffset3              22 (16)         0 (00)
[ 11] g_flScrollWaveHeight0           24 (18)         0 (00)
[ 19] g_flScrollWaveSecondsPerCycle0  25 (19)         0 (00)
[ 15] g_flScrollWaveOffsetSeconds0    26 (1A)         0 (00)
[  7] g_flScrollWaveCycleSkip0        27 (1B)         0 (00)
[ 12] g_flScrollWaveHeight1           28 (1C)         0 (00)
[ 20] g_flScrollWaveSecondsPerCycle1  29 (1D)         0 (00)
[ 16] g_flScrollWaveOffsetSeconds1    30 (1E)         0 (00)
[  8] g_flScrollWaveCycleSkip1        31 (1F)         0 (00)
[ 13] g_flScrollWaveHeight2           32 (20)         0 (00)
[ 21] g_flScrollWaveSecondsPerCycle2  33 (21)         0 (00)
[ 17] g_flScrollWaveOffsetSeconds2    34 (22)         0 (00)
[  9] g_flScrollWaveCycleSkip2        35 (23)         0 (00)
[ 14] g_flScrollWaveHeight3           36 (24)         0 (00)
[ 22] g_flScrollWaveSecondsPerCycle3  37 (25)         0 (00)
[ 18] g_flScrollWaveOffsetSeconds3    38 (26)         0 (00)
[ 10] g_flScrollWaveCycleSkip3        39 (27)         0 (00)   // 38


Dynamic (D-Param) configurations (10 defined)
---------------------------------------------
Each dynamic parameters has 1 or more defined states. The disabled state (0) is shown as '_'
All permitted configurations are listed with their matching write sequence and GPU source (there is exactly
one of these for each configuration). To save space, the parameter names (original names starting with D_)
are shortened to 3-5 length strings (shown in parenthesis).

D_BLEND_WEIGHT_COUNT(bwc), D_COMPRESSED_NORMALS_AND_TANGENTS(cnat), D_SFM_LIGHTING(sfm_l), D_NORMAL_MAP(nor_m)
D_WORLDSPACE_TEXCOORDS(wor_t), D_ENABLE_USER_CLIP_PLANE(eucp), D_REDUCE_INTERPOLATORS(red_i)

        bwc  cnat sfm_l nor_m wor_t  eucp red_i
[00]      _     _     _     _     _     _     _   WRITESEQ[1] VULKAN[0] //source/0
[01]      1     _     _     _     _     _     _   WRITESEQ[1] VULKAN[1] //source/1
[02]      2     _     _     _     _     _     _   WRITESEQ[1] VULKAN[2] //source/2
[03]      3     _     _     _     _     _     _   WRITESEQ[1] VULKAN[3] //source/3
[04]      4     _     _     _     _     _     _   WRITESEQ[1] VULKAN[4] //source/4
[05]      _     1     _     _     _     _     _   WRITESEQ[1] VULKAN[5] //source/5
[06]      1     1     _     _     _     _     _   WRITESEQ[1] VULKAN[6] //source/6
[07]      2     1     _     _     _     _     _   WRITESEQ[1] VULKAN[7] //source/7
[08]      3     1     _     _     _     _     _   WRITESEQ[1] VULKAN[8] //source/8
[09]      4     1     _     _     _     _     _   WRITESEQ[1] VULKAN[9] //source/9


// configuration states (80), leading summary

0       1       2       2       2       0       1       2       2       2       _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _

// configuration states (80), trailing summary

512     512     512     512     512     512     512     512     512     512     _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _       
_       _       _       _       _       _       _       _       _       _       _       _       _       _       _       _


source bytes/flags
------------------
A0      // possible control byte (160) or flags (10100000)
00      // values seen (0,1,2)
00      // always 0
00      // always 0
1       // values seen 0,1
10      // nr of source files
0       // values seen 0,1


End blocks
----------
0A 00 00 00   // end blocks (10)

block-ref         0
arg0              0
source-ref        0
source-pointer    5
00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00

block-ref         1
arg0              0
source-ref        1
source-pointer    10788
01 00 00 00 00 00 00 00 01 00 00 00 24 2A 00 00

block-ref         2
arg0              0
source-ref        2
source-pointer    22236
02 00 00 00 00 00 00 00 02 00 00 00 DC 56 00 00

block-ref         3
arg0              0
source-ref        3
source-pointer    34661
03 00 00 00 00 00 00 00 03 00 00 00 65 87 00 00

block-ref         4
arg0              0
source-ref        4
source-pointer    47086
04 00 00 00 00 00 00 00 04 00 00 00 EE B7 00 00

block-ref         5
arg0              0
source-ref        5
source-pointer    59511
05 00 00 00 00 00 00 00 05 00 00 00 77 E8 00 00

block-ref         6
arg0              0
source-ref        6
source-pointer    71170
06 00 00 00 00 00 00 00 06 00 00 00 02 16 01 00

block-ref         7
arg0              0
source-ref        7
source-pointer    83478
07 00 00 00 00 00 00 00 07 00 00 00 16 46 01 00

block-ref         8
arg0              0
source-ref        8
source-pointer    96763
08 00 00 00 00 00 00 00 08 00 00 00 FB 79 01 00

block-ref         9
arg0              0
source-ref        9
source-pointer    110048
09 00 00 00 00 00 00 00 09 00 00 00 E0 AD 01 00