diff options
author | Andreas Baierl <[email protected]> | 2019-06-04 13:24:53 +0200 |
---|---|---|
committer | Qiang Yu <[email protected]> | 2019-07-18 13:20:39 +0000 |
commit | f5804f17680e240eb6d14a306e0911b837c9a16a (patch) | |
tree | 20c272c7a790acdca40989759c60bea2e16549f2 /src/compiler | |
parent | 24af57407c2b2689394aef5a6666ba33727879a7 (diff) |
nir: Add gl_PointCoord system value
gl_PointCoord handling needs some special bits set in lima/ppir code
generation. Treating gl_PointCoord as a system value makes it easier
to distinguish from a regular varying.
Signed-off-by: Andreas Baierl <[email protected]>
Reviewed-by: Qiang Yu <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/nir/nir.c | 4 | ||||
-rw-r--r-- | src/compiler/nir/nir_gather_info.c | 1 | ||||
-rw-r--r-- | src/compiler/nir/nir_intrinsics.py | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.c b/src/compiler/nir/nir.c index 3e52d0b3cac..bf7a5fa0b7e 100644 --- a/src/compiler/nir/nir.c +++ b/src/compiler/nir/nir.c @@ -1957,6 +1957,8 @@ nir_intrinsic_from_system_value(gl_system_value val) return nir_intrinsic_load_invocation_id; case SYSTEM_VALUE_FRAG_COORD: return nir_intrinsic_load_frag_coord; + case SYSTEM_VALUE_POINT_COORD: + return nir_intrinsic_load_point_coord; case SYSTEM_VALUE_FRONT_FACE: return nir_intrinsic_load_front_face; case SYSTEM_VALUE_SAMPLE_ID: @@ -2046,6 +2048,8 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin) return SYSTEM_VALUE_INVOCATION_ID; case nir_intrinsic_load_frag_coord: return SYSTEM_VALUE_FRAG_COORD; + case nir_intrinsic_load_point_coord: + return SYSTEM_VALUE_POINT_COORD; case nir_intrinsic_load_front_face: return SYSTEM_VALUE_FRONT_FACE; case nir_intrinsic_load_sample_id: diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c index 3093a035368..04a1f9b38bc 100644 --- a/src/compiler/nir/nir_gather_info.c +++ b/src/compiler/nir/nir_gather_info.c @@ -238,6 +238,7 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader, case nir_intrinsic_load_draw_id: case nir_intrinsic_load_frag_coord: + case nir_intrinsic_load_point_coord: case nir_intrinsic_load_front_face: case nir_intrinsic_load_vertex_id: case nir_intrinsic_load_vertex_id_zero_base: diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 0ae5c12a280..373153a8db4 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -535,6 +535,7 @@ def system_value(name, dest_comp, indices=[], bit_sizes=[32]): bit_sizes=bit_sizes) system_value("frag_coord", 4) +system_value("point_coord", 2) system_value("front_face", 1, bit_sizes=[1, 32]) system_value("vertex_id", 1) system_value("vertex_id_zero_base", 1) |