Git Product home page Git Product logo

Comments (12)

Korijn avatar Korijn commented on June 14, 2024 2

With some helpful explanations from @kvark I think we've cracked this one: gfx-rs/wgpu#644

Just need to compile swiftshader (and point wgpu-native to it).

from wgpu-py.

almarklein avatar almarklein commented on June 14, 2024 1

But that would only work on Linux since it is Vulkan, I think?

AFAIK it can run on any platform on which it can be compiled. Windows 10 also includes Vulkan, I believe. However, I don't know how wgpu-native (or glx-hal) is going to pick it up. Kazan seems very much bleeding edge, so I'd rather try other things first :)

from wgpu-py.

Korijn avatar Korijn commented on June 14, 2024

OpenGL works on CI, so I think vulkan etc should too... We can install drivers if need be?

from wgpu-py.

almarklein avatar almarklein commented on June 14, 2024

Isn't OpenGL on CI usually a software driver? So maybe ... something like https://github.com/kazan-3d/kazan?

from wgpu-py.

Korijn avatar Korijn commented on June 14, 2024

Yeah, that is an option.

But I also think that Azure Pipelines agents do have Intel Graphics available.

We've used https://marketplace.visualstudio.com/items?itemName=ms-autotest.screen-resolution-utility-task in the past to run selenium tests for a certain WebGL based application you are very familiar with. ;) It enables a screen session. I'm not sure if that would help us here, but at least it's evidence that OpenGL works on Azure Pipelines CI machines. Also; we didn't need to install a software driver there, but then again, maybe it was preinstalled... hmm

from wgpu-py.

Korijn avatar Korijn commented on June 14, 2024

I've looked through gfx-rs/wgpu and they don't run this type of tests on Travis CI either. Not sure if this is feasible at all

from wgpu-py.

Korijn avatar Korijn commented on June 14, 2024

We could indeed try to build kazan and use it to run tests on CI. But that would only work on Linux since it is Vulkan, I think?

from wgpu-py.

Korijn avatar Korijn commented on June 14, 2024

Sadly I'm not able to get swiftshader to compile: it's poorly documented which versions and configurations of build toolchains should be used and there are no git tags of "releases" that are supposed to compile successfully either. I don't have time to reverse engineer all that info.

I noticed that the latest version of OSMesa actually has a Vulkan API as well so I will see if I can get that to work instead!

cc @kvark

from wgpu-py.

kvark avatar kvark commented on June 14, 2024

@Korijn it's a bit sad state of things that Swiftshader doesn't feature any binary releases at all. They have a Vulkan ICD interface defined already, so they could do backwards-compatible releases for everyone to enjoy. Perhaps, you could file a bug to https://issuetracker.google.com/issues?q=componentid:408190 ?

from wgpu-py.

Korijn avatar Korijn commented on June 14, 2024

There is code to build Vulkan mesa, and apparently Doom Eternal can run on it, so I'm hopeful we can use it for our purposes here as well:

https://github.com/mesa3d/mesa/tree/master/.gitlab-ci

But it's a little hard to extract the core steps to make a build ourselves...

from wgpu-py.

kvark avatar kvark commented on June 14, 2024

I wonder what this Vulkan mesa is? The only software implementation I thought existed was SwiftShader.

from wgpu-py.

Korijn avatar Korijn commented on June 14, 2024

Looks like they're using lavapipe now:

https://github.com/gfx-rs/wgpu/blob/b679342d9e62e50eff307d785590ffcbcc39b0d8/.github/workflows/ci.yml#L111

Wonder if that could be an easy solution for us, too!

Alternatively, it might be time to try DirectX 12 again

from wgpu-py.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.