summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
authorMike Blumenkrantz <[email protected]>2019-04-18 13:18:43 -0400
committerKenneth Graunke <[email protected]>2019-04-23 16:36:16 -0700
commite00f6a06050a0d19d49f2b6525bbed2e0c28d44f (patch)
tree035e032e7152e1aed02f2e8224014e876f6f8357 /src/mesa/state_tracker
parent1b9041c76a1928114024b82fbee3153f7ebb71d1 (diff)
st/mesa: indicate intel extension support for inner_coverage based on cap
if the driver (iris) indicates support for the inner_coverage pipe cap, this will set the necessary states in the driver flags and rasterizer structs Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_atom_rasterizer.c2
-rw-r--r--src/mesa/state_tracker/st_context.c1
-rw-r--r--src/mesa/state_tracker/st_extensions.c1
3 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_atom_rasterizer.c b/src/mesa/state_tracker/st_atom_rasterizer.c
index fee992e4c4a..0d7d4c16fa6 100644
--- a/src/mesa/state_tracker/st_atom_rasterizer.c
+++ b/src/mesa/state_tracker/st_atom_rasterizer.c
@@ -306,6 +306,8 @@ st_update_rasterizer(struct st_context *st)
raster->conservative_raster_mode = PIPE_CONSERVATIVE_RASTER_POST_SNAP;
else
raster->conservative_raster_mode = PIPE_CONSERVATIVE_RASTER_PRE_SNAP;
+ } else if (ctx->IntelConservativeRasterization) {
+ raster->conservative_raster_mode = PIPE_CONSERVATIVE_RASTER_POST_SNAP;
} else {
raster->conservative_raster_mode = PIPE_CONSERVATIVE_RASTER_OFF;
}
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 09d467aa360..41239067084 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -513,6 +513,7 @@ st_init_driver_flags(struct st_context *st)
f->NewViewport = ST_NEW_VIEWPORT;
f->NewNvConservativeRasterization = ST_NEW_RASTERIZER;
f->NewNvConservativeRasterizationParams = ST_NEW_RASTERIZER;
+ f->NewIntelConservativeRasterization = ST_NEW_RASTERIZER;
}
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 3851c4ec6cc..b23bd7c044d 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -772,6 +772,7 @@ void st_init_extensions(struct pipe_screen *screen,
{ o(ATI_meminfo), PIPE_CAP_QUERY_MEMORY_INFO },
{ o(AMD_seamless_cubemap_per_texture), PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE },
{ o(ATI_texture_mirror_once), PIPE_CAP_TEXTURE_MIRROR_CLAMP },
+ { o(INTEL_conservative_rasterization), PIPE_CAP_CONSERVATIVE_RASTER_INNER_COVERAGE },
{ o(MESA_tile_raster_order), PIPE_CAP_TILE_RASTER_ORDER },
{ o(NV_compute_shader_derivatives), PIPE_CAP_COMPUTE_SHADER_DERIVATIVES },
{ o(NV_conditional_render), PIPE_CAP_CONDITIONAL_RENDER },