From 529e7ab9755c33c5c59438f3b58b5cfdc2eeffc5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 26 Jan 2024 09:15:33 -0500 Subject: [PATCH] lavapipe: RM2024 extension promotions Part-of: --- src/gallium/frontends/lavapipe/lvp_device.c | 4 ++++ src/gallium/frontends/lavapipe/lvp_execute.c | 11 ++++++----- src/gallium/frontends/lavapipe/lvp_pipeline.c | 8 ++++---- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index f844a2d06b8..ecaacc980d7 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -119,6 +119,9 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = #endif .KHR_image_format_list = true, .KHR_imageless_framebuffer = true, + .KHR_index_type_uint8 = true, + .KHR_line_rasterization = true, + .KHR_load_store_op_none = true, .KHR_maintenance1 = true, .KHR_maintenance2 = true, .KHR_maintenance3 = true, @@ -152,6 +155,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = .KHR_timeline_semaphore = true, .KHR_uniform_buffer_standard_layout = true, .KHR_variable_pointers = true, + .KHR_vertex_attribute_divisor = true, .KHR_vulkan_memory_model = true, .KHR_zero_initialize_workgroup_memory = true, .ARM_rasterization_order_attachment_access = true, diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index afaa427725e..cb58a850aa3 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -3657,13 +3657,13 @@ static void handle_set_halfz(struct vk_cmd_queue_entry *cmd, static void handle_set_line_rasterization_mode(struct vk_cmd_queue_entry *cmd, struct rendering_state *state) { - VkLineRasterizationModeEXT lineRasterizationMode = cmd->u.set_line_rasterization_mode_ext.line_rasterization_mode; + VkLineRasterizationModeKHR lineRasterizationMode = cmd->u.set_line_rasterization_mode_ext.line_rasterization_mode; /* not even going to bother trying dirty tracking on this */ state->rs_dirty = true; - state->rs_state.line_smooth = lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT; - state->rs_state.line_rectangular = lineRasterizationMode != VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT;; - state->disable_multisample = lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT || - lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT; + state->rs_state.line_smooth = lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR; + state->rs_state.line_rectangular = lineRasterizationMode != VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR;; + state->disable_multisample = lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR || + lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR; } static void handle_set_line_stipple_enable(struct vk_cmd_queue_entry *cmd, @@ -4383,6 +4383,7 @@ void lvp_add_enqueue_cmd_entrypoints(struct vk_device_dispatch_table *disp) ENQUEUE_CMD(CmdSetStencilTestEnable) ENQUEUE_CMD(CmdSetStencilOp) ENQUEUE_CMD(CmdSetLineStippleEXT) + ENQUEUE_CMD(CmdSetLineStippleKHR) ENQUEUE_CMD(CmdSetDepthBiasEnable) ENQUEUE_CMD(CmdSetLogicOpEXT) ENQUEUE_CMD(CmdSetPatchControlPointsEXT) diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c b/src/gallium/frontends/lavapipe/lvp_pipeline.c index 528b66b908b..34221aa62c5 100644 --- a/src/gallium/frontends/lavapipe/lvp_pipeline.c +++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c @@ -921,10 +921,10 @@ lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline, const struct vk_rasterization_state *rs = pipeline->graphics_state.rs; if (rs) { /* always draw bresenham if !smooth */ - pipeline->line_smooth = rs->line.mode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT; - pipeline->disable_multisample = rs->line.mode == VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT || - rs->line.mode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT; - pipeline->line_rectangular = rs->line.mode != VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT; + pipeline->line_smooth = rs->line.mode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR; + pipeline->disable_multisample = rs->line.mode == VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR || + rs->line.mode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR; + pipeline->line_rectangular = rs->line.mode != VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR; } else pipeline->line_rectangular = true; lvp_pipeline_xfb_init(pipeline);