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
|