You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Add GENERAL resource usage to the render graph. Fixes texture initialization in D3D12.
This commit is contained in:
@@ -81,6 +81,8 @@ String RenderingDeviceGraph::_usage_to_string(ResourceUsage p_usage) {
|
||||
return "Attachment Color Read Write";
|
||||
case RESOURCE_USAGE_ATTACHMENT_DEPTH_STENCIL_READ_WRITE:
|
||||
return "Attachment Depth Stencil Read Write";
|
||||
case RESOURCE_USAGE_GENERAL:
|
||||
return "General";
|
||||
default:
|
||||
ERR_FAIL_V_MSG("Invalid", vformat("Invalid resource usage %d.", p_usage));
|
||||
}
|
||||
@@ -108,6 +110,7 @@ bool RenderingDeviceGraph::_is_write_usage(ResourceUsage p_usage) {
|
||||
case RESOURCE_USAGE_STORAGE_IMAGE_READ_WRITE:
|
||||
case RESOURCE_USAGE_ATTACHMENT_COLOR_READ_WRITE:
|
||||
case RESOURCE_USAGE_ATTACHMENT_DEPTH_STENCIL_READ_WRITE:
|
||||
case RESOURCE_USAGE_GENERAL:
|
||||
return true;
|
||||
default:
|
||||
DEV_ASSERT(false && "Invalid resource tracker usage.");
|
||||
@@ -138,6 +141,8 @@ RDD::TextureLayout RenderingDeviceGraph::_usage_to_image_layout(ResourceUsage p_
|
||||
return RDD::TEXTURE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL;
|
||||
case RESOURCE_USAGE_ATTACHMENT_FRAGMENT_DENSITY_MAP_READ:
|
||||
return RDD::TEXTURE_LAYOUT_FRAGMENT_DENSITY_MAP_ATTACHMENT_OPTIMAL;
|
||||
case RESOURCE_USAGE_GENERAL:
|
||||
return RDD::TEXTURE_LAYOUT_GENERAL;
|
||||
case RESOURCE_USAGE_NONE:
|
||||
return RDD::TEXTURE_LAYOUT_UNDEFINED;
|
||||
default:
|
||||
@@ -186,6 +191,8 @@ RDD::BarrierAccessBits RenderingDeviceGraph::_usage_to_access_bits(ResourceUsage
|
||||
return RDD::BARRIER_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT;
|
||||
case RESOURCE_USAGE_ATTACHMENT_FRAGMENT_DENSITY_MAP_READ:
|
||||
return RDD::BARRIER_ACCESS_FRAGMENT_DENSITY_MAP_ATTACHMENT_READ_BIT;
|
||||
case RESOURCE_USAGE_GENERAL:
|
||||
return RDD::BarrierAccessBits(RDD::BARRIER_ACCESS_MEMORY_READ_BIT | RDD::BARRIER_ACCESS_MEMORY_WRITE_BIT);
|
||||
default:
|
||||
DEV_ASSERT(false && "Invalid usage.");
|
||||
return RDD::BarrierAccessBits(0);
|
||||
|
||||
Reference in New Issue
Block a user