diff options
author | Samuel Pitoiset <[email protected]> | 2019-09-13 13:40:44 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2020-02-13 08:14:01 +0100 |
commit | 556c9401495930c23a10ca2a26db098d12663e27 (patch) | |
tree | 1ca4d909c263c20a8e5389f2b767d7c962dc1714 /src/amd/vulkan/radv_private.h | |
parent | fbcf05382baefe6ecdd279e2c98025f15938fadc (diff) |
radv: implement VK_EXT_line_rasterization
Only Bresenham lines are supported. GFX9 is currently disabled
because there is some CTS failures for some weird reasons.
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2982>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2982>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r-- | src/amd/vulkan/radv_private.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 537355f6c9a..af2f05859a1 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -971,7 +971,8 @@ enum radv_dynamic_state_bits { RADV_DYNAMIC_STENCIL_REFERENCE = 1 << 8, RADV_DYNAMIC_DISCARD_RECTANGLE = 1 << 9, RADV_DYNAMIC_SAMPLE_LOCATIONS = 1 << 10, - RADV_DYNAMIC_ALL = (1 << 11) - 1, + RADV_DYNAMIC_LINE_STIPPLE = 1 << 11, + RADV_DYNAMIC_ALL = (1 << 12) - 1, }; enum radv_cmd_dirty_bits { @@ -988,12 +989,13 @@ enum radv_cmd_dirty_bits { RADV_CMD_DIRTY_DYNAMIC_STENCIL_REFERENCE = 1 << 8, RADV_CMD_DIRTY_DYNAMIC_DISCARD_RECTANGLE = 1 << 9, RADV_CMD_DIRTY_DYNAMIC_SAMPLE_LOCATIONS = 1 << 10, - RADV_CMD_DIRTY_DYNAMIC_ALL = (1 << 11) - 1, - RADV_CMD_DIRTY_PIPELINE = 1 << 11, - RADV_CMD_DIRTY_INDEX_BUFFER = 1 << 12, - RADV_CMD_DIRTY_FRAMEBUFFER = 1 << 13, - RADV_CMD_DIRTY_VERTEX_BUFFER = 1 << 14, - RADV_CMD_DIRTY_STREAMOUT_BUFFER = 1 << 15, + RADV_CMD_DIRTY_DYNAMIC_LINE_STIPPLE = 1 << 11, + RADV_CMD_DIRTY_DYNAMIC_ALL = (1 << 12) - 1, + RADV_CMD_DIRTY_PIPELINE = 1 << 12, + RADV_CMD_DIRTY_INDEX_BUFFER = 1 << 13, + RADV_CMD_DIRTY_FRAMEBUFFER = 1 << 14, + RADV_CMD_DIRTY_VERTEX_BUFFER = 1 << 15, + RADV_CMD_DIRTY_STREAMOUT_BUFFER = 1 << 16, }; enum radv_cmd_flush_bits { @@ -1125,6 +1127,11 @@ struct radv_dynamic_state { struct radv_discard_rectangle_state discard_rectangle; struct radv_sample_locations_state sample_location; + + struct { + uint32_t factor; + uint16_t pattern; + } line_stipple; }; extern const struct radv_dynamic_state default_dynamic_state; @@ -1640,6 +1647,7 @@ struct radv_pipeline { bool can_use_guardband; uint32_t needed_dynamic_state; bool disable_out_of_order_rast_for_occlusion; + uint8_t topology; /* Used for rbplus */ uint32_t col_format; |