• Content count

  • Joined

  • Last visited

Community Reputation

244 Neutral

About maxmcmullen

  • Rank
  1. Can you check if you received a driver update recently?  If so, try going back to an older driver and see if the problem still occurs.  If it's a driver issue then you can push that bug to the hardware vendor via the developer relations contacts on their website usually.  Also, it'd be great for me to know what hardware & driver you're running.
  2. Direct3D 12 Staging Resources

    To Jason's initial post:   Some of the high level details were already revealed to respond to your post but it's quite a jump to get to the API details you probably want to hear.  D3D 12 doesn't have strongly typed memory allocations like D3D 11, which strictly limited the dimensionality and usage of memory at creation time.  On 12, the main memory allocation parameters are CPU access/cacheability and GPU locality vs CPU locality.  Some examples:   Dynamic vertex buffers in 11 would be an application managed ring buffer of memory in 12, allocated with write combined CPU cacheability and CPU locality.   11 style default 2D textures do not have CPU access and have GPU locality.  12 will also expose the ability to map multidimensional GPU local resources, useful for reading out the results of a reduction operation with low-latency for example.  In this case it would be write combined CPU access with GPU locality.  In the GDC unveil of D3D 12 this was briefly mentioned in a slide, called "map default" or "swizzled texture access" IIRC.   Cacheability and locality will not be mutable properties of memory allocations but 12 will allow memory of those given properties to be retasked for multiple resource types (1D/2D/3D, VB/Texture/UAV/..., width/height/depth, etc).  More details later this year....   D3D 12 will have multiple methods for moving data between CPU & GPU, each serving different scenarios/performance requirements.  More details later this year... .     To Alessio1989's reply:   I expect the feature level/cap evolution to remain the same.  D3D will expose some new features as independent caps and simultaneously bake sets of common caps together into a new feature level to guarantee support and reduce the implementation/testing matrix for developers.  It's the best of both worlds between D3D9 and D3D10+.  9 allowed fine-grained feature additions without forcing hardware vendors to perfectly align on feature set but created an unsupportable mess of combinations.  10 allowed developers to rely on a combination of features but tended to delay API support for hardware features until most GPU vendors had built or nearly built that combination in hardware.  11 & 12 have evolved to have caps for initial exposure with feature levels baking in a common set over time.
  3. BUILD 2014 Sessions

      It's the talk I gave at GDC two weeks ago, just for the BUILD audience.  I didn't have a cold at GDC so I thought I did better the first time :).
  4. DirectX 12 Announced

      I covered this in my D3D 12 talk at GDC.  3DMark has extensive redundant state set elimination logic, it defers state sets until draw and then only issues the deltas to D3D.  When my team ported 3DMark to D3D 12 we ripped out the internals of the state deferral mechanism and instead used it to implement a pipeline state object and command bundle cache.  We made sure it was a fair comparison - no optimizations to the 12 port that could also be applied to the 11 version.  In this case it was just the 12 design that enabled some app logic savings.  The 11 style fine-grained state deferral mechanism was more expensive in app logic than the 12 object caching approach.   Max McMullen Direct3D Development Lead
  5. So, Direct3D 11.2 is coming :O

    Sample code needed to be submitted a few weeks before BUILD to run through our content reviewers, etc.  My team didn't have a fully functional Tier 1 driver at that time so it only runs against Tier 2.  There will be an update posted in the next few days that supports Tier 1 as well.  If you can't wait the WARP software rasterizer (Tier 2) runs the Mars demo quite well on a good desktop/laptop processor.   Max McMullen Direct3D Development Lead Microsoft