summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_context.h
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-04-28 23:25:10 -0700
committerKenneth Graunke <[email protected]>2019-04-29 10:53:23 -0700
commitdcfca0af7c5c2938d01abd7374b57ab242715508 (patch)
treea04c2dc71ab9462531461afc6295305334bb429c /src/gallium/drivers/iris/iris_context.h
parentbd4c661ad08e772fdccb562ffbb2f45705c4fec8 (diff)
iris: Set XY Clipping correctly.
I was setting it based off a pipe_rasterizer_state field that appears to be entirely dead outside of the draw module respecting it. I should be setting it when the primitive type reaching the SF is neither points nor lines. This is, unfortunately, rather dirty, as we have to look at the rasterizer state, the geometry shader state, the tessellation evaluation shader state, and the primitive type...
Diffstat (limited to 'src/gallium/drivers/iris/iris_context.h')
-rw-r--r--src/gallium/drivers/iris/iris_context.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h
index 51bbdb681e7..31f345d36b0 100644
--- a/src/gallium/drivers/iris/iris_context.h
+++ b/src/gallium/drivers/iris/iris_context.h
@@ -504,6 +504,9 @@ struct iris_context {
unsigned urb_size;
+ /** Is a GS or TES outputting points or lines? */
+ bool output_topology_is_points_or_lines;
+
/* Track last VS URB entry size */
unsigned last_vs_entry_size;
@@ -548,6 +551,7 @@ struct iris_context {
bool primitive_restart;
unsigned cut_index;
enum pipe_prim_type prim_mode:8;
+ bool prim_is_points_or_lines;
uint8_t vertices_per_patch;
/** The last compute grid size */