You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-02 16:48:55 +00:00
Fix buffer creation on old D3D12 runtimes.
This commit is contained in:
@@ -1059,6 +1059,11 @@ RDD::BufferID RenderingDeviceDriverD3D12::buffer_create(uint64_t p_size, BitFiel
|
|||||||
if (p_usage.has_flag(BUFFER_USAGE_DYNAMIC_PERSISTENT_BIT)) {
|
if (p_usage.has_flag(BUFFER_USAGE_DYNAMIC_PERSISTENT_BIT)) {
|
||||||
allocation_desc.HeapType = dynamic_persistent_upload_heap;
|
allocation_desc.HeapType = dynamic_persistent_upload_heap;
|
||||||
|
|
||||||
|
// D3D12_HEAP_TYPE_UPLOAD mandates D3D12_RESOURCE_STATE_GENERIC_READ.
|
||||||
|
if (dynamic_persistent_upload_heap == D3D12_HEAP_TYPE_UPLOAD) {
|
||||||
|
initial_state = D3D12_RESOURCE_STATE_GENERIC_READ;
|
||||||
|
}
|
||||||
|
|
||||||
// We can't use STORAGE for write access, just for read.
|
// We can't use STORAGE for write access, just for read.
|
||||||
resource_desc.Flags = resource_desc.Flags & ~D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
|
resource_desc.Flags = resource_desc.Flags & ~D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user