summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2015-03-09 01:58:54 -0700
committerKenneth Graunke <[email protected]>2015-03-12 08:29:48 -0700
commit2c79f6f9c339448b5361f080e8f373cea5de3179 (patch)
tree8aad30900656ef20e75c86359c2ffb2d8aad547e
parentb9dea9bc45299f19c445170a4cac27810547de00 (diff)
nir: Add intrinsics for SYSTEM_VALUE_BASE_VERTEX and VERTEX_ID_ZERO_BASE
Ian and I added these around the time Connor was developing NIR. Now that both exist, we should make them work together! Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r--src/glsl/nir/nir_intrinsics.h2
-rw-r--r--src/glsl/nir/nir_lower_system_values.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/src/glsl/nir/nir_intrinsics.h b/src/glsl/nir/nir_intrinsics.h
index 3bf102fc15c..8e28765c13a 100644
--- a/src/glsl/nir/nir_intrinsics.h
+++ b/src/glsl/nir/nir_intrinsics.h
@@ -95,6 +95,8 @@ ATOMIC(read, NIR_INTRINSIC_CAN_ELIMINATE)
SYSTEM_VALUE(front_face, 1)
SYSTEM_VALUE(vertex_id, 1)
+SYSTEM_VALUE(vertex_id_zero_base, 1)
+SYSTEM_VALUE(base_vertex, 1)
SYSTEM_VALUE(instance_id, 1)
SYSTEM_VALUE(sample_id, 1)
SYSTEM_VALUE(sample_pos, 2)
diff --git a/src/glsl/nir/nir_lower_system_values.c b/src/glsl/nir/nir_lower_system_values.c
index 328d4f1abc0..a6eec653e33 100644
--- a/src/glsl/nir/nir_lower_system_values.c
+++ b/src/glsl/nir/nir_lower_system_values.c
@@ -49,6 +49,12 @@ convert_instr(nir_intrinsic_instr *instr)
case SYSTEM_VALUE_VERTEX_ID:
op = nir_intrinsic_load_vertex_id;
break;
+ case SYSTEM_VALUE_VERTEX_ID_ZERO_BASE:
+ op = nir_intrinsic_load_vertex_id_zero_base;
+ break;
+ case SYSTEM_VALUE_BASE_VERTEX:
+ op = nir_intrinsic_load_base_vertex;
+ break;
case SYSTEM_VALUE_INSTANCE_ID:
op = nir_intrinsic_load_instance_id;
break;