Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

424 Neutral

About FReY

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. FReY

    Shady Drivers...

    There are a few things I can think of. Either: 1] your app is generating a lot of gpu work -or- 2] there is a genuine driver bug. You can try disable TDR's to figure out whether it's [1] or [2]. If the app runs fine with disabled TDR's it's likely the former, otherwise it'll be the latter: http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx Sprinkling a few liberal flushes may help to minimize the problem if the problem was [1]. Failing that, it may be worth trying to build on one of the DXSDK samples and slowly migrate it towards your current NSE solver project.
  2. Quote: Those are good suggestions, but I'm not sure if you can do a multi-group implementation with a single pass on a single buffer - you would be writing to the same resource that you are using to calculate the update, which would be troublesome... Actually, you can still keep using 2 buffers and double-buffer the update like you're doing now. Your input will be an SRV, and your output will just be a single UAV. Basically, pseudocode for your loop will still look like this: ID3D11Buffer* buffer[2]; CreateStructuredBuffer(buffer[0]); CreateStructuredBuffer(buffer[1]); CreateStructuredBufferSRV(srv[0], buffer[0]); CreateStructuredBufferSRV(srv[1], buffer[1]); CreateStructuredBufferUAV(uav[0], buffer[0]); CreateStructuredBufferUAV(uav[1], buffer[1]); uint readBuff = 0; uint writeBuff = 1; while (running) { pDev->CsSetUnorderedAccessViews(uav[writeBuff], 1); pDev->CsSetShaderResourceViews(srv[readBuff], 1); pDev->Dispatch(numGroupsX, numGroupsY, 1); pDev->CsSetUnorderedAccessViews(NULL, 1); // swap read and write buffers writeBuff = (writeBuff) ? 0 : 1; readBuff = (readBuff) ? 0 : 1; pDev->VSSetShaderResourceViews(srv[readBuff], 1); pDev->DrawIndexed(...) } Effectively you'll be doing the following: struct GridPoint { float4 Flow; float Height; }; RWStructuredBuffer<GridPoint> Output : register(u0); StructuredBuffer<GridPoint> Input : register(t0); etc.. instead of this: Texture2D<float> InputHeight : register( t0 ); Texture2D<float4> InputFlow : register( t1 ); RWTexture2D<float> OutputHeight : register( u0 ); RWTexture2D<float4> OutputFlow : register( u1 ); etc... Funny enough I just found some info on creating structured buffer UAVs and SRVs right here on gamedev :) http://www.gamedev.net/community/forums/topic.asp?topic_id=516043
  3. Hey this looks pretty good; have you got an implementation that propagates across multiple thread group/blocks ie. a water surface greater than 32x32? Moe: to get this working on DX10 feature level Compute under DX11, you could actually do it in 1 pass if you changed this to: 1] max 768 threads in a group. Although for efficiency reasons you'd actually want less than 384 threads. 2] a single UAV - possible if one converts the Height+Flow into a single RWStructuredBuffer for output, and a single StructuredBuffer for input. 3] a single groupshared region - possible again if you make it structured. 4] no shared memory scattered writes; ie. convert the algorithm to do gather reads. 5] The output StructuredBuffer can be directly bound as an SRV to other shader stages (VS, GS, PS). 6] compile for cs_4_0 target rather than cs_5_0 target. (more info here: http://www.slideshare.net/repii/your-game-needs-direct3d-11-so-get-started-now)
  4. FReY

    Inheritance vs. Aggregation

    Some more discussion on this very subject here: http://gamearchitect.net/2008/06/01/an-anatomy-of-despair-aggregation-over-inheritance/
  5. FReY


    Glad to see you're still working on this game; I really enjoy reading your posts. I'd heard rumours that you'd moved onto more INTCeresting employment :)
  6. FReY

    AMD RV670 GPU's. Surprised?

    Quote: They were doing clever things at the transistor level that Nvidia weren't. Out of curiosity, what are you referring to?
  7. FReY

    It's Done...

    Yeah Congrats, I've been following your blog for a long time now and I'm looking forward to finally seeing the game in action ;)
  8. FReY

    New Screens and guns / Work in progress

    Are the 2 gangsters in the centre of the 2nd picture holding hands? ...cos, you know, I respect a gangsters right to choose :)
  9. FReY

    Level Up

    Congrats on your wedding! Glad to see you're making progress on the game too :)
  10. FReY

    Optimization Progress

    I know of a few people who post here regularly from NVIDIA, they just remain anonymous ;) Looking forward to seeing what other projects you got banging around up in your noggin :)
  11. FReY


    Don't feel bad. Programmers are the biggest bunch of procrastinators in general.
  12. FReY

    Spaced Out

    Cool, I'm looking forward to seeing the shareware version! BTW. Are you using a cube for that sky dome? :)
  13. FReY

    Small Update....

    Wow, your graphics are getting *really* photorealistic now :) i know, bad joke...sorry
  14. The trees look like they've been lopped off at the top when they become imposters ;) You could probably double up your FOV with a heat-haze effect (as GTA:SA does it) too :)
  15. FReY


    I've heard of hand-me down *clothes* before but this is ridiculous :)
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!