VoidsShadow

dgVoodoo WIP 60_1 ReadMe

May 30th, 2019
434
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.12 KB | None | 0 0
  1. Extracted from dgVoodooWIP60_1.zip
  2. Downloaded from http://dege.freeweb.hu/temp/
  3. ___________
  4.  
  5.  
  6.  
  7.  
  8. dgVoodoo WIP only version
  9. -------------------------
  10.  
  11. =========================
  12. WIP51:
  13. =========================
  14.  
  15. Altough this is versioned as 2.55.5, it's compiled from the main dev branch (I was sluggard to raise version).
  16. This version contains a lot of refactored code, so I might have broken things in spite of continuous testing.
  17.  
  18. - First version of D3D9 (shader model 1.x) is added (quite untested)
  19. - Refactored code
  20.  
  21. =========================
  22. WIP52:
  23. =========================
  24.  
  25. - Regression bug in D3D8 shader cache, fixed (Star Wars Republic Commando)
  26. - Adding support for textures/surfaces with YUV formats (UYVY, YUY2) for D3D8/9 (Serious Sam 2 movie playback)
  27. - Lot of D3D9 bugfixing
  28. - Some general refactoring
  29.  
  30. =========================
  31. WIP53:
  32. =========================
  33.  
  34. I have a large commit list in my repo, so briefly:
  35.  
  36. - Support for shader model 2.x (D3D9)
  37. * ps.2.x - supported (hw execution, full feature set)
  38. * vs.2.x - supported (hw/sw execution, full feature set)
  39.  
  40. * ps.2.sw - not supported (designed for sw execution, supported only by the reference D3D9 rasterizer, development purposes)
  41. * vs.2.sw - not supported (designed only for sw execution, development purposes)
  42. - Needed refactoring + implementing some missing D3D9 features
  43. - Implementing D3DPERF* function family
  44. - Some bugfixes for D3D8/9, related to stateblocks + other things
  45.  
  46. =========================
  47. WIP54:
  48. =========================
  49.  
  50. A large commit list again, so
  51.  
  52. - Adding support for float type textures/rts/surfaces
  53. - Effort on avoiding stuttering caused by on-the-fly shader creation (DX8/9)
  54. It's not perfect yet but I'm planning to do further optimizations later
  55. - Fixing a lot of bugs related to shader validation/translation and vertex input binding
  56. - Fixing D3D9 state block related things (D3DX)
  57. - Incompatible D3D9 fogging, fixed
  58. - Fix for grTexCalcMemRequired for more compatibility with real drivers (Glide 1/2)
  59. - Optimizing D3D9 StretchRect (The Witcher)
  60. - Support for simultaneous texture/rt usage (D3D6-9)
  61. - Various other fix in internal functions, like texture create/update/lock parameter validation
  62. - Other fixes I don't want to word (as usual :) )
  63.  
  64. =========================
  65. WIP54_1:
  66. =========================
  67.  
  68. - Fix for x64 Glide libraries
  69. - 2 bugs causing crashes in D3D/D3D9 are fixed
  70. - some more error message are added to the D3D9 debug layer
  71.  
  72. =========================
  73. WIP55:
  74. =========================
  75.  
  76. - Multiple Render Targets (4 for the Internal Virtual card) with independent write masks (D3D9)
  77. - All 16 bit norm/float + 32 bit float texture formats are supported (D3D9)
  78. - Supporting the same color formats for volume textures that are available for 2d/cube textures
  79. (except P8, D3D8/9)
  80. - Support for auto-generating mipmaps for 2d/cube textures (D3D9)
  81. - Support for SRGB texture sampling (D3D9, The Sims 3)
  82. - Support for SRGB render target (D3D9)
  83. - Bug in ps_2_x validator, fixed (The Sims 3)
  84. - Fixing D3D9 depth bias
  85. - Support for USHORT2/4N and FLOAT16_2/4 vertex component formats (D3D9)
  86. - Some fixes in the D3D9 debug layer
  87. - Other small fixes and optimizations
  88.  
  89. =========================
  90. WIP56:
  91. =========================
  92.  
  93. - D3D9 query issuing bug + a D3D9 object handling bug, fixed (UT3)
  94. - Missing dithering on 16 bit surfaces in all D3D versions, fixed (regression bug)
  95. - Support for vertex element types UDEC3/DEC3N for sw/virtual sw vertex processing (Spore)
  96. - vs_2_x validation/code generation bug, fixed (Starship Troopers, UT3)
  97. - Some bugs found in FF sw vertex processing, fixed
  98. - Bug of drawing to SRGB rendertargets, fixed (EYE)
  99. - Adding an implementation of Direct3DShaderValidator9 object (Bad Day LA)
  100. - Enabling D3DFVF_XYZW for vs input (Boiling Point: Roadway to Hell)
  101. - Incompatibility in D3D8/9 Set/Get/Free private resource data, fixed (Dreamfall - The Longest Journey)
  102. - Fixing D3D9 SetDialogBoxMode (Dragonshard)
  103. - D3D9 init bug, fixed (The Suffering)
  104. - Incompatibility of validating lock flags for non-dynamic surfaces, fixed (Knights Of the Temple 2)
  105. - Incompatibility of handling default scissor rect, fixed (Knights Of the Temple 2)
  106. - Bug in validating texture creating parameters and return values, fixed (Kohan II Kings of War Warchest)
  107. - Some D3D8/9 multithreading bugs are found, fixed
  108. - Some other minor internal bugs/leaks are fixed
  109.  
  110. =========================
  111. WIP57:
  112. =========================
  113.  
  114. - Support for D3D9 Shader Model 3
  115. * ps_3_0 full feature set
  116. * vs_3_0 full feature set - TEXLDL (texture sampling) is not yet implemented for sw execution of the shader
  117. - Stream source step rate + instanced drawing is implemented
  118. - Format A2R10G10B10 (HDR) is now supported for display modes and textures/surfaces (D3D9, ATI tech demos)
  119. - Support for non-standard DF16/DF24 depth buffers - but they don't yet work properly :DD (D3D9, ATI tech demos)
  120. - Wrapper version is raised to 2.6
  121. - New option 'DirectXExt\AdapterIDType' for cosily defining an nVidia, AMD or Intel driver-type information
  122. to the applications (unfortunately some games rely on them)
  123. - New option 'GeneralExt\DesktopBitDepth' to override the real bit depth reported by dgVoodoo
  124. - Various shader/sw vertex processing/other bugs I encountered are fixed
  125. - Some internal things are also changed so I may also screwed up something
  126.  
  127. =========================
  128. WIP58:
  129. =========================
  130.  
  131. - Restoring shader signatures for VorPX
  132. - Minor shader compiling optimization
  133. - Full support for 'DF16' and 'DF24' texture formats
  134. - Implementing depth-only rendering (shadows in ATI tech demo Assassin)
  135. - D3D9 Multi-rt Clear bug (scene demo Birostris)
  136. - Improved rt + depthstencil validating (Donald Duck remastered + some scene demos)
  137. - sm3 - non-sm3 pipeline linkage bugs (Strania + scene demo Crush)
  138. - Fixing a bug in sm3 shader validator(s) + flowcontrol validator
  139. - Some shader code generation bugs are fixed (e.g. a ps_1_x regression one in BloodRayne 2)
  140. - First version of x64 D3D9 (tested only with UT2004 and Oxenfree)
  141. - More optimal D3D system memory usage in general
  142. - More optimal D3D video memory usage in general
  143. - Optimized memory usage for DirectDraw - old Unreal engine games now run with any amount of VRAM
  144. - Incompatibility of DDraw ALLOCONLOAD textures with MS DDraw, fixed (Fighting Force)
  145. - Incompatible D3D9 device creation (finding refresh rates + handling exclusive mode), fixed (e.g. Enter The Matrix)
  146. - Optimizing D3D8 CopyRects for resources in MANAGED pool (long level loading time in BloodRayne 2)
  147. - Default amount of DX VRAM is increased to 256MB + VRAM size is changed to 64 bit
  148. - Adding new option 'DirectXExt\\DeferredScreenModeSwitch' for games crashing on device init with fullscreen switch
  149. - Adding new windowed mode attribute 'FullScreenSize'; if enabled then window will have full screen size with
  150. image scaling inside - this is useful for fake fullscreen mode (without mouse emulation because it's forced windowed mode)
  151.  
  152. I refactored a fair amount of code again, so, I may have broken something.
  153.  
  154. =========================
  155. WIP59:
  156. =========================
  157.  
  158. - Adding shader code (DXBC) generator for DirectX modules, for fast code generating, to avoid
  159. stuttering/freezing arising from shader compiling on the rendering thread.
  160.  
  161. The external D3DCompiler is not needed anymore but can be useful because the compiler generates
  162. slightly better optimized code than me. :)
  163. You can configure dgVoodoo to
  164. - use only its internal code generator (default)
  165. - use internal code generator and external compiler in cooperative mode
  166. - rely only on the external compiler (like in previous versions)
  167.  
  168. BTW, I utilized the DXBC checksum algorythm: https://github.com/GPUOpen-Tools/common-src-ShaderUtils/tree/master/DX10
  169.  
  170. - A new experimental option is added for GDI hooking (game movies rendered through the old AVI player lib)
  171. I tested it only with PanzerDragon (works) and Nocturne (doesn't work). This feature is still to be developed and it's in an
  172. initial state so don't expect it to work generally now. I started working on it but shortly after I decided to work on
  173. the DXBC generator instead.
  174.  
  175. - Regression bugs caused by the latest refactoring are fixed
  176. (crash in LithTech engine games with dynamic lighting enabled, crash in NFS Most Wanted 2005 and Mirror's Edge)
  177.  
  178. - Some other minor bugs I encountered are fixed
  179.  
  180. =========================
  181. WIP59_1:
  182. =========================
  183.  
  184. Some quick fixes for problems I just encountered in some scene demos:
  185.  
  186. - Wrong code generated by the DXBC generator for writing depth output register in pixel shaders, fixed
  187. (http://www.pouet.net/prod.php?which=54565)
  188.  
  189. - Adding support for INTZ/NULL surface formats (D3D9)
  190. - Error code returned for block-type texture/surface formats when creating them in SCRATCH pool, fixed
  191. (http://www.pouet.net/prod.php?which=54588)
  192. (http://www.pouet.net/prod.php?which=54433)
  193.  
  194. =========================
  195. WIP60:
  196. =========================
  197.  
  198. - Some missing D3D9 caps are exposed for the internal card type
  199. - vs - ps_3_0 pipeline linkage bug, fixed (4k demo Fan_tastic)
  200. - vs_3_0 flow control validator is fixed (Valkyria Chronicles)
  201. - Some bugs and imperfect instruction impls are found in the DXBC generator, fixed (Deus Ex Human Revolution, Divinity Dragon Commander)
  202. - Problem with an internal cache, fixed (Batman Arkham Asylum)
  203. - Fixing 'invalid device creation parameters' error (Dark Souls - Prepare to Die Edition)
  204. - Some minor bugs related to D3D9 rendering are fixed (Dark Souls, Blur)
  205. - Adding support for ATI1/ATI2 texture formats (Astebreed)
  206. - Improving D3D8/9 UpdateTexture for more general src/dst texture types (Unigine Heaven benchmark with ATI1/2 support)
  207. - Improving D3D9 rt/depth validation, bug of simultaneous src/dst usage of depth textures is fixed, optimized (Deus Ex HR, Split Second)
  208. - Some optimizing for sw D3D9 drawing
  209. - Fixing default color of A8 texture format (Blade Of Darkness)
  210. - Adding support for sphere map texture coord generation (D3D9)
  211.  
  212. =========================
  213. WIP60_1:
  214. =========================
  215.  
  216. - Minor bugfixing for depth rendering with forced resolution (Deus Ex HR)
Advertisement
Add Comment
Please, Sign In to add comment