aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_private.h
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2019-09-13 13:40:44 +0200
committerSamuel Pitoiset <[email protected]>2020-02-13 08:14:01 +0100
commit556c9401495930c23a10ca2a26db098d12663e27 (patch)
tree1ca4d909c263c20a8e5389f2b767d7c962dc1714 /src/amd/vulkan/radv_private.h
parentfbcf05382baefe6ecdd279e2c98025f15938fadc (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.h22
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;