Skip to content

Version 0.20 - Frog Cookie 🐸🍪

Pre-release
Pre-release
Compare
Choose a tag to compare
@misyltoad misyltoad released this 26 Aug 14:28
· 1704 commits to master since this release

henlo 🦢

🐸🍪🐸 Frog Cookies Detected 🐸🍪🐸
🐸🍪🐸 Eat the frog cookies! 🐸🍪🐸


Features

Improved Perf

  • Stopped using DEVICE_LOCAL memory for shader constant buffers (@doitsujin)
  • Misc. performance improvements
  • Skip waiting for D3DLOCK_READONLY on buffers
  • Optimized UndirtySamplers

General

  • Implemented d3d9.samplerAnisotropy option
  • Implemented d3d9.maxAvailableMemory option
  • Implemented d3d9.floatEmulation option
  • Implemented GetRasterStatus (for Undertale)
  • Cache monitor info
  • Implemented ProcessVertices (Software Vertex Processing)
    • Uses a geometry shader that emits no vertices and does buffer writes
  • Correctly implement D3DMULTISAMPLE_NONMASKABLE
  • Implemented TexBem, TexM3x2Tex and TexM3x3Tex
  • Enabled lenient clear for some UE3 titles
    • Otherwise they don't end up clearing their full RT due to viewport rules and random alignment
  • Implement undocumented managed pool for D3D9Ex
  • Implement async. present
  • Implemented presentation regions

Bug Fixes

  • Ignore lock flag DISCARD when NOOVERWRITE/not a dynamic resource is specified
  • Improved nested locking behaviour and other locking fixes
  • Fixed systemmem texture wait behaviour
  • Ignore partial discards for textures
  • Fixed a bug setting dirty vertex/pixel shader flag in SetTextureStageState
  • Improved memory tracking behaviour
  • Fixed ResolveZ implementation
  • Fixed some blending behaviour in fixed function pipeline
  • Improved app compatibility in CheckDeviceFormatConversion

New Fixed Function Support!

  • Implemented fixed function lighting
  • Implemented fixed function frog fog (🐸🌁🌫)
  • Lots more (eg. texcoord offset, tci_cameraspaceposition, specular magic!)

There is a lot more that wasn't mentioned above too, but was either bugs fixed that didn't affect the previous release or new behaviour or too minor to mention (I actually want to release this and not spend all day writing a changelog 🐸).

Notes

Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

Acknowledgements

  • ドイツ人 (doitsujin): for creating the base of the project, DXVK
  • Rhedox and CME: for helping with debugging
  • VKx and Frog Family Discords: for helping with testing

Thank you and Enjoy! <3

- Josh 🐸 ❤️ ~