Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 09 Jul 2013
Offline Last Active Aug 15 2014 03:22 AM

Posts I've Made

In Topic: Big memory problem (executable size growing very fastly)

05 August 2014 - 02:51 PM

Isn't this just as simple as not Release'ing your command list? You appear to be creating one per frame and nowhere in the code snippet do you ever release your reference to it.

In Topic: Compute Shader execution time

01 August 2013 - 06:52 AM

Have you tried using Intel GPA? I've had good Compute Shader dispatch time measurement using that tool (it does not require an Intel GPU for most functionality).

In Topic: SV_VertexID and ID3D11DeviceContext::Draw()/StartVertexLocation

28 July 2013 - 08:37 PM

The vertex ID is actually a running count of the vertices generated on the GPU, so it doesn't matter what you pass as the offset - it just starts at zero and counts upward.


Except in the case of indexed draw calls though, where it's the index from the index buffer (more sure about this one than the last post smile.png)

In Topic: SV_VertexID and ID3D11DeviceContext::Draw()/StartVertexLocation

28 July 2013 - 07:56 PM

So it does, I must admit I didn't try it, but I can't understand why it would be anything other than additive. That said, since he's gone to the effort of writing an article on it, assume he's right until I've had a go at testing it myself. smile.png


EDIT: As expected, he was right in that regard. The sample applies to the 'startInstanceLocation' on DrawInstanced too, so you can't hijack that either.


I think you're just going to have to spend a couple of minutes adding a constant buffer I'm afraid. There's no need to use a Geometry Shader though. Depending on what you're doing in the pixel shader, you may find it'd be easier and faster to bind your 3D texture as a UAV on the pixel shader and have it calculate/export the values for all N slices you're interested in rather than using the geometry shader's SV_RenderTargetArrayIndex functionality, producing N quads and running the pixel shader a factor of N more times. This way any shared calculations between the N sheets only need to be calculated once.

In Topic: SV_VertexID and ID3D11DeviceContext::Draw()/StartVertexLocation

28 July 2013 - 05:12 PM

It's just an addition.


Draw(3, 0); // SV_VertexID (0, 1 and 2)

Draw(5, 2); // SV_VertexID (2, 3, 4, 5 and 6)