Re: [Mesa-dev] [PATCH v2 11/12] nir: Add return lowering pass

2015-12-28 Thread Jason Ekstrand
On Mon, Dec 28, 2015 at 12:40 PM, Connor Abbott wrote: > On Mon, Dec 28, 2015 at 2:29 AM, Jason Ekstrand > wrote: > > This commit adds a NIR pass for lowering away returns in functions. If > the > > return is in a loop, it is lowered to a break. If

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Connor Abbott
On Mon, Dec 28, 2015 at 3:31 PM, Rob Clark wrote: > On Mon, Dec 28, 2015 at 1:58 PM, Connor Abbott wrote: >> On Mon, Dec 28, 2015 at 1:35 PM, Rob Clark wrote: >>> On Mon, Dec 28, 2015 at 12:37 PM, Connor Abbott

[Mesa-dev] [PATCH] drirc: Disable ARB_blend_func_extended for Heaven 4.0/Valley 1.0.

2015-12-28 Thread Kenneth Graunke
Unigine Heaven 4.0 and Valley 1.0 use dual color blending but don't specify which fragment shader output is which, so there's at best a 50/50 chance of us guessing it correctly. This is invalid. Unigine fixed this in 4.1 and 1.1 versions over a year and a half ago, but hasn't actually released

Re: [Mesa-dev] [PATCH v2 11/12] nir: Add return lowering pass

2015-12-28 Thread Connor Abbott
On Mon, Dec 28, 2015 at 5:02 PM, Jason Ekstrand wrote: > > > On Mon, Dec 28, 2015 at 1:28 PM, Connor Abbott wrote: >> >> On Mon, Dec 28, 2015 at 4:21 PM, Jason Ekstrand >> wrote: >> >> >> >> >> >> but I hope you can get loops

Re: [Mesa-dev] [PATCH 0/10] Tessellation shaders for Gen7/7.5.

2015-12-28 Thread Jordan Justen
On 2015-12-24 17:34:18, Kenneth Graunke wrote: > This morning, I woke up and somehow "knew" what was causing my HS GPU hangs > on Gen7/7.5. It turns out I was (completely) wrong, but through some > miraculous series of illogical leaps, I arrived at a solution anyway. > > I don't honestly know

Re: [Mesa-dev] [PATCH v5] Add .mailmap

2015-12-28 Thread Erik Faye-Lund
On Mon, Dec 28, 2015 at 12:23 PM, wrote: > Should I be expecting to see myself on here? > Only if you have commits in mesa.git attributed to you using the same name but different e-mail addresses... ___ mesa-dev mailing

[Mesa-dev] [PATCH v5] Add .mailmap

2015-12-28 Thread Giuseppe Bilotta
This adds a first tentative .mailmap file, to canonicize contributor name/emails in shortlogs and other statistical endeavours. Signed-off-by: Giuseppe Bilotta --- Hopefully the last time I need to submit this … .mailmap | 460

Re: [Mesa-dev] [PATCH v5] Add .mailmap

2015-12-28 Thread eocallaghan
Should I be expecting to see myself on here? On 2015-12-28 20:50, Giuseppe Bilotta wrote: This adds a first tentative .mailmap file, to canonicize contributor name/emails in shortlogs and other statistical endeavours. Signed-off-by: Giuseppe Bilotta --- Hopefully

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Rob Clark
On Tue, Dec 22, 2015 at 10:11 PM, Connor Abbott wrote: > On Tue, Dec 22, 2015 at 9:55 PM, Rob Clark wrote: >> On Tue, Dec 22, 2015 at 9:47 PM, Connor Abbott wrote: >>> On Tue, Dec 22, 2015 at 9:02 PM, Rob Clark

Re: [Mesa-dev] [PATCH 01/12] nir: Get rid of function overloads

