I had muted resource creation in the debug spew for a while and recently turned it on again. I noticed on ExecuteCommandLIsts that a bunch of new command lists get created and destroyed for some reason. This happens even on warp in something basic like the hello window sample. I'd see things like this in D3D11 too like if you set the backbuffer to be multisampled and I assumed it was because some sort of patching was happening to make the resolve happen. I don't know why I need any patching of my command lists though, especially on the hello window sample.
Also on the hello window sample I get the following error if I don't run in WARP:
D3D12 ERROR: GPU-BASED VALIDATION: Present, Back Buffer state invalid, Incompatible resource state: Resource: 0x000002084FA6FA00:'Unnamed ID3D12Resource Object', Subresource Index: [0], Resource State: D3D12_RESOURCE_STATE_[COMMON|PRESENT](0x0, Transitioned using a COPY command list), Required State Bits: D3D12_RESOURCE_STATE_[COMMON|PRESENT](0x0), Draw Count [0], Dispatch Count [0], Command List: <deleted>, Resources used in COPY command lists must start out in the D3D12_RESOURCE_STATE_COMMON state, [ EXECUTION ERROR #942: GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE]
This only happens with gpu validation on, obviously. I'm running up to date windows/nvidia drivers. I don't know what gpu validation is but it sounds nice?