So, Direct3D 11.2 is coming :O

Started by
47 comments, last by Adam Miles 10 years, 9 months ago

On my GTX 670 WDDM 1.3 and tiled resources seem to be supported. However I can't get the tiled resource sample (http://code.msdn.microsoft.com/Direct3D-Tiled-Resources-80ee7a6e) to work.

I already posted the following in the Q&A section of the sample page:

I have a Nvidia GTX 670 and use the latest 326.01 driver. DirectX says that TIER1 resource tiling is supported.
When I execute the sample the first error occurs at TerrainRenderer.cpp:102

// Create a wrapping trilinear sampler with max-filter behavior.
samplerDesc.Filter = D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR;
DX::ThrowIfFailed(device->CreateSamplerState(&samplerDesc, &m_maxFilterSampler));

If I comment out "samplerDesc.Filter = D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR;" then the error doesn't occur.

The second problem occurs in ResidencyManager.cpp:700

device->GetResourceTiling(
texture,
&resource->totalTiles,
&resource->packedMipDesc,
&resource->tileShape,
&subresourceTilings,
0,
resource->subresourceTilings.data()
);

All entries in the resource->subresourceTilings array have WidthInTiles = HeightInTiles = DepthInTiles = 0. Therefore subsequent calls that allocate textures fail because of a size of 0 (WidthInTiles * HeightInTiles == 0).

Can anybody help me?

Has anybody fixed this or is it a driver problem?

Advertisement

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

Max McMullen

Direct3D Development Lead

Microsoft

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

Thank you for the info. Let's hope that most of DX 11.0 cards will be tier1 capable :o

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/


Unify textures and buffers. They are already inter-changable in many ways. Call them textures, arrays, buffers, resources, blobs, whatever. Make it a 4D structured block of data that can be used for input or output all throughout the pipeline. Where necessary a few creation flags in order to improve performance. And all resources/buffers/whatever are 4D. Remove resource dimension limits (ie. make them 32 or 64 bit unsigned ints), if there's memory available I should be able to create it.
This sounds like a good thing at first, but it actually ignores the hardware texture filtering capabilities if you treat everything the same. Texture data is accessed differently than buffer data, so there are logically different objects to represent them.

Even so, you could approximate some of this functionality with byte address buffers already, couldn't you?

The sentiment here seems fairly negative about the 11.2 features, but I was actually rather happy with the content considering that this is only a point release... The hardware overlay/compositing API seems like a pretty cool thing (although it shouldn't be optional...) and offers several levels of usage for different scenarios. Shader linking seems like a good idea in concept as an answer to the uber shader, although I would have to try it out for a final judgement. Mappable default buffers seems like a great addition to reduce memory usage/bandwidth and reduce the number of API calls needed.

Low latency presentation is also a welcome update for applications that require quick response to the user's input to be reflected in the rendered output. And of course, the tiled resources provide some pretty good functionality directly in the API. That is free functionality that is non-trivial to develop yourself, which is pretty good in my book.

On top of those, there are updates to the runtime behind the scenes for performance improvements. Why the negative vibe on this release??? It seems pretty solid to me.

Why the negative vibe on this release??? It seems pretty solid to me.


*puts on professional rendering developer hat*

The release is solid, don't get me wrong, the only issue I have is what features are going to end up going back to Win7? This hasn't been addressed anywhere at all and so from a 'use it in the real world' stand point, much like 11.1, it's a great big unknown.

To be honest most of the things I could live without, but Tiled Resources is a BIG thing because it brings a feature parity with both the up coming consoles.

As much as I like using Win8 at home and will update to Win8.1 pretty much right away the fact of the matter is that Win7 represents a very large market share still and will for some years yet so unless features are also avaliable on Win7 you will get a 'meh' reaction as they aren't overly fessible to work with/use.

<snip>

Yeah, this, basically.

OK, D3D10/Vista are behind us, and it's understandable if MS didn't want to backport the driver model as well as the API, but with 11.1 and now 11.2 the locking of a D3D version to a Windows version seems more and more an artificial and marketing-driven direction than anything based on technical merit. A lot of good work on this side of things was done with both D3D9 and 11, and it seems quite bizarre that MS would not only be so willing, but almost so eager, to throw it out.

D3D9 didn't win the API war by being locked to a specific Windows version and having all users upgrade in droves; it won because it was consistent and that consistency was available everywhere. 11.1 and 11.2 just don't have that, no matter how many cool and/or interesting features they bring to the table.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

Bad feelings? only two:

- It appears that d3d11.2 is not coming to Windows 7 (at least they could port the interface, like they did with d3d11.1), and windows 7 has like... 80% of the gaming market share?

- Cap bits, cap bits, and cap bits again... they should never have come back :\

The rest are all good and nice feature...

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

Ok - I understand your points, and for the most part I agree with them completely. The optionality of the features is what bothers me, but I think that is how point release features work... Perhaps for full required compliance there will be a D3D12 at some point in the future.

If I recall correctly, 11.1 didn't start out being supported on Win7 either, did it? That was added by an update later on in the year - or am I remembering wrong? Anyhow, thanks for the responses, I think we are in the same boat with wanting back porting and no required feature checking!

Some D3D11.1 got back ported to Win7 as part of a platform update, I seem to recall it being tied to an IE update too - I don't think everything made it back however (and it broke PIX, which has been fun here.. *sigh*), I seem to recall reading some features didn't work.

I should probably double check that at some point just to see where things are.

This topic is closed to new replies.

Advertisement