google / bigwheels

BigWheels is a cross-platform, API agnostic framework to build graphics applications.
Apache License 2.0
94 stars 37 forks source link

"dynamic rendering is not supported" for dx12_dynamic_rendering on RTX 4070 Ti #449

Open footballhead opened 8 months ago

footballhead commented 8 months ago

Log: ppx.log

Running dx12_dynamic_rendering on Windows 11 with RTX 4070 Ti produces:

*** PPX ASSERT ***
Message   : Cannot create a pipeline with dynamic render pass, dynamic rendering is not supported. 
Condition : false 
Function  : ppx::grfx::GraphicsPipeline::Create
Location  : C:\Users\Michael\Desktop\git\bigwheels\src\ppx\grfx\grfx_pipeline.cpp : 286

I think this is because my RTX 4070 Ti only has D3D12_RENDER_PASS_TIER_0 support but dx12::device::DynamicRenderingSupported wants > TIER_0. However, the docs has this to say for TIER_0:

The user-mode display driver hasn't implemented render passes, and so the feature is provided only via software emulation. Render passes might not provide a performance advantage at this level of support.

If I override dx12::device::DynamicRenderingSupported to return true then the program runs.

It is unclear to me why "dynamic rendering is not supported" for a tier that works