anv: implement VK_KHR_fragment_shading_rate
Available on Gen11+. v2: Order shading rate in correct order (Samuel) v3: Move CPS_STATE emission to genX_state.c v4: Don't override various output structures (Jason) v5: Rebase on top master (Lionel) v6: Fix invalid VkPhysicalDeviceFragmentShadingRatePropertiesKHR (min|max)FragmentShadingRateAttachmentTexelSize values (Ken) Drop #endif comment v7: Limit extension to Gfx11+ (Lionel) Support conservative raster (Lionel) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7455>
This commit is contained in:

committed by
Marge Bot

parent
34c560ae95
commit
231651fd89
@@ -199,6 +199,9 @@ anv_dynamic_state_copy(struct anv_dynamic_state *dest,
|
||||
|
||||
ANV_CMP_COPY(color_writes, ANV_CMD_DIRTY_DYNAMIC_COLOR_BLEND_STATE);
|
||||
|
||||
ANV_CMP_COPY(fragment_shading_rate.width, ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE);
|
||||
ANV_CMP_COPY(fragment_shading_rate.height, ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE);
|
||||
|
||||
#undef ANV_CMP_COPY
|
||||
|
||||
return changed;
|
||||
@@ -1433,3 +1436,14 @@ void anv_CmdSetColorWriteEnableEXT(
|
||||
cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_DYNAMIC_COLOR_BLEND_STATE;
|
||||
}
|
||||
}
|
||||
|
||||
void anv_CmdSetFragmentShadingRateKHR(
|
||||
VkCommandBuffer commandBuffer,
|
||||
const VkExtent2D* pFragmentSize,
|
||||
const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
|
||||
{
|
||||
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
||||
cmd_buffer->state.gfx.dynamic.fragment_shading_rate = *pFragmentSize;
|
||||
cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE;
|
||||
}
|
||||
|
Reference in New Issue
Block a user