2015-12-28 Thread Rob Clark
On Sat, Dec 26, 2015 at 2:09 PM, Jason Ekstrand wrote: > When Connor originally drafted NIR, he copied the same function+overload > system that GLSL IR had with a few names changed. However, this > double-indirection is not really needed and has only served to confuse >

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Connor Abbott
On Mon, Dec 28, 2015 at 10:13 AM, Rob Clark wrote: > On Tue, Dec 22, 2015 at 10:11 PM, Connor Abbott wrote: >> On Tue, Dec 22, 2015 at 9:55 PM, Rob Clark wrote: >>> On Tue, Dec 22, 2015 at 9:47 PM, Connor Abbott

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Jason Ekstrand
On Mon, Dec 28, 2015 at 9:37 AM, Connor Abbott wrote: > On Mon, Dec 28, 2015 at 10:13 AM, Rob Clark wrote: > > On Tue, Dec 22, 2015 at 10:11 PM, Connor Abbott > wrote: > >> On Tue, Dec 22, 2015 at 9:55 PM, Rob Clark

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Connor Abbott
On Mon, Dec 28, 2015 at 3:25 PM, Rob Clark wrote: > On Mon, Dec 28, 2015 at 2:05 PM, Jason Ekstrand wrote: >> >> >> On Mon, Dec 28, 2015 at 10:33 AM, Rob Clark wrote: >>> >>> On Mon, Dec 28, 2015 at 1:20 PM, Jason Ekstrand

Re: [Mesa-dev] [PATCH v2 11/12] nir: Add return lowering pass

2015-12-28 Thread Connor Abbott
On Mon, Dec 28, 2015 at 4:21 PM, Jason Ekstrand wrote: >> >> >> but I hope you can get loops working soon so you can test this (and >> hey, loops are useful for other things too :P). > > > Yeah, I'm starting on adding a real CFG to spirv_to_nir today. It's the > task that

Re: [Mesa-dev] [PATCH v2 11/12] nir: Add return lowering pass

2015-12-28 Thread Jason Ekstrand
On Mon, Dec 28, 2015 at 1:28 PM, Connor Abbott wrote: > On Mon, Dec 28, 2015 at 4:21 PM, Jason Ekstrand > wrote: > >> > >> > >> but I hope you can get loops working soon so you can test this (and > >> hey, loops are useful for other things too :P). > >

[Mesa-dev] [PATCH] Revert "nouveau: enable use of new kernel interfaces"

2015-12-28 Thread Ilia Mirkin
This reverts commit a8c474760268f2eb655cea06dbef4500236a, and allows the new kernel interfaces to be optionally enabled, but still off by default. Some people are having issues while others aren't, need to investigate. Signed-off-by: Ilia Mirkin Cc: Ben Skeggs

Re: [Mesa-dev] [PATCH] nouveau: fix double free when screen_create fails

2015-12-28 Thread samuel.pitoiset
On 12/11/2015 21:21, Samuel Pitoiset wrote: On 11/12/2015 08:51 PM, Samuel Pitoiset wrote: Hi Emil, On 11/10/2015 04:35 PM, Emil Velikov wrote: Hi Samuel, Sorry about this I thought I already replied :-\ On 29 October 2015 at 22:22, Samuel Pitoiset wrote: On

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Rob Clark
On Mon, Dec 28, 2015 at 1:20 PM, Jason Ekstrand wrote: > > > On Mon, Dec 28, 2015 at 9:37 AM, Connor Abbott wrote: >> >> On Mon, Dec 28, 2015 at 10:13 AM, Rob Clark wrote: >> > On Tue, Dec 22, 2015 at 10:11 PM, Connor Abbott

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Connor Abbott
On Mon, Dec 28, 2015 at 1:35 PM, Rob Clark wrote: > On Mon, Dec 28, 2015 at 12:37 PM, Connor Abbott wrote: >> On Mon, Dec 28, 2015 at 10:13 AM, Rob Clark wrote: >>> On Tue, Dec 22, 2015 at 10:11 PM, Connor Abbott

[Mesa-dev] [Bug 93524] Clover doesn't build

2015-12-28 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=93524 Bug ID: 93524 Summary: Clover doesn't build Product: Mesa Version: 11.0 Hardware: Other OS: FreeBSD Status: NEW Severity: normal Priority:

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Rob Clark
On Mon, Dec 28, 2015 at 1:58 PM, Connor Abbott wrote: > On Mon, Dec 28, 2015 at 1:35 PM, Rob Clark wrote: >> On Mon, Dec 28, 2015 at 12:37 PM, Connor Abbott wrote: >>> On Mon, Dec 28, 2015 at 10:13 AM, Rob Clark

Re: [Mesa-dev] [PATCH v2 11/12] nir: Add return lowering pass

2015-12-28 Thread Connor Abbott
On Mon, Dec 28, 2015 at 2:29 AM, Jason Ekstrand wrote: > This commit adds a NIR pass for lowering away returns in functions. If the > return is in a loop, it is lowered to a break. If it is not in a loop, > it's lowered away by moving/deleting code as needed. > --- >

[Mesa-dev] [PATCH] mesa: Add a helper function for shared code in get_tex_rgba_{un}compressed

