VOGONS

Common searches


First post, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Hi,

First of all, thanks for making psVoodoo an open sourced glide wrapper.

I started working on Glide pass-through for QEMU, mainly to be able to play ancient 3Dfx Win9x games, which most of them are having hard time working on Windows 10. I have been able to target OpenGlide and psVoodoo. QEMU TCG on x86_64 build is 10~15% faster then i686 build, hence to get the best performance I also need to make x86_64 build of glide wrappers. OpenGlide works right out-of-the-box, thanks to its cross platform OpenGL backend and the only glide wrapper for Linux today.

PsVoodoo had a few issues with x86_64 build to begin with. I fixed all of them and it is now working as x86_64 build. My toolchain is MSYS2/mingw-w64. I would like to submit my improvements to PsVoodoo for x86_64 build and other lingering issues that I came across.

As a summry to existing improvements so far:
- Implement _guTexGetMipMapInfo. This is used by Glide pass-through (both DOSBox & my implementation on QEMU) to be able to calculate the size of data to move between guest and host. This is the reason that psVoodoo cannot be used with DOSBox alone for Tomb Raider 1.
- Implement _guFogGenerateExp, _guFogGenerateExp2 and _guFogGenerateLinear.
- _grSstControl should return FXTRUE.
- _grSstStatus should return idling condition, which is 0x0FFFF07F.
- Fixed 64-bit build errors/warnings due to pointers conversion and Makefile.in for building with GCC.

I am sorry that I don't want to deal with Github and/or Sourceforge.net. So I will be posting patch using this thread. Please let me know if the author is interested in taking these changes.

Update 2019-10-10
- New patch supports grGlideGetState/grGlideSetState and other minor fixes.
- QEMU plumbing
- Simple configure/Makefile.in for MSYS2/mingw64 GCC build
- It can run all 3Dfx Glide2x SDK TESTS for tests that don't require 3DF APIs.

Attachments

  • Filename
    patch_psvoodoo.txt
    File size
    29.19 KiB
    Downloads
    38 downloads
    File comment
    psVoodoo-patch-20191010
    File license
    Fair use/fair dealing exception
Last edited by kjliew on 2019-10-11, 18:20. Edited 1 time in total.

Reply 2 of 3, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Attached the patch for psVoodoo. With this patch, psVoodoo can be used by standalone DOSBox for Tomb Raider I. Also added a Makefile.in for GCC build in separate build folder from source. Just copy the Makefile.in as Makefile into the build folder and run make.

Update: New patch in opening post.