tu: Impement extendedDynamicState3RasterizationStream

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
This commit is contained in:
Connor Abbott
2022-09-30 14:07:17 +02:00
committed by Marge Bot
parent 6b82998985
commit 92dd505f7c
3 changed files with 19 additions and 1 deletions
+13
View File
@@ -3255,6 +3255,19 @@ tu_CmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,
cmd->state.dirty |= TU_CMD_DIRTY_RAST | TU_CMD_DIRTY_VIEWPORTS;
}
VKAPI_ATTR void VKAPI_CALL
tu_CmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,
uint32_t rasterizationStream)
{
TU_FROM_HANDLE(tu_cmd_buffer, cmd, commandBuffer);
cmd->state.pc_raster_cntl =
(cmd->state.pc_raster_cntl & ~A6XX_PC_RASTER_CNTL_STREAM__MASK) |
A6XX_PC_RASTER_CNTL_STREAM(rasterizationStream);
cmd->state.dirty |= TU_CMD_DIRTY_PC_RASTER_CNTL;
}
static void
tu_flush_for_access(struct tu_cache_state *cache,
enum tu_cmd_access_mask src_mask,
+1 -1
View File
@@ -771,7 +771,7 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
features->extendedDynamicState3AlphaToCoverageEnable = true;
features->extendedDynamicState3AlphaToOneEnable = true;
features->extendedDynamicState3DepthClipNegativeOneToOne = true;
features->extendedDynamicState3RasterizationStream = false;
features->extendedDynamicState3RasterizationStream = true;
features->extendedDynamicState3ConservativeRasterizationMode = false;
features->extendedDynamicState3ExtraPrimitiveOverestimationSize = false;
features->extendedDynamicState3LineRasterizationMode = false;
+5
View File
@@ -3772,6 +3772,11 @@ tu_pipeline_builder_parse_dynamic(struct tu_pipeline_builder *builder,
~A6XX_GRAS_CL_CNTL_ZERO_GB_SCALE_Z;
dynamic_viewport_range = true;
break;
case VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT:
pipeline->dynamic_state_mask |= BIT(TU_DYNAMIC_STATE_PC_RASTER_CNTL);
pipeline->rast.pc_raster_cntl_mask &=
~A6XX_PC_RASTER_CNTL_STREAM__MASK;
break;
default:
assert(!"unsupported dynamic state");
break;