zink: fixup scissoring
[mesa.git] / src / gallium / drivers / zink / zink_context.h
index d2cc752764ac1a195ada26fc909c70e42c1081ad..173f076c0df4b602f31731578083538952b12d32 100644 (file)
 #include "pipe/p_state.h"
 
 #include "util/slab.h"
+#include "util/list.h"
 
 #include <vulkan/vulkan.h>
 
 struct blitter_context;
 struct primconvert_context;
+struct list_head;
 
 struct zink_blend_state;
 struct zink_depth_stencil_alpha_state;
@@ -87,11 +89,11 @@ struct zink_context {
 
    struct zink_framebuffer *framebuffer;
 
+   struct pipe_viewport_state viewport_states[PIPE_MAX_VIEWPORTS];
+   struct pipe_scissor_state scissor_states[PIPE_MAX_VIEWPORTS];
    VkViewport viewports[PIPE_MAX_VIEWPORTS];
-   unsigned num_viewports;
-
    VkRect2D scissors[PIPE_MAX_VIEWPORTS];
-   unsigned num_scissors;
+   unsigned num_viewports;
 
    struct pipe_vertex_buffer buffers[PIPE_MAX_ATTRIBS];
    uint32_t buffers_enabled_mask;
@@ -104,6 +106,9 @@ struct zink_context {
    float blend_constants[4];
 
    struct pipe_stencil_ref stencil_ref;
+
+   struct list_head active_queries;
+   bool queries_disabled;
 };
 
 static inline struct zink_context *