Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 28 Jul 1999
Online Last Active Today, 10:05 PM

Posts I've Made

In Topic: [D3D12] Resource Barriers in Multiple Command Lists

10 April 2016 - 08:16 PM

How about if they're in different queues?


I have Command List 'A' and Command List 'B'.  I put 100 commands in 'A' and a Resource Barrier from pixel shader resource to render target.  'B' is a command list for a Compute Queue, and only has a Resource Barrier from render target to shader resource before the Compute Dispatch.


How do I now assure that 'A' transitions the resource before 'B'?

In Topic: Debugging this Vulkan crash

30 March 2016 - 01:06 PM

After finally circling back to this, I discovered that the problem was that when creating the VkInstance, I was only using the extension "VK_KHR_SURFACE_EXTENSION_NAME."  As I am doing this on Windows, I needed "VK_KHR_WIN32_SURFACE_EXTENSION_NAME."

In Topic: [D3D12] What is the benefit of descriptor table ranges?

05 March 2016 - 10:25 PM

Hodgman, that sounds like it falls right in line with Vulkan's Descriptor Sets as well.  Alright, so I think my course of action right now is going to be building descriptor tables, and then tracking open spaces in the descriptor heap if I have to switch to a new range based on a texture switch or something.


Thanks guys

In Topic: Debugging this Vulkan crash

01 March 2016 - 10:48 AM

Eternal, that is a great help.  Copying those dlls and pointing the compiler to the appropriate .pdb file lets me see what the specific error is.


It's a crash in the aforementioned vkQueuePresentKHR function.  The code crashes at:


                                   if ((pSurface->numQueueFamilyIndexSupport >
                                         queueFamilyIndex) &&
                                              [queueFamilyIndex])) {
The problem is that pSurface->pQueueFamilyIndexSupport is not an initialized value.  pSurface->numQueueFamilyIndexSupport is 3452816845, which allows this decision to access pQueueFamilyIndexSupport even though it's not valid.
This decision is to check if the surface is supported for present operations.  I believe I've followed the code identically to find a queue that supports both graphics operations and present.  I don't understand why numQueueFamilyIndexSupport is such a big value.  When creating the swapchain, I set the queueFamilyIndexCount and pQueueFamilyIndices fields of the VkSwapchainCreateInfoKHR structure to 0 and nullptr respectively.

In Topic: D3D12: Copy Queue and ResourceBarrier

15 February 2016 - 06:15 PM

iedoc, step 5 is the problem.  You can't do that transition on a Copy Queue.  So my question is really, do I have to do the fence on the Copy Queue, and then transition to D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER on the Direct Queue.  Which it looks like I do.