Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 04 Feb 2011
Offline Last Active Today, 06:25 AM

Topics I've Started

[d3d12] command queues vs hardware queues (ACEs)

13 September 2015 - 08:14 AM

hi there,


do command queues (https://msdn.microsoft.com/en-us/library/windows/desktop/dn788627(v=vs.85).aspx)

correspond directly to hardware queues aka ACEs on GCN?


ie. should I create the same number of compute queues as there are ACEs on the GPU?

I suppose there should be only one graphics queue, as the hardware (GCN) can only use one.

Is this the same with DMA copy engines? (same number of copy queues)


or should there be one command queue per async submission thread? (ie. 1 graphics/compute/copy queue per thread)


afaik it is advised to use one command allocator, one command list and one fence per thread. Is this true?


best regards,




can't create hardware d3d12 context (only warp)

12 September 2015 - 05:55 AM

hi there,


EDIT: oh didnt see that there's a newer driver, installing 355.82 solved it...


I tried to run the DX12 hello window graphics sample (https://github.com/Microsoft/DirectX-Graphics-Samples/blob/master/Samples/D3D12HelloWorld/src/HelloWindow/D3D12HelloWindow.cpp), but I can only run it, if I set m_useWarpDevice to true, meaning I can only create a warp device.


I have a 64 bit windows 10 installed, I tried to run the sample on a gtx660 using the latest driver (353.62).

Nvidia control panel says I have dx12 runtime and api version, but only feature level 11_0.

DXDiag reports 11.3 directx version, and says that the driver is wddm 2.0 capable, but again, it only lists feature levels up to 11_0.


While I can still develop using a warp device, I'll need the hardware device later, so it'd be great if I could solve this smile.png


any idea how to fix this? I tried to reinstall the display driver previously, no success.


best regards,


DX11 changing window coordinate origin (upper-left -> lower-left)

23 August 2015 - 06:52 AM

hi there,


I want to change the window coordinate origin to use OpenGL conventions (ie. lower-left is (0,0)). 
In GLSL the default is lower-left, however you can change to upper-left using layout(origin_upper_left). Is there such a thing in HLSL that changes to lower-left?


best regards,


DX11 fullscreen quad rendering not working

22 August 2015 - 09:09 AM

hi there,


I'm trying to render a fullscreen quad using dx11, however it doesn't show up.

I tried debugging w/ nsight, and it seems that the quad is in place, but for some reason it doesn't write to the back buffer...

Output: blue screen

Expected: white screen


here's the code:




1) any idea what am I doing wrong?

2) in case I can already draw the quad, how do I disable depth writing? (in opengl I know it's glDepthMask w/ false)


best regards,


Cascaded shadow mapping, shadow frustum generation

06 August 2015 - 11:54 AM

hi there,


my question is:

how do you generate the orthographic projection matrices for generating the cascaded shadow maps?

Right now what I tried to do, but it doesn't seem to fully work is the following:

1) Determine view space AABB of the scene, use the bounds for tight near/far planes

2) use logarithmic splitting scheme to create 4 intervals for 4 cascades

3) a) for each interval, create perspective sub-frustums using the same fov, aspect ratio as the main camera, but the interval           bounds for the near/far planes

    b) transform the world space sub-frustum corners to light camera space, and construct a light camera space AABB there. 

    c) use the bounds of the light camera space AABB to create the orthographic matrix of the cascade


See attached picture for how the cascades look for me right now. As you can see lots of the geometry is cut off, as if the orthographic frustum is not correct.


best regards,

Marton Tamas