[Mesa-dev] [PATCH 15/16] spirv/nir: Handle texture projectors
Jason Ekstrand
jason at jlekstrand.net
Fri Jul 22 04:22:03 UTC 2016
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-dev at lists.freedesktop.org>
---
src/compiler/spirv/spirv_to_nir.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index 6ebf951..20ff472 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -1442,6 +1442,21 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode,
break;
}
+ switch (opcode) {
+ case SpvOpImageSampleProjImplicitLod:
+ case SpvOpImageSampleProjExplicitLod:
+ case SpvOpImageSampleProjDrefImplicitLod:
+ case SpvOpImageSampleProjDrefExplicitLod:
+ /* These have the projetor as the last coordinate component */
+ p->src = nir_src_for_ssa(nir_channel(&b->nb, coord, coord_components));
+ p->src_type = nir_tex_src_projector;
+ p++;
+ break;
+
+ default:
+ break;
+ }
+
unsigned gather_component = 0;
switch (opcode) {
case SpvOpImageSampleDrefImplicitLod:
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list