Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 22 01:30
    Travis gfx-rs/gfx (master) passed (7530)
  • Sep 22 00:56
    bors[bot] closed #3024
  • Sep 22 00:56
    bors[bot] commented #3024
  • Sep 22 00:56

    bors[bot] on master

    Support wayland without x11 fea… Merge #3024 3024: Support wayl… (compare)

  • Sep 22 00:56
    Travis gfx-rs/gfx (staging) passed (7529)
  • Sep 22 00:36

    bors[bot] on staging.tmp

    (compare)

  • Sep 22 00:36

    bors[bot] on staging

    Support wayland without x11 fea… Merge #3024 3024: Support wayl… (compare)

  • Sep 22 00:36

    bors[bot] on staging.tmp

    Support wayland without x11 fea… [ci skip][skip ci][skip netlify… (compare)

  • Sep 22 00:36

    bors[bot] on staging.tmp

    [ci skip][skip ci][skip netlify] (compare)

  • Sep 21 14:25
    Travis gfx-rs/gfx#3024 passed (7528)
  • Sep 21 13:51
  • Sep 21 13:51
    Frizi synchronize #3024
  • Sep 21 13:51
    Frizi opened #3024
  • Sep 20 17:16
    kvark commented #2503
  • Sep 19 17:16
    Travis gfx-rs/gfx (master) passed (7526)
  • Sep 19 16:37
    bors[bot] closed #3022
  • Sep 19 16:37
    bors[bot] closed #3021
  • Sep 19 16:37
    bors[bot] closed #3021
  • Sep 19 16:37

    bors[bot] on master

    Take the push constant range as… Merge #3022 3022: Take the pus… (compare)

  • Sep 19 16:37
    bors[bot] commented #3022
Dzmitry Malyshau
@kvark
@grovesNL did you see https://github.com/servo/sparkle ? :)
although, this one isn't interesting
Josh Groves
@grovesNL
looks neat! maybe there are some ideas in there for native GL/ES that we can use for glow
Tyler Slabinski
@Slabity
Why can a memory heap have multiple MemoryTypes associated with it? Why doesn't each heap have a single MemoryType that covers all of its abilities?
To be specific, I have 2 heaps. But my MemoryProperties has 11 memory types. Many of which are just empty or duplicates: https://gist.github.com/Slabity/794eb166f95dbdadac331ed65ee0235d
Dzmitry Malyshau
@kvark
memory types are defining sort of a mode of HW operation, memory heaps are just... raw memory (unlinked from the way it's operated)
Tyler Slabinski
@Slabity
But why have multiple MemoryTypes with identical properties? I have 7 that have no properties set. I also have two with DEVICE_LOCAL
Do they really identify different modes of operation? Is there more information to to discover the difference?
Dzmitry Malyshau
@kvark
Yes, they do. You are on nvidia? They internally have to store textures separately from buffers separately from render targets, regardless of properties.
You'll different memory type masks returned by getxxxmemoryproperties
*you'll see
Tyler Slabinski
@Slabity
getxxxmemoryproperties? I don't see any function like that in gfx-hal
Dzmitry Malyshau
@kvark
Get_buffer_memory_requirements and same for images
Tyler Slabinski
@Slabity
Thanks, I think that's all the information I've been looking for
Dzmitry Malyshau
@kvark
(Typing on the go is hard)
Dzmitry Malyshau
@kvark
@msiglreith want to peek at gfx-rs/gfx#3022 before we go?
msiglreith
@msiglreith
Done, will look at the ocean changes later
Dzmitry Malyshau
@kvark
thanks!
Dzmitry Malyshau
@kvark
anybody used Rocket.Chat?
Dzmitry Malyshau
@kvark
@msiglreith btw, I looked at the dx12 pipeline caching, and it appears to be blocked on d3d12-rs deriving Clone, Debug, PartialEq, and Hash on a bunch of structures
Dzmitry Malyshau
@kvark
@msiglreith (sorry for the inflow of requests...) - please also check out https://github.com/gfx-rs/gfx/issues/2503#issuecomment-533638935
Micah
@micahscopes
is gfx an appropriate tool for doing basic gpgpu stuff with webgl?
so a basic question, can I do a build targeting webgl and it will work without webassembly? or will the build rely on webassembly to work in the browser?
Josh Groves
@grovesNL
@micahscopes there's basic support for webgl in gfx-hal, but I'm not sure it's going to be very suitable for gpgpu. The webgl build currently expects webassembly support to be available in the browser. In theory we could also target asmjs but nobody has been looking into that yet
In general (not just gfx), gpgpu on webgl is very limited because there is no true compute support in WebGL. There is an experimental compute extension for webgl in Chrome but I don't think there are any plans to stabilize it beyond experimental
the future of gpgpu in the browser will likely be through webgpu (only)
Micah
@micahscopes
@grovesNL basically people do lots of hacks for "gpgpu" with webgl, so I guess maybe using gfx you'd have to do the same kinds of hacks? i.e. you'd be working with the same primitives and rendering pipeline that webgl provides?
Josh Groves
@grovesNL
right
Micah
@micahscopes
I see, so it wouldn't be any more convenient than using regl... it'd probably be less convenient!
Josh Groves
@grovesNL
or at least at the moment
Micah
@micahscopes
I wasn't sure if maybe there were some abstractions to make those hacks more convenient
Josh Groves
@grovesNL
yeah theoretically we could probably emulate part of a compute API over webgl but I don't know how practical it would be. Using regl could be easier if you're only targeting the web (and not targeting native+web)
@micahscopes FWIW compute on webgpu through wgpu-rs looks something like this: https://github.com/gfx-rs/wgpu-rs/blob/master/examples/hello-compute/main.rs#L17 (this already works on native, just not web yet)
Micah
@micahscopes
Cool. In your mind, how does gfx-rs compare with CUDA or OpenCL? It seems like if I wanted to do some fancy GPGPU (targeting native/future wgpu) that learning gfx-rs could be a good future-proof alternative to learning OpenCL/CUDA.

There are a couple of papers I'm interested in (attempting) to hack out implementations of some day, one of them is this: http://www.cse.chalmers.se/~uffe/HighResolutionSparseVoxelDAGs.pdf

It relies on using pointers to represent DAG structures, which you definitely can't do in WebGL (I don't think? although maybe there's some hack...)! I'm trying to understand if gfx-rs is suitable for this kind of thing, or if there's tool I might want to look at?

Josh Groves
@grovesNL
gfx-hal is mostly identical to the Vulkan API (but available on top of other APIs as well – Metal, dx12, dx11, gl). So it's basically a question of when to use Vulkan compute shaders vs. OpenCL vs. CUDA, which there is some debate about online :)
OpenCL and CUDA have been around a while so they have features that aren't availablein Vulkan compute shaders. But Vulkan compute shaders are already pretty capable and actively growing. Pointers are actually a great example – VK_KHR_variable_pointers has just been added to Vulkan recently for example
Micah
@micahscopes
awesome!
Seeing as how I'd like to practice my rust I'd probably rather go with fgx-hal!
(I have only written a little bit of C++ and don't really care to practice it because there's only so much time in a day)
(I'm sure it's a great language though no shade)
@grovesNL this is really helpful!
Josh Groves
@grovesNL
:+1: also for a higher level API (closer to regl), wgpu-rs is being implemented on top of gfx-hal. The idea is that wgpu-rs will use gfx-hal on native targets, and WebGPU for web targets
our blog post probably explains it better than me: https://gfx-rs.github.io/2019/03/06/wgpu.html
Micah
@micahscopes
as soon as webgpu shows up on linux I'll probably check that out asap
I do love regl
I imagine something similar to regl without the restrictions of webgl could be magical
I imagine it might take some time before VK_KHR_variable_pointers is in gfx-hal?
Dzmitry Malyshau
@kvark
It's a question for spirv-cross at this point.