Skip to main content
New Participant
August 13, 2014

DX11 Compute buffers broken?

Hi There,

developer of TC Particles here, the one that makes the sparkes in MotM (http://rustltd.com/projects/the-museum-of-the-microstar)


Recently got my hands on a DK2, and it's awesome but I can't get TC Particles to work on it. After much digging I found the reason why stuff doesn't show up.

The particles are stored in a compute buffer (http://docs.unity3d.com/ScriptReference/ComputeBuffer.html). In editor this works fine. In a build however, it seems that only the very first element is set of the buffer, but the rest is just set to default values.

I tried Shader.SetGlobalBuffer and Material.SetBuffer variants. Both RWStructureBuffer and StructuredBuffers aren't working. This only is the case when I'm rendering with the OVR camera.

Any thoughts are much appreciated :) Hope this can be fixed in 0.4.2

Hardware:
Malibal Lotus - i7-3740QM 2.7ghz
16gb ram
Nvidia 680m 4gb
Using HDMI out to DirectMode only
    This topic has been closed for replies.

    23 replies

    Up and Coming
    August 16, 2014
    @vrdaweb: We're only using direct-mode at the moment, as all of our attempts to get extended mode working for a unity build have failed. Crashes/weird behavior/etc. There were also critical fixes in 4.5.3 (originally in patch build 3) that our project needed, so we're stuck with that version. For the next SDK update, would it be helpful for you if we put together a more complete Unity 4.5.3 project for you guys to test with, to make sure the compute buffer stuff works? I can assemble and pass you one if you'd like.
    New Participant
    August 17, 2014
    Hey there,

    Thanks for the reply vrdaveb. Do note that this was tested on 4.5.2 patch build 3 as well, which I believe came before the ovr 0.4.1. Still might be worth to try vanilla 4.5.2 though, as they did change some things for DX11 in the patch. Also as Anton noted, we're only using Direct to Rift, other modes crash and burn completely.

    About the stripes: These are the rings that are otherwise rendered fine, but because the compute buffer only has it's first element set, the ring becomes a stripe. It was a bright orange stripe, like the rings you saw. It was not a distortion artifact.

    Also note that editor intergration is completely broken for me, the game view only very occasionally shows something. All these issues are talking about issues in the build.

    It would be great if you try to make a build of the project in 4.5.3, and see if that is broken for you. Even if it works in 4.5.2, 4.5.3 contains fixes quite specifically for DX11 + the rift, so it would be great to have that.

    Also, I will send you the TC Particles package as well to try out. Thank you!
    Inspiring
    August 17, 2014
    "Anton" wrote:
    For the next SDK update, would it be helpful for you if we put together a more complete Unity 4.5.3 project for you guys to test with, to make sure the compute buffer stuff works?


    Thanks. We will use the two sample projects you've already sent as test cases moving forward. That should be enough unless you are having other issues that aren't present in these projects.

    "Anton" wrote:
    We're only using direct-mode at the moment, as all of our attempts to get extended mode working for a unity build have failed. Crashes/weird behavior/etc.


    What kinds of problems are you having there? I would expect extended mode to be at least as stable as direct mode right now. Note that with 4.5.3 (and the recent 4.5.2 patch releases), the "-adapter" flag is broken, so you have to hold ALT and choose the Rift manually the first time you run the app.

    "ArthurBrussee" wrote:
    Also note that editor intergration is completely broken for me, the game view only very occasionally shows something.


    The editor integration doesn't support direct mode yet.

    "ArthurBrussee" wrote:
    It would be great if you try to make a build of the project in 4.5.3, and see if that is broken for you... These are the rings that are otherwise rendered fine, but because the compute buffer only has it's first element set, the ring becomes a stripe.


    Yep, with 4.5.3 and direct mode, I was finally able to reproduce the problem. There were two separate horizontal stripes, one in each eye. I'll let our driver guys know about the problem. For now I'd like to help you resolve any issue you're still having with extended mode.
    September 12, 2014
    Hello,
    Has this been fixed for an upcoming version? I really need to get my DX11 FX working again for upcoming demos...
    Let me know if there is anything I can do to help.
    Thanks!
    Up and Coming
    October 3, 2014
    @vrdaweb: Any word on whether this has been fixed yet? We're totally stalled out on vr development of our game until this is fixed (our entire vfx stack relies on compute buffers).
    Inspiring
    October 8, 2014
    There is a release in QA right now that includes some significant driver improvements. I'll make sure we test this case.
    October 21, 2014
    Is there a rough release day for this new SDK yet? My project was largely dependent on DX11 and it's very difficult to make progress. I have made a new project using SteamVR, which has working DX11 and head tracking, etc. I can't have both the Oculus SDK and SteamVR in the same Unity project though, so I need to decide very soon which one to commit to.
    Inspiring
    October 21, 2014
    There's a new SDK coming relatively soon, but I'm not sure your issue will be solved. Sorry for the delay.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    Inspiring
    October 25, 2014
    0.4.3 should have fixed this. Is it working now?
    October 28, 2014
    This is fixed for me (Unity 4.5.5f1)...TCparticles as an example. Thanks!!