Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

280 lines
8.0 KiB

  1. //-----------------------------------------------------------------------------
  2. // LOADADDRESS.VPC
  3. //
  4. // Contains the DLL/EXE Load Addresses. Generates the $LOADADDRESS_??? Macro from
  5. // an easily updated table. This feature is primarily to facilitate the mandatory
  6. // fixed address specification of 360 DLLs and thus efficient 360 packing of DLLs
  7. // into memory.
  8. //
  9. // Format:
  10. // $LoadAddressMacro <MacroName>
  11. // {
  12. // <ProjectName> <BaseAddress>
  13. // }
  14. //
  15. // $LoadAddressMacroAuto <MacroName> <BaseAddress>
  16. // {
  17. // <ProjectName> <Length>
  18. // }
  19. //
  20. // If "ProjectName" is not found, the "MacroName" will not be updated.
  21. // "ProjectName" is the internal short project name reference and is usually the name of
  22. // the project inside a group definition.
  23. //
  24. // "Length" is either floating point MB or integer bytes, and is used to successively
  25. // to determine the next base address.
  26. //-----------------------------------------------------------------------------
  27. // Explicitly defined "empty" only for WIN32 or WIN64 only because they are not required for WIN32 projects
  28. $Macro LOADADDRESS_DEVELOPMENT " " [$WINDOWS]
  29. $Macro LOADADDRESS_RETAIL " " [$WINDOWS]
  30. // NOTE!!! We ran out of address space on the 360. Since
  31. // shaderapi + rendersystemdx9 are never going to simultaneously be loaded,
  32. // we have rendersystemdx9 alias shaderapidx9 so they load in the same place.
  33. // The same trick is used for worldrenderer + resourcesystem + rendersystemtest/resourcesystemtest.
  34. $LoadAddressMacroAlias shaderapidx9
  35. {
  36. rendersystemdx9
  37. }
  38. $LoadAddressMacroAlias datacache
  39. {
  40. resourcesystem
  41. }
  42. $LoadAddressMacroAlias stdshader_dx9
  43. {
  44. worldrenderer
  45. }
  46. $LoadAddressMacroAlias materialsystem
  47. {
  48. rendersystemtest
  49. resourcesystemtest
  50. }
  51. $LoadAddressMacroAlias studiorender
  52. {
  53. meshsystem
  54. }
  55. $LoadAddressMacro LOADADDRESS_DEVELOPMENT
  56. {
  57. launcher_main 0x82000000 [$X360]
  58. simdtest 0x82000000 [$X360]
  59. }
  60. $LoadAddressMacro LOADADDRESS_RETAIL
  61. {
  62. launcher_main 0x82000000 [$X360]
  63. simdtest 0x82000000 [$X360]
  64. }
  65. // DLL address ranges padded to avoid overlap even for debug builds (160MB of 64KB-page virtual memory available for this)
  66. $LoadAddressMacroAuto LOADADDRESS_DEVELOPMENT 0x82200000 [$X360 && !$PORTAL2 && !$SWARM]
  67. {
  68. // top of chain, due to licensee lack of source restrictions
  69. vphysics 4.75
  70. tier0 1.69
  71. vstdlib 1.56
  72. filesystem_stdio 2.69
  73. inputsystem 1.31
  74. launcher 1.69
  75. SoundEmitterSystem 1.61
  76. SceneFileCache 1.06
  77. localize 1.56
  78. // this is vgui2
  79. vgui_dll 1.81
  80. vscript 1.94
  81. //aliased by resourcesystem
  82. datacache 2.38
  83. //aliased by rendersystemdx9
  84. shaderapidx9 8.56
  85. //aliased by worldrenderer
  86. stdshader_dx9 4.62
  87. //aliased by rendersystemtest and resourcesystemtest
  88. materialsystem 19.5
  89. vxbdm 1.06
  90. vguimatsurface 5.13
  91. //aliased by meshsystem
  92. studiorender 6.81
  93. engine 23.69
  94. client 25.12
  95. server 24.56
  96. matchmaking 2.81
  97. //total size of enumerated dlls
  98. //145.78
  99. }
  100. //Automatically generated! VPC with /define:VPCINFO . Build full debug, run with -dllinfo and paste the spewed table from vxconsole to realign
  101. $LoadAddressMacroAuto_Padded LOADADDRESS_DEVELOPMENT 0x82200000 [$X360 && $PORTAL2]
  102. {
  103. vphysics 4.625
  104. // vjobs 2.0
  105. datacache 2.3125
  106. engine 22.25
  107. filesystem_stdio 2.5625
  108. inputsystem 1.125
  109. launcher 1.4375
  110. localize 1.25
  111. materialsystem 5.375
  112. scenefilecache 0.8125
  113. shaderapidx9 13.1875
  114. soundemittersystem 1.375
  115. stdshader_dx9 4.1875
  116. studiorender 6.6875
  117. tier0 1.625
  118. vgui_dll 1.6875
  119. vguimatsurface 4.4375
  120. vscript 1.875
  121. vstdlib 1.6875
  122. vxbdm 0.9375
  123. client 25.75
  124. matchmaking 2.375
  125. server 26.4375
  126. }
  127. $LoadAddressMacroAuto_Padded LOADADDRESS_DEVELOPMENT 0x82200000 [$X360 && $SWARM]
  128. {
  129. vphysics 4.5
  130. // vjobs 2.0
  131. datacache 2.3125
  132. engine 22.0625
  133. filesystem_stdio 2.5625
  134. inputsystem 1.125
  135. launcher 1.4375
  136. localize 1.25
  137. materialsystem 5.3125
  138. missionchooser 6.375
  139. scenefilecache 0.8125
  140. shaderapidx9 8.1875
  141. soundemittersystem 1.375
  142. stdshader_dx9 4.125
  143. studiorender 6.625
  144. tier0 1.625
  145. vgui_dll 1.6875
  146. vguimatsurface 4.375
  147. vscript 1.875
  148. vstdlib 1.6875
  149. vxbdm 0.9375
  150. client 28.25
  151. matchmaking 2.3125
  152. server 28.5625
  153. }
  154. // Retail versions are expected to be minimally packed
  155. // UNDONE: remove this, there's no point packing for retail (this is a virtual memory range reserved for code!)
  156. $LoadAddressMacroAuto LOADADDRESS_RETAIL 0x82200000 [$X360]
  157. {
  158. // top of chain, due to licensee lack of source restrictions
  159. vphysics 2.5
  160. // vjobs 1.0
  161. tier0 1.0
  162. vstdlib 1.0
  163. filesystem_stdio 1.0
  164. inputsystem 1.0
  165. launcher 1.0
  166. SoundEmitterSystem 1.0
  167. SceneFileCache 1.0
  168. localize 0.5
  169. vgui_dll 1.0
  170. vscript 1.0
  171. //aliased by resourcesystem
  172. datacache 1.0
  173. //aliased by rendersystemdx9
  174. shaderapidx9 4.0
  175. //aliased by worldrenderer
  176. stdshader_dx9 1.5
  177. //aliased by rendersystemtest and resourcesystemtest
  178. materialsystem 3.5
  179. vxbdm 0.5
  180. vguimatsurface 1.5
  181. //aliased by meshsystem
  182. studiorender 4.5
  183. engine 6.0
  184. client 10.5
  185. server 15.5
  186. matchmaking 8.0
  187. }
  188. //-----------------------------------------------------------------------------
  189. //-----------------------------------------------------------------------------
  190. // [jason] For reference, the latest results of running the 360 build with -dllinfo:
  191. //-----------------------------------------------------------------------------
  192. //-----------------------------------------------------------------------------
  193. //-----------------------------------------------------------------------------
  194. // Debug - 1/25/2011
  195. //-----------------------------------------------------------------------------
  196. //0x826c0000, 1.44 MB, tier0_360.dll
  197. //0x85b10000, 0.81 MB, vxbdm_360.dll
  198. //0x82880000, 1.31 MB, vstdlib_360.dll
  199. //0x83180000, 0.81 MB, scenefilecache_360.dll
  200. //0x82fe0000, 1.38 MB, soundemittersystem_360.dll
  201. //0x83290000, 1.31 MB, localize_360.dll
  202. //0x82cd0000, 1.06 MB, inputsystem_360.dll
  203. //0x82e20000, 1.44 MB, launcher_360.dll
  204. //0x84790000, 16.44 MB, materialsystem_360.dll
  205. //0x83a60000, 8.31 MB, shaderapidx9_360.dll
  206. //0x86150000, 6.25 MB, studiorender_360.dll
  207. //0x82a10000, 2.25 MB, filesystem_stdio_360.dll
  208. //0x83420000, 1.56 MB, vgui2_360.dll
  209. //0x837f0000, 1.94 MB, datacache_360.dll
  210. //0x842f0000, 3.81 MB, stdshader_dx9_360.dll
  211. //0x835f0000, 1.63 MB, vscript_360.dll
  212. //0x85c20000, 4.81 MB, vguimatsurface_360.dll
  213. //0x82200000, 4.44 MB, vphysics_360.dll
  214. //0x86820000, 21.19 MB, engine_360.dll
  215. //0x8b190000, 2.56 MB, matchmaking_360.dll
  216. //0x89900000, 21.19 MB, server_360.dll
  217. //0x87fe0000, 22.69 MB, client_360.dll
  218. //-----------------------------------------------------------------------------
  219. // Release - 1/25/2011
  220. //-----------------------------------------------------------------------------
  221. // 0x826c0000, 0.50 MB, tier0_360.dll
  222. // 0x85b10000, 0.25 MB, vxbdm_360.dll
  223. // 0x82880000, 0.31 MB, vstdlib_360.dll
  224. // 0x83180000, 0.19 MB, scenefilecache_360.dll
  225. // 0x82fe0000, 0.31 MB, soundemittersystem_360.dll
  226. // 0x83290000, 0.25 MB, localize_360.dll
  227. // 0x82cd0000, 0.25 MB, inputsystem_360.dll
  228. // 0x82e20000, 0.31 MB, launcher_360.dll
  229. // 0x84790000, 5.44 MB, materialsystem_360.dll
  230. // 0x83a60000, 2.13 MB, shaderapidx9_360.dll
  231. // 0x86150000, 2.44 MB, studiorender_360.dll
  232. // 0x82a10000, 0.50 MB, filesystem_stdio_360.dll
  233. // 0x83420000, 0.31 MB, vgui2_360.dll
  234. // 0x837f0000, 0.38 MB, datacache_360.dll
  235. // 0x842f0000, 0.81 MB, stdshader_dx9_360.dll
  236. // 0x835f0000, 0.44 MB, vscript_360.dll
  237. // 0x85c20000, 1.13 MB, vguimatsurface_360.dll
  238. // 0x82200000, 1.06 MB, vphysics_360.dll
  239. // 0x86820000, 7.19 MB, engine_360.dll
  240. // 0x8b190000, 0.63 MB, matchmaking_360.dll
  241. // 0x89900000, 7.69 MB, server_360.dll
  242. // 0x87fe0000, 7.50 MB, client_360.dll