multiblend_vulkan_40_vs-ZFRAME00000002
Zframe belongs to /dota_game_vulkan_v65/multiblend_vulkan_40_vs.vcs
View byte detail //multiblend_vulkan_40_vs.vcs-ZFRAME00000002-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 0
S_NORMAL_MAP 0
S_SPECULAR 0
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)
[ 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) // 22
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) // 22
Dynamic (D-Param) configurations (20 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
[28] _ _ _ _ _ 1 _ WRITESEQ[1] VULKAN[10] //source/10
[29] 1 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[11] //source/11
[2A] 2 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[12] //source/12
[2B] 3 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[13] //source/13
[2C] 4 _ _ _ _ 1 _ WRITESEQ[1] VULKAN[14] //source/14
[2D] _ 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[15] //source/15
[2E] 1 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[16] //source/16
[2F] 2 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[17] //source/17
[30] 3 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[18] //source/18
[31] 4 1 _ _ _ 1 _ WRITESEQ[1] VULKAN[19] //source/19
// configuration states (80), leading summary
0 1 2 2 2 0 1 2 2 2 _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ 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 _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ 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
20 // nr of source files
0 // values seen 0,1
End blocks
----------
14 00 00 00 // end blocks (20)
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 7684
01 00 00 00 00 00 00 00 01 00 00 00 04 1E 00 00
block-ref 2
arg0 0
source-ref 2
source-pointer 16028
02 00 00 00 00 00 00 00 02 00 00 00 9C 3E 00 00
block-ref 3
arg0 0
source-ref 3
source-pointer 25349
03 00 00 00 00 00 00 00 03 00 00 00 05 63 00 00
block-ref 4
arg0 0
source-ref 4
source-pointer 34670
04 00 00 00 00 00 00 00 04 00 00 00 6E 87 00 00
block-ref 5
arg0 0
source-ref 5
source-pointer 43991
05 00 00 00 00 00 00 00 05 00 00 00 D7 AB 00 00
block-ref 6
arg0 0
source-ref 6
source-pointer 52546
06 00 00 00 00 00 00 00 06 00 00 00 42 CD 00 00
block-ref 7
arg0 0
source-ref 7
source-pointer 61750
07 00 00 00 00 00 00 00 07 00 00 00 36 F1 00 00
block-ref 8
arg0 0
source-ref 8
source-pointer 71931
08 00 00 00 00 00 00 00 08 00 00 00 FB 18 01 00
block-ref 9
arg0 0
source-ref 9
source-pointer 82112
09 00 00 00 00 00 00 00 09 00 00 00 C0 40 01 00
block-ref 40
arg0 0
source-ref 10
source-pointer 92293
28 00 00 00 00 00 00 00 0A 00 00 00 85 68 01 00
block-ref 41
arg0 0
source-ref 11
source-pointer 100192
29 00 00 00 00 00 00 00 0B 00 00 00 60 87 01 00
block-ref 42
arg0 0
source-ref 12
source-pointer 108756
2A 00 00 00 00 00 00 00 0C 00 00 00 D4 A8 01 00
block-ref 43
arg0 0
source-ref 13
source-pointer 118297
2B 00 00 00 00 00 00 00 0D 00 00 00 19 CE 01 00
block-ref 44
arg0 0
source-ref 14
source-pointer 127838
2C 00 00 00 00 00 00 00 0E 00 00 00 5E F3 01 00
block-ref 45
arg0 0
source-ref 15
source-pointer 137379
2D 00 00 00 00 00 00 00 0F 00 00 00 A3 18 02 00
block-ref 46
arg0 0
source-ref 16
source-pointer 146154
2E 00 00 00 00 00 00 00 10 00 00 00 EA 3A 02 00
block-ref 47
arg0 0
source-ref 17
source-pointer 155578
2F 00 00 00 00 00 00 00 11 00 00 00 BA 5F 02 00
block-ref 48
arg0 0
source-ref 18
source-pointer 165979
30 00 00 00 00 00 00 00 12 00 00 00 5B 88 02 00
block-ref 49
arg0 0
source-ref 19
source-pointer 176380
31 00 00 00 00 00 00 00 13 00 00 00 FC B0 02 00