diff --git a/src/gallium/drivers/d3d12/d3d12_resource.cpp b/src/gallium/drivers/d3d12/d3d12_resource.cpp index 4db371b49c6..a1a0e81df26 100644 --- a/src/gallium/drivers/d3d12/d3d12_resource.cpp +++ b/src/gallium/drivers/d3d12/d3d12_resource.cpp @@ -354,6 +354,9 @@ init_texture(struct d3d12_screen *screen, D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT : D3D12_HEAP_FLAG_NONE; init_residency = screen->support_create_not_resident ? d3d12_evicted : d3d12_resident; + if (templ->bind & PIPE_BIND_SHARED) + heap_flags |= D3D12_HEAP_FLAG_SHARED; + hres = screen->dev10->CreateCommittedResource3(&heap_pris, heap_flags, &desc1, @@ -382,6 +385,9 @@ init_texture(struct d3d12_screen *screen, D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT : D3D12_HEAP_FLAG_NONE; init_residency = screen->support_create_not_resident ? d3d12_evicted : d3d12_resident; + if (templ->bind & PIPE_BIND_SHARED) + heap_flags |= D3D12_HEAP_FLAG_SHARED; + hres = screen->dev->CreateCommittedResource(&heap_pris, heap_flags, &desc,