Finger info for flibitijibibo@icculus.org...


SPIR-V Emitter for MojoShader (BETA)

After many months of development, primarily headed by Martin Krošlák, we're now ready to start testing a new SPIR-V shader emitter for MojoShader!

WTF is this?

FNA uses MojoShader for D3D9 shader support. Over the last 5 years, we've made numerous contributions to MojoShader, including full support for the Effects framework as well as various other features for simplified D3D9->OpenGL compatibility.

SPIR-V support is our next big contribution to MojoShader. SPIR-V is the official shader binary format for Vulkan, as well as an added shader format for OpenGL 4.6 (via ARB_gl_spirv).

This SPIR-V emitter is primarily focused on compatibility with ARB_gl_spirv, though there isn't much going on that would prevent this from being usable with Vulkan. We don't have a VulkanDevice yet, so for now this is purely for the extremely narrow subset of configurations out there that support OpenGL 4.6.

Who is this for?

If everything works perfectly, this is completely invisible to customers. It does not provide any benefits in performance or stability whatsoever. In fact, I plan to keep this turned off for the default OpenGLDevice once it's officially integrated, leaving it on only for the ModernGLDevice.

As far as I know, this feature is only supported on the following drivers:

In reality, it's mostly for anyone who wants to try writing VulkanDevice. It's also for any of the Mesa developers who are working to get ARB_gl_spirv supported by radeonsi/i965/iris, or whatever other drivers are looking to finish OpenGL 4.6 compliance. As far as I know, basically nobody uses this feature, so I hope we can help provide some real-world data for the Mesa team to use!

I want to try this, where do I go?

I've prepared an issue tracker here:

https://github.com/FNA-XNA/MojoShader/issues/15

The repository is here if you want to see it:

https://bitbucket.org/krolli/mojoshader/src/spirv-rebased/

Who is responsible for this?

This has been worked on by a lot of people, all of which are not me! I basically just dumped some money into this (and not even that much, to be honest). This was made by many skilled developers, including Martin Krošlák, Caleb Cornett, Angus Holder, and Melker Narikka.

An extra shoutout to Baldur Karlsson who added ARB_gl_spirv support to RenderDoc extremely quickly after we asked for it! RenderDoc rules!

If you give this a try...

... thanks for your time! I'll be out of town this weekend (Aug 16-18) so don't feel too rushed to try it out.

Want a Linux game?

I'm now working my way back to just making native Linux games, slowly but surely. I have my own hit list as always, but I'm always looking for more projects! Now's a really good time to hit me up while it's on my mind. Don't forget, whether you're an indie developer or an independent developer, there's a good chance I can accommodate your needs!

Love, flibit
flibitijibibo.com

Bill's Hat

Turn a minimal Fedora installation into a SteamOS box!

1. Write Fedora Workstation NetInstall ISO to a USB drive
2. Boot USB image, install Minimal configuration with standard partition layout matching SteamOS'
3. Set root password, create a user called 'steam', set a password for it
4. Reboot, log in as root
5. A whole bunch of commands:

dnf group install hardware-support
dnf install Xorg xorg-x11-drv-evdev libglvnd-egl vulkan-loader.x86_64 vulkan-loader.i686 lightdm flatpak NetworkManager-wifi kernel-modules-extra bluez
dnf config-manager --add-repo=https://negativo17.org/repos/fedora-steam.repo
dnf install steam steamos-compositor steamos-modeswitch-inhibitor.x86_64 steamos-modeswitch-inhibitor.i686
setsebool -P allow_execheap 1
systemctl enable sshd.service
systemctl enable lightdm.service
systemctl set-default graphical.target

6. Edit /etc/lightdm/lightdm.conf:

pam-service=lightdm-autologin
pam-autologin-service=lightdm-autologin
user-session=steamos
autologin-user=steam
autologin-session=steamos

7. Create /var/lib/AccountsService/users/steam:

[User]
Session=steamos
XSession=steamos
Icon=/home/steam/.face
SystemAccount=false

8. Reboot, should work now!

9. Additional steps for NVIDIA users:

dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
dnf install kernel-devel dkms-nvidia nvidia-driver-libs.x86_64 nvidia-driver-libs.i686
reboot # Should be using the NVIDIA driver now!

Bill's Hat TODO

Wait, a "plan"?

Well, this is a .plan file, so here's my TODO. Expect nothing from it, ever.

In Progress
    Proton Performance Analysis
    Proteus 64-bit macOS
        - Only push on Catalina Day
    Waveform 64-bit
        - Repo access...!
    Blueberry 64-bit Checkbox
        - Steam access...

Waiting Room
    DK BONGO QUEST
        - Reinvestigate multi-joystick device support
    SDL_GetAudioDeviceSpec
        - Oh god I don't even know dude
    Codename FullCircle
        - Need some backend access first...
    Codename Swine
        - Waiting for content completion
    Codename CityVessel
        - Not even finished yet, whatever
    Codename SpinnyTokelau
        - Assessment coming up in September
    Codename FlyingFinger
        - A bunch of non-dev stuff happens first
    Codename BlackHole
        - Waiting on some hardware
    ScoreRush PC
        - Graphics, AppAdmin, strings for PC settings, blah blah blah
    Zeboyd Catalog
        - Possibly no source, really just need AppAdmin access tbh
    64-bit Panic
        - They Bleed Pixels middleware :/
        - Gotta rebuild all MojoSetup packages (F you Canonical)


When this .plan was written: 2019-09-28 20:57:51
.plan archives for this user are here (RSS here).
Powered by IcculusFinger v2.1.27
You could be playing Pringles for Genesis but instead you're here?