1
0
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:
Dario
2025-09-02 15:12:37 -03:00
parent fcd1cf8d57
commit 8c4180adf4
4 changed files with 19 additions and 9 deletions

View File

@@ -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);