History log of /external/mesa3d/src/compiler/nir/nir_intrinsics.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f5be65efb7b66894e055e4fce2311a71db730b12 03-Mar-2017 Jason Ekstrand <jason.ekstrand@intel.com> nir/intrinsics: Make load_barycentric_input take a 2-component coor

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Cc: "17.0 13.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 60d1aac28a1f44ac166e72262e378e063155d6fd)
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
08441dae59e93c2eea3b64a861bc3462dc595c51 16-Nov-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir: Add a layer_id system value intrinsic

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
7cd0b3084cb5e1ee69431d462eedc2e3e7eb8203 30-Jun-2016 Ian Romanick <ian.d.romanick@intel.com> nir/intrinsics: Add more atomic_counter ops

v2: Delete some stray debug code notice by Iago.

v3: Massive rebase on new ir_function_signature::intrinsic_id mechanism.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> [v1]
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
2c9a17ac79810f455dd6a82acf4355b579c222e9 30-Jun-2016 Ian Romanick <ian.d.romanick@intel.com> nir/intrinsics: Include atomic_counter_ in the names used in macro invocations

Otherwise grepping for where atomic_counter_inc and friends are defined
is a very frustrating experience.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
7697b4b98b155c818811709becdb408772371538 16-Sep-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir: Add a nop intrinsic

This intrinsic has no destination, no sources, no variables, and can be
eliminated. In other words, it does nothing and will always get deleted by
dead code elimination. However, it does provide a quick-and-easy way to
temporarily tag a particular location in a NIR shader.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
e8378fee0c20ecd26451c079c725420077606cb9 27-Jul-2016 Eric Anholt <eric@anholt.net> nir: Define system values for vc4's blending-lowering arguments.

In the GLSL-to-NIR conversion of VC4, I had a bit of trouble with what I
was calling the "state uniforms" that I was putting into the NIR fighting
with its other lowering passes. Instead of using magic uniform base
numbers in the backend, follow the lead of load_user_clip_plane and just
define system values for them.

v2: Fix unintended change to channel_num, drop unspecified const_index
value on blend_const_color_r_float.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
c35f9792202c4450d19c5616e2a38b9e81e418fe 06-Aug-2016 Eric Anholt <eric@anholt.net> nir: Add nir_builder support for individual system value loads.

The previous nir_load_system_value(b, nir_intrinsic_load_whatever), 0) was
rather verbose, when system values should be easy to generate.

The index is left out because only one system value had an index included
in it.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
24728637e2c006012e4c0a3d87629b53beaddd3b 06-Aug-2016 Eric Anholt <eric@anholt.net> nir: Move the undef of nir_intrinsics.h macros to the .h.

I wanted to include this from nir_builder as well, so it also needed the
undefs.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
cf6f2d3ce72a8b9dac5830aaf518aeed17a3833d 18-Jul-2016 Kenneth Graunke <kenneth@whitecape.org> nir: Add a base const_index to shared atomic intrinsics.

Commit 52e75dcb8c04c0dde989970c4c587cbe8313f7cf made nir_lower_io
start using nir_intrinsic_set_base instead of writing const_index[0]
directly. However, those intrinsics apparently don't /have/ a base,
so this caused assert failures.

However, the old code was happily setting non-existent const_index
fields, so it was pretty bogus too.

Jason pointed out that load_shared and store_shared have a base,
and that the i965 driver uses that field. So presumably atomics
should have one as well, so that loads/stores/atomics all refer
to variables with consistent addressing.

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
249646247996d9950584bbd34067a27b8b704a6f 12-Jul-2016 Kenneth Graunke <kenneth@whitecape.org> nir: Add new intrinsics for fragment shader input interpolation.

Backends can normally handle shader inputs solely by looking at
load_input intrinsics, and ignore the nir_variables in nir->inputs.

One exception is fragment shader inputs. load_input doesn't capture
the necessary interpolation information - flat, smooth, noperspective
mode, and centroid, sample, or pixel for the location. This means
that backends have to interpolate based on the nir_variables, then
associate those with the load_input intrinsics (say, by storing a
map of which variables are at which locations).

With GL_ARB_enhanced_layouts, we're going to have multiple varyings
packed into a single vec4 location. The intrinsics make this easy:
simply load N components from location <loc, component>. However,
working with variables and correlating the two is very awkward; we'd
much rather have intrinsics capture all the necessary information.

Fragment shader input interpolation typically works by producing a
set of barycentric coordinates, then using those to do a linear
interpolation between the values at the triangle's corners.

We represent this by introducing five new load_barycentric_* intrinsics:

