Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 12 16:06
    Uniformbuffer3 ready_for_review #3756
  • Jun 12 15:02
    Uniformbuffer3 synchronize #3756
  • Jun 11 11:01
    Frizi opened #3773
  • Jun 10 14:26
    Uniformbuffer3 synchronize #3756
  • Jun 10 02:44
    Uniformbuffer3 synchronize #3756
  • Jun 09 20:31
    Uniformbuffer3 commented #3756
  • Jun 09 17:40
    kvark commented #3756
  • Jun 09 17:39
    kvark commented #3755
  • Jun 09 15:24
    bors[bot] closed #3772
  • Jun 09 15:24

    bors[bot] on master

    Corrected the description of th… Merge #3772 3772: Correction o… (compare)

  • Jun 09 15:24
    bors[bot] commented #3772
  • Jun 09 15:15

    bors[bot] on staging.tmp

    (compare)

  • Jun 09 15:15

    bors[bot] on staging

    Corrected the description of th… Merge #3772 3772: Correction o… (compare)

  • Jun 09 15:15

    bors[bot] on staging.tmp

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

  • Jun 09 15:15

    bors[bot] on staging.tmp

    Corrected the description of th… [ci skip][skip ci][skip netlify… (compare)

  • Jun 08 14:24
    kvark closed #3721
  • Jun 07 14:07
    Uniformbuffer3 commented #3721
  • Jun 06 21:21
    Uniformbuffer3 opened #3772
  • Jun 04 23:33
    cwfitzgerald transferred #2878
  • Jun 04 19:24
    Uniformbuffer3 synchronize #3756
Brendan Zabarauskas
@brendanzab
hgl
Dzmitry Malyshau
@kvark
was @cmr there too?
Coraline Sherratt
@removed~csherratt
bjz, did you see common traps people were falling into?
Dzmitry Malyshau
@kvark
@csherratt @bjz has anyone looked at #24 ?
Brendan Zabarauskas
@brendanzab
What about a lookup table?
Dzmitry Malyshau
@kvark
@bjz lookup table of strings? will suffer from the same data cache miss
Coraline Sherratt
@removed~csherratt
I was going to suggest std::str::MaybeOwned, but that is 32 bytes...
Brendan Zabarauskas
@brendanzab
@kvark yeah :(
Coraline Sherratt
@removed~csherratt
How often do we actually need the uniform name? Can we 'link' the pipeline and avoid the names all togather?
Brendan Zabarauskas
@brendanzab
@csherratt you mean build up a pipeline once, then reuse it?
@csherratt like Metal?
@kvark what does storage+2-gl::FLOAT_VEC2 do?
Dzmitry Malyshau
@kvark
@csherratt sure, we can match the input-outputs and store just indices, but this caching spawns more questions than it solves
@bjz it's the number at the end of the definition: FLOAT_VEC? (2,3,4)
which is the number of components that we extract from it
Brendan Zabarauskas
@brendanzab
why do you need the formula?
Dzmitry Malyshau
@kvark
to do it in one case instead of 3
Brendan Zabarauskas
@brendanzab
I think in this case it might be clearer to do multiple cases
Dzmitry Malyshau
@kvark
gonna be bulky
ok, bbl
Brendan Zabarauskas
@brendanzab
o/
Coraline Sherratt
@removed~csherratt
bjz, I think your symbol table is actually a great idea.
If every string in the pipeline that is the same always points to the same memory address, we can avoid the cache miss in the case for a string compare. Pointer A == Pointer B, no point in comparing their content.
This is also 8 bytes, vs 24 that @kvark has proposed.
Brendan Zabarauskas
@brendanzab
these cached pipelines would be immutable?
like, once you commit to building them, you can't alter them?
Coraline Sherratt
@removed~csherratt
I meant gfx-rs as a pipeline, not any one object in the pipeline.
Brendan Zabarauskas
@brendanzab
ah ok
Coraline Sherratt
@removed~csherratt
I think this might be preemptive, but if we place everything behind a type that looks feels and acts like a String. We can play with optimizing it via inline strings like @kvark has proposed or some other mechanism.
Brendan Zabarauskas
@brendanzab
@csherratt what would be your transition plan in terms of moving snowmew to gfx-rs?
oh, btw - tried an oculus rift today - not with Rust, just the bundled demo.... <3 <3 awesome
Coraline Sherratt
@removed~csherratt
Snowmew is broken up into half a dozen crates, the render sits in it's own crate. So I just need to add a new crate and write a render for gfx-rs separately of the old one.
Brendan Zabarauskas
@brendanzab
nice!
it was interesting watching people use cgmath today -_-
:P
Coraline Sherratt
@removed~csherratt
I had plans on adding an OpenGL ES render at some point, so I had the feeling I would needs some flexibility.
Good, bad, reactions?
Brendan Zabarauskas
@brendanzab
yeah that would be cool
Coraline Sherratt
@removed~csherratt
I mean, reactions to cgmath :P
Brendan Zabarauskas
@brendanzab
ohh
yeah, just some confusion
traits and stuff
I think it might be better to re-export things at the top level
Coraline Sherratt
@removed~csherratt
matrix::Matrix is a bit noisy, I can see that
Dzmitry Malyshau
@kvark
@csherratt the experience itself that you may get through porting to gfx-rs is going to be extremely valuable for us
Dzmitry Malyshau
@kvark

@csherratt sure, we can match the input-outputs and store just indices, but this caching spawns more questions than it solves

That's half-truth. In fact, we don't want (of course) to match these strings at runtime, even if the comparison cost is low, because we'd still need to walk those mesh attributes for each shader attribute. instead, we just need to have that target index baked in somewhere. Perhaps, a single HashMap<(ProgramHandle,MeshHandle), IndexSequence> will suffice.

Coraline Sherratt
@removed~csherratt
@kvark for sure.
Brendan Zabarauskas
@brendanzab
@kvark fixed #25!
Dzmitry Malyshau
@kvark
@bjz awesome! next one is the real issue - binding that at runtime
kvark @kvark is off for today