multiblend_vulkan_40_vs-ZFRAME0000003a
Zframe belongs to /dota_game_vulkan_v65/multiblend_vulkan_40_vs.vcs
View byte detail //multiblend_vulkan_40_vs.vcs-ZFRAME0000003a-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 1
S_MODE_DEPTH 0
S_SHADER_QUALITY 1
S_NORMAL_MAP 1
S_SPECULAR 1
S_SCROLL_WAVES 0
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)
[ 2] DotaGlobalParams_t 0 (00) 0 (00)
[ 4] PerViewConstantBuffer_t 1 (01) 18 (12)
[ 6] g_dotaGlobalDescSet 3 (03) 0 (00) // 7
[ 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) // 23
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)
[ 2] DotaGlobalParams_t 0 (00) 0 (00)
[ 4] PerViewConstantBuffer_t 1 (01) 18 (12)
[ 6] g_dotaGlobalDescSet 3 (03) 0 (00) // 7
[ 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) // 23
Dynamic (D-Param) configurations (40 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
[0A] _ _ _ 1 _ _ _ WRITESEQ[1] VULKAN[10] //source/10
[0B] 1 _ _ 1 _ _ _ WRITESEQ[1] VULKAN[11] //source/11
[0C] 2 _ _ 1 _ _ _ WRITESEQ[1] VULKAN[12] //source/12
[0D] 3 _ _ 1 _ _ _ WRITESEQ[1] VULKAN[13] //source/13
[0E] 4 _ _ 1 _ _ _ WRITESEQ[1] VULKAN[14] //source/14
[0F] _ 1 _ 1 _ _ _ WRITESEQ[1] VULKAN[15] //source/15
[10] 1 1 _ 1 _ _ _ WRITESEQ[1] VULKAN[16] //source/16
[11] 2 1 _ 1 _ _ _ WRITESEQ[1] VULKAN[17] //source/17
[12] 3 1 _ 1 _ _ _ WRITESEQ[1] VULKAN[18] //source/18
[13] 4 1 _ 1 _ _ _ WRITESEQ[1] VULKAN[19] //source/19
[28] _ _ _ _ _ 1 _ WRITESEQ[1] VULKAN[20] //source/20
[29] 1 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[21] //source/21
[2A] 2 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[22] //source/22
[2B] 3 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[23] //source/23
[2C] 4 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[24] //source/24
[2D] _ 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[25] //source/25
[2E] 1 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[26] //source/26
[2F] 2 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[27] //source/27
[30] 3 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[28] //source/28
[31] 4 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[29] //source/29
[32] _ _ _ 1 _ 1 _ WRITESEQ[1] VULKAN[30] //source/30
[33] 1 _ _ 1 _ 1 _ WRITESEQ[1] VULKAN[31] //source/31
[34] 2 _ _ 1 _ 1 _ WRITESEQ[1] VULKAN[32] //source/32
[35] 3 _ _ 1 _ 1 _ WRITESEQ[1] VULKAN[33] //source/33
[36] 4 _ _ 1 _ 1 _ WRITESEQ[1] VULKAN[34] //source/34
[37] _ 1 _ 1 _ 1 _ WRITESEQ[1] VULKAN[35] //source/35
[38] 1 1 _ 1 _ 1 _ WRITESEQ[1] VULKAN[36] //source/36
[39] 2 1 _ 1 _ 1 _ WRITESEQ[1] VULKAN[37] //source/37
[3A] 3 1 _ 1 _ 1 _ WRITESEQ[1] VULKAN[38] //source/38
[3B] 4 1 _ 1 _ 1 _ WRITESEQ[1] VULKAN[39] //source/39
// configuration states (80), leading summary
0 1 2 2 2 0 1 2 2 2 3 4 5 5 5 0
1 2 2 2 _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ 0 1 2 2 2 0 1 2
2 2 3 4 5 5 5 0 1 2 2 2 _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
// configuration states (80), trailing summary
512 512 512 512 512 512 512 512 512 512 512 512 512 512 512 512
512 512 512 512 _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ 512 512 512 512 512 512 512 512
512 512 512 512 512 512 512 512 512 512 512 512 _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
source bytes/flags
------------------
60 // possible control byte (96) or flags (01100000)
00 // values seen (0,1,2)
00 // always 0
00 // always 0
1 // values seen 0,1
40 // nr of source files
0 // values seen 0,1
End blocks
----------
28 00 00 00 // end blocks (40)
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 8024
01 00 00 00 00 00 00 00 01 00 00 00 58 1F 00 00
block-ref 2
arg0 0
source-ref 2
source-pointer 16708
02 00 00 00 00 00 00 00 02 00 00 00 44 41 00 00
block-ref 3
arg0 0
source-ref 3
source-pointer 26369
03 00 00 00 00 00 00 00 03 00 00 00 01 67 00 00
block-ref 4
arg0 0
source-ref 4
source-pointer 36030
04 00 00 00 00 00 00 00 04 00 00 00 BE 8C 00 00
block-ref 5
arg0 0
source-ref 5
source-pointer 45691
05 00 00 00 00 00 00 00 05 00 00 00 7B B2 00 00
block-ref 6
arg0 0
source-ref 6
source-pointer 54586
06 00 00 00 00 00 00 00 06 00 00 00 3A D5 00 00
block-ref 7
arg0 0
source-ref 7
source-pointer 64130
07 00 00 00 00 00 00 00 07 00 00 00 82 FA 00 00
block-ref 8
arg0 0
source-ref 8
source-pointer 74651
08 00 00 00 00 00 00 00 08 00 00 00 9B 23 01 00
block-ref 9
arg0 0
source-ref 9
source-pointer 85172
09 00 00 00 00 00 00 00 09 00 00 00 B4 4C 01 00
block-ref 10
arg0 0
source-ref 10
source-pointer 95693
0A 00 00 00 00 00 00 00 0A 00 00 00 CD 75 01 00
block-ref 11
arg0 0
source-ref 11
source-pointer 104181
0B 00 00 00 00 00 00 00 0B 00 00 00 F5 96 01 00
block-ref 12
arg0 0
source-ref 12
source-pointer 113334
0C 00 00 00 00 00 00 00 0C 00 00 00 B6 BA 01 00
block-ref 13
arg0 0
source-ref 13
source-pointer 123464
0D 00 00 00 00 00 00 00 0D 00 00 00 48 E2 01 00
block-ref 14
arg0 0
source-ref 14
source-pointer 133594
0E 00 00 00 00 00 00 00 0E 00 00 00 DA 09 02 00
block-ref 15
arg0 0
source-ref 15
source-pointer 143724
0F 00 00 00 00 00 00 00 0F 00 00 00 6C 31 02 00
block-ref 16
arg0 0
source-ref 16
source-pointer 153471
10 00 00 00 00 00 00 00 10 00 00 00 7F 57 02 00
block-ref 17
arg0 0
source-ref 17
source-pointer 163867
11 00 00 00 00 00 00 00 11 00 00 00 1B 80 02 00
block-ref 18
arg0 0
source-ref 18
source-pointer 175240
12 00 00 00 00 00 00 00 12 00 00 00 88 AC 02 00
block-ref 19
arg0 0
source-ref 19
source-pointer 186613
13 00 00 00 00 00 00 00 13 00 00 00 F5 D8 02 00
block-ref 40
arg0 0
source-ref 20
source-pointer 197986
28 00 00 00 00 00 00 00 14 00 00 00 62 05 03 00
block-ref 41
arg0 0
source-ref 21
source-pointer 206225
29 00 00 00 00 00 00 00 15 00 00 00 91 25 03 00
block-ref 42
arg0 0
source-ref 22
source-pointer 215129
2A 00 00 00 00 00 00 00 16 00 00 00 59 48 03 00
block-ref 43
arg0 0
source-ref 23
source-pointer 225010
2B 00 00 00 00 00 00 00 17 00 00 00 F2 6E 03 00
block-ref 44
arg0 0
source-ref 24
source-pointer 234891
2C 00 00 00 00 00 00 00 18 00 00 00 8B 95 03 00
block-ref 45
arg0 0
source-ref 25
source-pointer 244772
2D 00 00 00 00 00 00 00 19 00 00 00 24 BC 03 00
block-ref 46
arg0 0
source-ref 26
source-pointer 253887
2E 00 00 00 00 00 00 00 1A 00 00 00 BF DF 03 00
block-ref 47
arg0 0
source-ref 27
source-pointer 263651
2F 00 00 00 00 00 00 00 1B 00 00 00 E3 05 04 00
block-ref 48
arg0 0
source-ref 28
source-pointer 274392
30 00 00 00 00 00 00 00 1C 00 00 00 D8 2F 04 00
block-ref 49
arg0 0
source-ref 29
source-pointer 285133
31 00 00 00 00 00 00 00 1D 00 00 00 CD 59 04 00
block-ref 50
arg0 0
source-ref 30
source-pointer 295874
32 00 00 00 00 00 00 00 1E 00 00 00 C2 83 04 00
block-ref 51
arg0 0
source-ref 31
source-pointer 304582
33 00 00 00 00 00 00 00 1F 00 00 00 C6 A5 04 00
block-ref 52
arg0 0
source-ref 32
source-pointer 313955
34 00 00 00 00 00 00 00 20 00 00 00 63 CA 04 00
block-ref 53
arg0 0
source-ref 33
source-pointer 324305
35 00 00 00 00 00 00 00 21 00 00 00 D1 F2 04 00
block-ref 54
arg0 0
source-ref 34
source-pointer 334655
36 00 00 00 00 00 00 00 22 00 00 00 3F 1B 05 00
block-ref 55
arg0 0
source-ref 35
source-pointer 345005
37 00 00 00 00 00 00 00 23 00 00 00 AD 43 05 00
block-ref 56
arg0 0
source-ref 36
source-pointer 354972
38 00 00 00 00 00 00 00 24 00 00 00 9C 6A 05 00
block-ref 57
arg0 0
source-ref 37
source-pointer 365588
39 00 00 00 00 00 00 00 25 00 00 00 14 94 05 00
block-ref 58
arg0 0
source-ref 38
source-pointer 377181
3A 00 00 00 00 00 00 00 26 00 00 00 5D C1 05 00
block-ref 59
arg0 0
source-ref 39
source-pointer 388774
3B 00 00 00 00 00 00 00 27 00 00 00 A6 EE 05 00