2015-12-28 Thread Anuj Phogat
Signed-off-by: Anuj Phogat --- src/mesa/main/texgetimage.c | 83 + 1 file changed, 38 insertions(+), 45 deletions(-) diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index b273aaa..4399803 100644 ---

[Mesa-dev] [RFC PATCH] glsl: keep track of ssbo variable being accessed, add access params

2015-12-28 Thread Ilia Mirkin
Currently any access params (coherent/volatile/restrict) are being lost when lowering to the ssbo load/store intrinsics. Keep track of the variable being used, and bake its access params in as the last arg of the load/store intrinsics. Signed-off-by: Ilia Mirkin --- This

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Rob Clark
On Mon, Dec 28, 2015 at 2:05 PM, Jason Ekstrand wrote: > > > On Mon, Dec 28, 2015 at 10:33 AM, Rob Clark wrote: >> >> On Mon, Dec 28, 2015 at 1:20 PM, Jason Ekstrand >> wrote: >> > >> > >> > On Mon, Dec 28, 2015 at 9:37 AM, Connor

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Rob Clark
On Mon, Dec 28, 2015 at 12:37 PM, Connor Abbott wrote: > On Mon, Dec 28, 2015 at 10:13 AM, Rob Clark wrote: >> On Tue, Dec 22, 2015 at 10:11 PM, Connor Abbott wrote: >>> On Tue, Dec 22, 2015 at 9:55 PM, Rob Clark

Re: [Mesa-dev] [RFC] i965: alternative to memctx for cleaning up nir variants

2015-12-28 Thread Jason Ekstrand
On Mon, Dec 28, 2015 at 10:33 AM, Rob Clark wrote: > On Mon, Dec 28, 2015 at 1:20 PM, Jason Ekstrand > wrote: > > > > > > On Mon, Dec 28, 2015 at 9:37 AM, Connor Abbott > wrote: > >> > >> On Mon, Dec 28, 2015 at 10:13 AM, Rob

[Mesa-dev] [PATCH 20/28] glsl: pack vertex attributes with component layout qualifiers

2015-12-28 Thread Timothy Arceri
This actually tries to pack any input with an explicit location we just let the optimisiation passes clean up the extra assignments if there was no actual packing done. --- src/glsl/ir_optimization.h | 1 + src/glsl/link_varyings.cpp | 33 ++---

[Mesa-dev] [PATCH 26/28] glsl: lower tessellation varyings packed with component layout qualifier

2015-12-28 Thread Timothy Arceri
For tessellation shaders we cannot just copy everything to the packed varyings like we do in other stages as tessellation uses shared memory for varyings, therefore it is only safe to copy array elements that the shader actually uses. This class searches the IR for uses of varyings and then

[Mesa-dev] [PATCH 21/28] glsl: pack fragment shader outputs with component layout qualifiers

2015-12-28 Thread Timothy Arceri
This actually tries to pack any output with an explicit location we just let the optimisiation passes clean up the extra assignments if there was no actual packing done. --- src/glsl/link_varyings.cpp | 17 + 1 file changed, 17 insertions(+) diff --git

[Mesa-dev] [PATCH 17/28] glsl: enable lowering of varyings with explicit component

2015-12-28 Thread Timothy Arceri
--- src/glsl/ir_optimization.h | 3 ++- src/glsl/link_varyings.cpp | 6 -- src/glsl/lower_packed_varyings.cpp | 33 - 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/glsl/ir_optimization.h b/src/glsl/ir_optimization.h

[Mesa-dev] [PATCH 16/28] glsl: don't pack tessellation stages like we do other stages

2015-12-28 Thread Timothy Arceri
Tessellation shaders treat varyings as shared memory and invocations can access each others varyings therefore we can't use the existing method to lower them. This adds a check for these stages as following patches will allow explicit locations to be lowered even when the driver and existing

[Mesa-dev] [PATCH 18/28] glsl: validate linking of intrastage component qualifiers

2015-12-28 Thread Timothy Arceri
--- src/glsl/linker.cpp | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index f709922..41ff057 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -990,6 +990,13 @@ cross_validate_globals(struct gl_shader_program *prog,

[Mesa-dev] [PATCH 25/28] glsl: move packed varying creation code to a helper

2015-12-28 Thread Timothy Arceri
This will also be used by tessellation packing code in a following patch. --- src/glsl/lower_packed_varyings.cpp | 45 +- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/src/glsl/lower_packed_varyings.cpp b/src/glsl/lower_packed_varyings.cpp

[Mesa-dev] [PATCH 19/28] glsl: add support for explicit components to frag outputs

2015-12-28 Thread Timothy Arceri
--- src/glsl/linker.cpp | 56 - 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 41ff057..44dd7f0 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -2411,7 +2411,12 @@

[Mesa-dev] [PATCH 24/28] glsl: make needs_lowering() a shared packing helper function

2015-12-28 Thread Timothy Arceri
--- src/glsl/lower_packed_varyings.cpp | 58 +++--- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/glsl/lower_packed_varyings.cpp b/src/glsl/lower_packed_varyings.cpp index 1c67b3a..08d6447 100644 --- a/src/glsl/lower_packed_varyings.cpp +++

[Mesa-dev] [PATCH 15/28] glsl: add support for packing varyings with explicit locations

2015-12-28 Thread Timothy Arceri
--- src/glsl/lower_packed_varyings.cpp | 45 +++--- 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/src/glsl/lower_packed_varyings.cpp b/src/glsl/lower_packed_varyings.cpp index d91aa22..2899846 100644 --- a/src/glsl/lower_packed_varyings.cpp +++

[Mesa-dev] [PATCH 28/28] docs: mark component layout qualifiers as DONE

2015-12-28 Thread Timothy Arceri
--- docs/GL3.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/GL3.txt b/docs/GL3.txt index 58aace9..56e2f7c 100644 --- a/docs/GL3.txt +++ b/docs/GL3.txt @@ -182,7 +182,7 @@ GL 4.4, GLSL 4.40: - compile-time constant expressions DONE - explicit

[Mesa-dev] [PATCH 12/28] glsl: update explicit location matching to support component qualifier

2015-12-28 Thread Timothy Arceri
This is needed so we don't optimise away the varying when more than one shares the same location. --- src/glsl/linker.cpp | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 31d55e3..f709922 100644 --- a/src/glsl/linker.cpp

[Mesa-dev] [PATCH 22/28] glsl: get geometry shader vertex count from type when packing

2015-12-28 Thread Timothy Arceri
Rather than passing in the vertex count to the packing pass just use the outermost array size to get the count. --- src/glsl/ir_optimization.h | 3 +- src/glsl/link_varyings.cpp | 21 --- src/glsl/lower_packed_varyings.cpp | 73 +- 3

[Mesa-dev] [PATCH 27/28] mesa: add LOCATION_COMPONENT support to GetProgramResourceiv

2015-12-28 Thread Timothy Arceri
From Section 7.3.1.1 (Naming Active Resources) of the OpenGL 4.5 spec: "For the property LOCATION_COMPONENT, a single integer indicating the first component of the location assigned to an active input or output variable is written to params. For input and output variables with a

[Mesa-dev] [PATCH 23/28] glsl: add pack varying to resource list for vertex input / fragment output

2015-12-28 Thread Timothy Arceri
This is needed now that we pack these type of varyings when they have a component layout qualifier. --- src/glsl/linker.cpp | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 44dd7f0..52a326a 100644 ---

[Mesa-dev] [PATCH 11/28] glsl: cross validate varyings with a component qualifier

2015-12-28 Thread Timothy Arceri
This change checks for component overlap, including handling overlap of locations and components by doubles. Previously there was no validation for assigning explicit locations to a location used by the second half of a double. V2: fix component matching for matricies ---

[Mesa-dev] [PATCH 04/28] glsl: remove unused varyings before packing them

2015-12-28 Thread Timothy Arceri
Previously we would pack varyings before trying to remove them, this relied on the packing pass not packing varyings with a location of -1 to avoid packing varyings that should be removed. However this meant unused varyings with an explicit location would been packed before they could be removed

[Mesa-dev] [PATCH 08/28] glsl: parse component layout qualifier

2015-12-28 Thread Timothy Arceri
--- src/glsl/ast.h | 14 ++ src/glsl/ast_type.cpp | 3 +++ src/glsl/glsl_parser.yy | 11 +++ 3 files changed, 28 insertions(+) diff --git a/src/glsl/ast.h b/src/glsl/ast.h index f8ab0b7..e22deed 100644 --- a/src/glsl/ast.h +++ b/src/glsl/ast.h @@ -490,6 +490,12 @@

[Mesa-dev] [PATCH 14/28] glsl: pass disable_varying_packing bool to the lowering pass

2015-12-28 Thread Timothy Arceri
This will allow us to choose to ignore the disable which will be useful for allowing support of the component layout qualifier while still disabling packing for varyings without an explicit component. --- src/glsl/ir_optimization.h | 3 ++- src/glsl/link_varyings.cpp | 18

[Mesa-dev] [PATCH 06/28] glsl: fix overlapping of varying locations for arrays and structs

2015-12-28 Thread Timothy Arceri
Previously we were only reserving a single location for arrays and structs. We also didn't take into account implicit locations clashing with explicit locations when assigning locations for their arrays or structs. This patch fixes both issues. V5: fix regression for patch inputs/outputs in

[Mesa-dev] [PATCH 05/28] glsl: create helper to remove outer vertex index array used by some stages

2015-12-28 Thread Timothy Arceri
This will be used in the following patch for calculating array sizes correctly when reserving explicit varying locations. --- src/glsl/link_varyings.cpp | 36 ++-- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/src/glsl/link_varyings.cpp

[Mesa-dev] V2 ARB_enhanced_layouts component qualifier support

2015-12-28 Thread Timothy Arceri
This series adds support for the component layout qualifier by enhancing the varying packing pass at the GLSL IR level. The advantage to this approach is that its fairly simple and will work for all drivers, the disadvantage it that it relies on optimisation passes to clean up the mess. [PATCH

[Mesa-dev] [PATCH 02/28] glsl: move lowering after matching validation

2015-12-28 Thread Timothy Arceri
After lowering the matching flag is_unmatched_generic_inout is lost so we need to move this validation before lowering. --- src/glsl/link_varyings.cpp | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/glsl/link_varyings.cpp

[Mesa-dev] [PATCH 10/28] glsl: fix cross validation for explicit locations on structs and arrays

2015-12-28 Thread Timothy Arceri
--- src/glsl/link_varyings.cpp | 43 ++- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index ee7cae0..dea8741 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp

[Mesa-dev] [PATCH 03/28] glsl: don't change the varying type in validation code

2015-12-28 Thread Timothy Arceri
There is a function dedicated to demoting unused varyings lets trust it to do its job. --- src/glsl/link_varyings.cpp | 5 - 1 file changed, 5 deletions(-) diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 9fe05ca..961c3d7 100644 --- a/src/glsl/link_varyings.cpp +++

[Mesa-dev] [PATCH 07/28] glsl: don't try adding build-ins to explicit locations bitmask

2015-12-28 Thread Timothy Arceri
--- src/glsl/link_varyings.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 34e8418..ee7cae0 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp @@ -1530,7 +1530,9 @@

[Mesa-dev] [PATCH 09/28] glsl: validate and store component layout qualifier in GLSL IR

2015-12-28 Thread Timothy Arceri
We make use of the existing IR field location_frac used for tracking component locations. --- src/glsl/ast_to_hir.cpp | 38 ++ src/glsl/ir.h | 5 + 2 files changed, 43 insertions(+) diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp

[Mesa-dev] [PATCH 01/28] glsl: only add outward facing varyings to resourse list for SSO

2015-12-28 Thread Timothy Arceri
An SSO program can have multiple stages and we only want to add the externally facing varyings. The current code was adding both the packed inputs and outputs for the first and last stage of each program. --- src/glsl/linker.cpp | 17 ++--- 1 file changed, 10 insertions(+), 7

Re: [Mesa-dev] [PATCH 16/28] glsl: don't pack tessellation stages like we do other stages

2015-12-28 Thread eocallaghan
On 2015-12-29 16:00, Timothy Arceri wrote: Tessellation shaders treat varyings as shared memory and invocations can access each others varyings therefore we can't use the existing method to lower them. This adds a check for these stages as following patches will allow explicit locations to be

Re: [Mesa-dev] [PATCH 26/28] glsl: lower tessellation varyings packed with component layout qualifier

2015-12-28 Thread eocallaghan
On 2015-12-29 16:00, Timothy Arceri wrote: For tessellation shaders we cannot just copy everything to the packed varyings like we do in other stages as tessellation uses shared memory for varyings, therefore it is only safe to copy array elements that the shader actually uses. This class

Re: [Mesa-dev] V2 ARB_enhanced_layouts component qualifier support

2015-12-28 Thread eocallaghan
On 2015-12-29 16:00, Timothy Arceri wrote: This series adds support for the component layout qualifier by enhancing the varying packing pass at the GLSL IR level. The advantage to this approach is that its fairly simple and will work for all drivers, the disadvantage it that it relies on