Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

212 Neutral

About chaoticbob

  • Rank

Personal Information

  • Interests
  1. chaoticbob

    Querying queue support

    It seems like that D3D12 queues sit a bit higher in the abstraction levels than the Vulkan queues. So your assessment of creating queues until failure seems correct. I just wrote a small test to create 4096 queues in D3D12 and nothing happened. OTOH, vkGetDeviceQueue will probably result in an access violation if you attempt to grab a queue that exceeds the number of queues in the queue family.    I've also have not yet seen any functions that returns queue properties in D3D12. 
  2. Hi,   This question is in regards to the operations on a single graphics queue - not multiple queues. Would love some clarification on the example below.   Lets say I have two command list: cmdList0 and cmdList1.    cmdList0: transitions TextureA from shader read to render target writes some stuff to TextureA  transitions TextureA from render target to shader cmdList1: uses TextureA in some rendering operation I submit both command lists at the same time ordered like this: ExecuteCommandList(2, [cmdList0, cmdLIst1]);   Knowing that command list execution can overlap, what's the expectation for the following: Is there any type of execution dependency on cmdList0 by cmdList1 because of the transitions in cmdList0? Alternatively, is there any type of execution dependency that's potentially caused by pipeline flushes when cmdList0 completes? Should I use a fence between cmdList0 and cmdlist1 to force a dependency?   Thanks!  
  3. chaoticbob

    Limits on max number of textures

    Ahh! Sorry, I forgot to mention that in my original. My reasoning for asking was because of Windows...since DirectX obviously doesn't run on Linux :)     UPDATE: I've been playing around with CreateCommitedResource on windows and it seems that DX12's memory management is not so straight forward. Perhaps I'm mistaken, but it seems like the OS is moving around resources as my test program is asking for more and more memory. Guessing this from all the other application's draws becoming painfully slow.
  4. chaoticbob

    Limits on max number of textures

    There seems to be some conflicting information out of gpuinfo:   http://vulkan.gpuinfo.org/displayreport.php?id=1002#limits   Filter for GTX 1080 or GTX 1080: http://vulkan.gpuinfo.org/listreports.php?limit=maxMemoryAllocationCount   On my current system, an AMD R9 Nano with the 17.1.1 drivers, I'm getting 4096. 
  5. Hello,   Is there a cap or limit that one can query to find out what the maximum number of textures or buffers that can be created against a committed resource? I'm trying to find a parallel to Vulkan's allocation limits.     Thanks,
  6. chaoticbob

    Vulkan or D3D12?

    I wrote this a couple of weeks ago: https://github.com/chaoticbob/tinyrenderers   It doesn't spell out the advantages of one over the other. It shows how similar and different they are at some fundamental things. 
  7. Hi,   Thanks to everyone who's answered my silly questions about DirectX 12 on here. It's been a go fun thing to learn.    I wrote single head implementations of a Vulkan renderer and a DirectX 12 renderer. They're not meant to be fast or fancy. Just some toys to play with and learn from. Still a bit work left to be done on them. But the basics are working. Thought I'd share in case it's useful to anyone.   https://github.com/chaoticbob/tinyrenderers    
  8. chaoticbob

    Screen Coordinate Origin

  9. Just wanted to ask this for a sanity check. I found some similar questions with regard to D3D11 and D3D9 - but wanted to confirm for D3D12.    With out applying any transformations the following data draws a rect using tri strips with the color being the texture coordinates:   // x, y, z, w, u, v std::vector<float> data = { -0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f, -0.5f,  0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 0.5f, -0.5f, 0.0f, 1.0f, 1.0f, 0.0f, 0.5f,  0.5f, 0.0f, 1.0f, 1.0f, 1.0f, };   What I'm seeing is that (0,0) for UV is at the lower left hand. That is the color gradient starts out black on the lower left hand.   Is this the correct default behavior when there's not any transformations applied? Or did I muck something up in the pipeline?   Thanks!     UPDATE: I've compared this with the Microsoft supplied D3D12 samples (D3D12HelloWorld) and it does look like it's 'default' behavior when there are no transformations applied.
  10. When using multiple render targets, it is required that all the render targets have the same sample count and quality?
  11. Thanks fellas! Makes a lot more sense now.
  12. Hi,   I'm trying to wrap my head around making sense of descriptor tables and heaps to design a flexible root signature/resource mapping system. I'm a little lost in the weeds and would appreciate someone pointing me in the right direction. Here goes:   So lets say I have two descriptor tables (CBV and SRV) in my root parameters - how do I allocate a descriptor heap properly so that there's enough storage for N and M ranges in the CBV and SRV respectively? Related to #1 - how is the index for the the descriptor tables into the heap specified? Related to #1, if I am able to allocate a large enough descriptor heap, is the full increment size just N or M times the handle increment size? Lastly, if I'm trying to draw a large amount geometry in batches that have unique resources, what's the most optimal descriptor table and heap configuration I should consider? Thanks!  
  13. chaoticbob

    DirectX 12: flushing upload heaps

    Thanks Jesse, for the super quick reply!
  14. Hello,   Was wondering if I need to flush after writing to a heap of type D3D12_HEAP_TYPE_UPLOAD before copying from it in command list or using it in a shader? I looked around but couldn't find anything conclusive.   Thanks
  • 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!