- load_barycentric_pixel (ordinary variable)
- load_barycentric_centroid (centroid qualified variable)
- load_barycentric_sample (sample qualified variable)
- load_barycentric_at_sample (ARB_gpu_shader5's interpolateAtSample())
- load_barycentric_at_offset (ARB_gpu_shader5's interpolateAtOffset())

Each of these take the interpolation mode (smooth or noperspective only)
as a const_index, and produce a vec2. The last two also take a sample
or offset source.

We then introduce a new load_interpolated_input intrinsic, which
is like a normal load_input intrinsic, but with an additional
barycentric coordinate source.

The intention is that flat inputs will still use regular load_input
intrinsics. This makes them distinguishable from normal inputs that
need fancy interpolation, while also providing all the necessary data.

This nicely unifies regular inputs and interpolateAt functions.
Qualifiers and variables become irrelevant; there are just
load_barycentric intrinsics that determine the interpolation.

v2: Document the interp_mode const_index value, define a new
BARYCENTRIC() helper rather than using SYSTEM_VALUE() for
some of them (requested by Jason Ekstrand).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
da3d4a4c564813487f6e31f6e90efb797a713152 07-Jul-2016 Kenneth Graunke <kenneth@whitecape.org> nir: Update outdated intrinsic const_index comments.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
0eea6b3297930d36cd510fa6b0e35c91935928f2 23-May-2016 Timothy Arceri <timothy.arceri@collabora.com> nir: add new intrinsic field for storing component offset

This offset is used for packing.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
60a27ad122128145d28be37e9c0b0bc86a8e5181 23-Jun-2016 Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Remove wrongly repeated words in comments

Clean up misrepetitions ('if if', 'the the' etc) found throughout the
comments. This has been done manually, after grepping
case-insensitively for duplicate if, is, the, then, do, for, an,
plus a few other typos corrected in fly-by

v2:
* proper commit message and non-joke title;
* replace two 'as is' followed by 'is' to 'as-is'.
v3:
* 'a integer' => 'an integer' and similar (originally spotted by
Jason Ekstrand, I fixed a few other similar ones while at it)

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
8f48d23e0fcc0809f6397a67c26751a45a95e076 23-May-2016 Jordan Justen <jordan.l.justen@intel.com> i965: Add nir channel_num system value

v2:
* simd16/32 fixes (curro)

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
6f316c9d8658e870b0140b0f601d35d1fcf133b9 23-May-2016 Jordan Justen <jordan.l.justen@intel.com> nir: Make lowering gl_LocalInvocationIndex optional

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
76fa7b16f474253356d3bf59adc91769dc51f184 15-Apr-2016 Jason Ekstrand <jason.ekstrand@intel.com> Merge remote-tracking branch 'public/master' into vulkan
c825e29a826bf9f03303d1527a2aeef8bcd80dea 25-Mar-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir/intrinsics: Add a vulkan_resource_index intrinsic

This is used to facilitate the Vulkan binding model where each resource is
described by a (descriptor set, binding, array index) tuple.

Reviewed-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
5567ae0547d5f31e51e5f32e78065894e594fd1a 15-Apr-2016 Jason Ekstrand <jason.ekstrand@intel.com> Merge remote-tracking branch 'public/master' into vulkan
63101177f32e7ebcaa6c71e046b3e599d21a20b5 24-Nov-2015 Jason Ekstrand <jason.ekstrand@intel.com> nir: Add another index to load_uniform to specify the range read

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
f8e2f1fba5149a494360ad76a1f90e729de28a0b 13-Apr-2016 Jose Fonseca <jfonseca@vmware.com> nir: Avoid empty {} struct initializer.

Not supported by MSVC and consistent through NIR.

[Emil Velikov: rebase]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
683c359c543f4152150fcc52c7a75b9f6a71d1e4 18-Jan-2016 Jordan Justen <jordan.l.justen@intel.com> nir: Add atomic operations on variables

This allows us to first generate atomic operations for shared
variables using these opcodes, and then later we can lower those to
the shared atomics intrinsics with nir_lower_io.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
768bd7f272e0dfd8cc17c49750fe8aaab78bb420 10-Feb-2016 Jason Ekstrand <jason.ekstrand@intel.com> Merge commit '8b0fb1c152fe191768953aa8c77b89034a377f83' into vulkan

This pulls in Rob Clark's const_index changes for NIR
1df3ecc1b87d95130165283154a13ea5b9a498d4 14-Jan-2016 Rob Clark <robclark@freedesktop.org> nir: const_index helpers

Direct access to intr->const_index[n], where different slots have
different meanings, is somewhat confusing.

Instead, let's put some extra info in nir_intrinsic_infos[] about which
slots map to what, and add some get/set helpers. The helpers validate
that the field being accessed (base/writemask/etc) is applicable for the
intrinsic opc, for some extra safety. And nir_print can use this to
dump out decoded const_index fields.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h
741744f691d6ef63e9f9a4c03136f969f2ffb0bf 06-Feb-2016 Jason Ekstrand <jason.ekstrand@intel.com> Merge commit mesa-public/master into vulkan

This pulls in the patches that move all of the compiler stuff around
a39a8fbbaa129f4e52f2a3ad2747182e9a74d910 17-Jan-2016 Emil Velikov <emil.velikov@collabora.com> nir: move to compiler/

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/compiler/nir/nir_intrinsics.h