From: Tapani Pälli Date: Sun, 31 May 2020 10:54:47 +0000 (+0300) Subject: anv: add support for dynamic viewport and scissor with count X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=f426663f9c77c745b82426580e24b5ba0c7ba43c anv: add support for dynamic viewport and scissor with count Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Part-of: --- diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 6cc2d3f3d36..95bc38db4e1 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -489,6 +489,21 @@ void anv_CmdSetViewport( cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_DYNAMIC_VIEWPORT; } +void anv_CmdSetViewportWithCountEXT( + VkCommandBuffer commandBuffer, + uint32_t viewportCount, + const VkViewport* pViewports) +{ + ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer); + + cmd_buffer->state.gfx.dynamic.viewport.count = viewportCount; + + memcpy(cmd_buffer->state.gfx.dynamic.viewport.viewports, + pViewports, viewportCount * sizeof(*pViewports)); + + cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_DYNAMIC_VIEWPORT; +} + void anv_CmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, @@ -507,6 +522,21 @@ void anv_CmdSetScissor( cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_DYNAMIC_SCISSOR; } +void anv_CmdSetScissorWithCountEXT( + VkCommandBuffer commandBuffer, + uint32_t scissorCount, + const VkRect2D* pScissors) +{ + ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer); + + cmd_buffer->state.gfx.dynamic.scissor.count = scissorCount; + + memcpy(cmd_buffer->state.gfx.dynamic.scissor.scissors, + pScissors, scissorCount * sizeof(*pScissors)); + + cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_DYNAMIC_SCISSOR; +} + void anv_CmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth)