@@ -1898,6 +1898,9 @@ uint32_t RenderingDevice::_texture_vrs_method_to_usage_bits() const {
18981898 return RDD::TEXTURE_USAGE_VRS_FRAGMENT_SHADING_RATE_BIT;
18991899 case VRS_METHOD_FRAGMENT_DENSITY_MAP:
19001900 return RDD::TEXTURE_USAGE_VRS_FRAGMENT_DENSITY_MAP_BIT;
1901+ case VRS_METHOD_RASTERIZATION_RATE_MAP:
1902+ // Currently no special usage is needed for rasterization rate map
1903+ return 0 ;
19011904 default :
19021905 return 0 ;
19031906 }
@@ -2719,6 +2722,8 @@ RDG::ResourceUsage RenderingDevice::_vrs_usage_from_method(VRSMethod p_method) {
27192722 return RDG::RESOURCE_USAGE_ATTACHMENT_FRAGMENT_SHADING_RATE_READ;
27202723 case VRS_METHOD_FRAGMENT_DENSITY_MAP:
27212724 return RDG::RESOURCE_USAGE_ATTACHMENT_FRAGMENT_DENSITY_MAP_READ;
2725+ case VRS_METHOD_RASTERIZATION_RATE_MAP:
2726+ return RDG::RESOURCE_USAGE_ATTACHMENT_RASTERIZATION_RATE_MAP_READ;
27222727 default :
27232728 return RDG::RESOURCE_USAGE_NONE;
27242729 }
@@ -2730,6 +2735,9 @@ RDD::PipelineStageBits RenderingDevice::_vrs_stages_from_method(VRSMethod p_meth
27302735 return RDD::PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT;
27312736 case VRS_METHOD_FRAGMENT_DENSITY_MAP:
27322737 return RDD::PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT;
2738+ case VRS_METHOD_RASTERIZATION_RATE_MAP:
2739+ // Rasterization rate does not need barrier. It's not a texture. It's readonly in shader.
2740+ return RDD::PipelineStageBits (0 );
27332741 default :
27342742 return RDD::PipelineStageBits (0 );
27352743 }
@@ -2741,6 +2749,10 @@ RDD::TextureLayout RenderingDevice::_vrs_layout_from_method(VRSMethod p_method)
27412749 return RDD::TEXTURE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL;
27422750 case VRS_METHOD_FRAGMENT_DENSITY_MAP:
27432751 return RDD::TEXTURE_LAYOUT_FRAGMENT_DENSITY_MAP_ATTACHMENT_OPTIMAL;
2752+ case VRS_METHOD_RASTERIZATION_RATE_MAP:
2753+ // Rasterization rate does not need layout transform. It's not a texture. It's readonly in shader.
2754+ // Keep its layout UNDEFINED
2755+ return RDD::TEXTURE_LAYOUT_UNDEFINED;
27442756 default :
27452757 return RDD::TEXTURE_LAYOUT_UNDEFINED;
27462758 }
0 commit comments