History log of /external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
84e946380b2d5ddc62a107b667be39abf1932704 26-Oct-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0/ir: fix emission of IMAD with NEG modifiers

The emitter tried to emit sub instead of subr when src0 has
actually a NEG modifier.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0 12.0 13.0" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
1ec7227d44dceae8de7b93f846bbd33d66007909 21-Oct-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0/ir: fix emission of SHLADD with NEG modifiers

This affects GF100:GK110 chipsets, but not GM107+ where the
logic is a bit different. The emitters tried to emit sub
instead of subr when src0 has a NEG modifier.

This fixes the following piglit tests glsl-fs-loop-nested
and glsl-vs-loop-nested.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
6e08f3e96c6c3f269ea3ee79bb7e10940e6a13be 21-Oct-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0/ir: remove outdated comment about SHLADD

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
31545b64b80aa939a693723e07f06fe45160ae62 15-Sep-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0/ir: add emission for SHLADD

Unfortunately, we can't use the emit helpers for GF100/GK110
because src1 and src2 are swapped.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
d8b4f5fcca2ce299b8ef248b6f57896c7b85d18c 18-Sep-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: fix wrong emission of OP_NOT

This should emit src0 instead of src1.
Found by inspection.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
61e978524a0e5de4f8570b44bcb9b907a9187684 05-Sep-2016 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix quadop dall emission

We recently starting to always emit the NDV (== dall) bit for quadops.
However it was folded into the wrong code word.

Fixes: e0a067ed48 (nv50/ir: always emit the NDV bit for OP_QUADOP)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
e0a067ed484698ff62dd8c8750aeb46f18988b17 25-Aug-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50/ir: always emit the NDV bit for OP_QUADOP

This silences a divergent error found with F1 2015.

Basically, the NDV bit has to be set when a FSWZ instruction is
inside divergent code, but it's not needed otherwise. The correct
fix should be to set it only in divergent code situations.

GM107 emitter already sets that bit.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
704bc0f0e98f3bbdef33cad12646d4e1bf01e8aa 29-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add support for VOTE tgsi opcodes

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
c7731a07408c5d4169625d4a78962d2887419080 28-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix unspilling of predicates from registers

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96258
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.2 11.1" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
df2881381ac67c42aa8ec9e0ed28f21a1d253785 26-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: handle a load's reg result not being used for locked variants

For a load locked, we might not use the first result but the second
result is the predicate result of the locking. In that case the load
splitting logic doesn't apply (which is designed for splitting 128-bit
loads). Instead we take the predicate and move it into the first
position (as having a dead result in first def's position upsets all
sorts of things including RA). Update the emitters to deal with this as
well.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Tested-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
ba3f0b6d5920165c735d51500544da8c29b09060 09-Apr-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: fix gl_SampleMaskIn computation

The SAMPLEMASK semantic should only return the bits set covered by the
current invocation. However we were always retrieving the covmask, which
returns the covered samples of the whole pixel.

When not doing per-sample invocation, this is precisely what we want.
However when doing per-sample invocation, we have to select the
sampleid'th bit and only return that. Furthermore, this means that we
have to have a 1:1 correlation for invocations and samples.

This fixes most

dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.*

tests. A few failures remain due to disagreements about nr_samples==1
logic as well as what happens with MSAA x2 RTs when the shading fraction
is 0.5.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
f5fe9030021af830e6c4453f4ad1521cbb697c81 07-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir: generalize interp fixups to be able to fixup anything

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
2daaa5d657910239833dc796dc1ac6f4b168e3df 20-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add emission for VSHL

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
af5925209d730f917431b603b031085c7c96c773 19-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add emission for OP_SUEAU, OP_SUBFM and OP_SUCLAMP

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
1f8900a8e0c344c17dafd9ab57c7fb24c0eec588 18-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add emission for OP_SULDB and OP_SUSTx

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
fddd8523d48f456d3fd614179ecd66e46625c774 18-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add emission for OP_MADSP

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
c2ce22ca4641343e9bad446811a882c5c3930419 18-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add emission for OP_PERMT

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
c62b1b92f7da2563511581a2a74048334585da27 26-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add emission for (a OP b) OP c

This is pretty similar to NVC0 except that offsets have changed.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
d30768025a2283d4cc57930b784798bf278969da 20-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: make use of IMUL32I for all immediates

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
17a37c78fc16505f717a44aa22551285d1cd8c9e 20-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: do not overwrite def value with zero for EXCH ops

This is only valid for other atomic operations (including CAS). This
fixes an invalid opcode error from dmesg. While we are it, make sure
to initialize global addr to 0 for other atomic operations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
71e315475c780311fea205ab8c9a898a67da683b 15-Mar-2016 Hans de Goede <hdegoede@redhat.com> nouveau: codegen: gk110: Make emitSTORE offset handling identical to emitLOAD

Make the store offset handling in CodeEmitterGK110::emitSTORE identical
to the one in CodeEmitterGK110::emitLOAD handling.

This is just a cleanup, it does not cause any functional changes.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
8a109c0375ba1faa987329ab6355f7bcb497bd78 28-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add missing src predicate emission for BAR.RED

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
f4d2d491522aea8c7de46311c3f5e9c588307dd2 28-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: allow to emit immediates for BAR

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
cba89fdaa1e7360808cef0f6871930c90ca3ef4d 28-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: fix wrong emission of BAR.SYNC

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
b94a46aa8e34de790724bbc0f823fd56555d0cdc 02-Mar-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: fix wrong emission of NOT modifier for VOTE

Spotted by Coverity.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reported-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
07ed003faf3199a3e95852e7a34763aeaf76503d 28-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50/ir: emit VOTE instruction

Changes from v2:
- add missing NOT modifier for GK110/GM107

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
b3efa0a59e02e20ccd9ed51c6e503d020f619043 28-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gk110/ir: add ld lock/st unlock emission

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
6526225f888a08b301e8c39ec70b4e739081e490 21-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50/ir: restore OP_SELP to be a regular instruction

Actually OP_SELP doesn't need to be a compare instruction. Instead we
just need to set the NOT modifier when building the instruction.
While we are at it, fix the dst register type and use a GPR.

Suggested by Ilia Mirkin.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
e0371e63df173be38a086a5d816eeaf0e8cbe7eb 05-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50/ir: make OP_SELP a compare instruction

This OP_SELP insn will be used to handle compare and swap subops.

Changes from v2:
- fix logic for GK110+

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
ca23c8081f1f9f709df7a63b9e6de379c0b8df44 16-Feb-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir: fix quadop emission in the presence of predication

When there's a predicate, it just goes onto the sources list. If the
quadop only has a single regular source, we will end up thinking that
the predicate is the second source. Check explicitly for the predSrc so
that we don't accidentally emit the wrong thing.

This fixes a bunch of dEQP-GLES3.functional.shaders.derivate.* tests.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
1a0fde1f52c59e0dbada03f387c8e25d9475ebbe 05-Feb-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: fix converting between predicate and gpr

The spill logic will insert convert ops when moving between files. It
seems like the emission logic wasn't quite ready for these converts.

Tested on fermi, and visually looked at nvdisasm output for maxwell.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
c0b66d96d77b646282f7e732c4c25761431336c3 19-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: allow carry to be set/read by imad

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
2e533ab74be1f997ddfaaf01798e7e3018138ac2 28-Dec-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix double-wide vm address
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
8c2dfe05c5db9946d2d30546920e98bcfb8e3eb9 23-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: add OP_CCTL handling
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
7d9a97d6beee8878ac57448af8c41b8af3f189b1 22-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: add atomic op emission, fix gmem loads

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
3a635761685e839447fec2e5f84ce8bb8682dbc7 20-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix load from shared memory

It was accidentally using the store opcode.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
9f23007a7a56d576c8f20b76583ca2416e94a75d 20-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: add partial BAR support

This is enough for the plain TGSI BARRIER implementation.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
1d708aacb7631833b0f04e704481854428f60ba3 07-Dec-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix imad sat/hi flag emission for immediate args

According to nvdisasm both the immediate and non-imm cases use the same
bits. Both of these flags are quite rarely set though.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
db072d20867426958153279575dfdc2049b5f595 07-Dec-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix imul hi emission with limm arg

The elemental demo hits this case.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
8482763d35d8bbf596a7cce84bb53f4b73d5fa6f 02-Dec-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50/ir/gk110: add memory barriers support for GK110

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
b8c524ff88499f64c94f1d1c41671107f98f991a 29-Nov-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50/ir: always display the opcode number for unknown instructions

This helps in debugging unknown instructions.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
39f51ec96f00f601b9c4d4e321dacb3af9dc866f 14-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: add support for TGSI_SEMANTIC_HELPER_INVOCATION

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
b75fff70d82474a571c59c2a3a01e4f9f02286a7 21-Oct-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: do upload-time fixups for interpolation parameters

Unfortunately flatshading is an all-or-nothing proposition on nvc0,
while GL 3.0 calls for the ability to selectively specify explicit
interpolation parameters on gl_Color/gl_SecondaryColor which would
override the flatshading setting. This allows us to fix up the
interpolation settings after shader generation based on rasterizer
settings.

While we're at it, we can add support for dynamically forcing all
(non-flat) shader inputs to be interpolated per-sample, which allows
st/mesa to not generate variants for these.

Fixes the remaining failing glsl-1.30/execution/interpolation piglits.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
63cb85e567ad1025ee990b38f43c2f1ef811821b 19-Aug-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: detect i2f/i2i which operate on specific bytes/words

Some Unigine shaders have been observed to unpack bytes out of 32-bit
integers and convert them to floats. I2F/I2I can handle this sort of
thing directly. Detect the handleable situations.

This misses 16-bit word capabilities in nv50, but I haven't seen shaders
that would actually make use of that.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
9d60793a03e40e1d139b78fce0144cad57438741 24-Jul-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: kepler can't do indirect shader input/output loads directly

There's a special AL2P instruction (called AFETCH in nv50 ir) which
computes a "physical" value to be used with indirect addressing with ALD.

Fixes

tcs-input-array-*-index-rd
tcs-output-array-*-index-wr

varying-indexing tessellation tests on Kepler.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
88818c4cd6de9d8855a9ba3c3a85306d42f5e9d3 23-Jul-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fake BAR support

Makes things sorta work until we figure out the real way to do this.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
e5ad19a46e87ed22943d7f6ad046f974fd5977e1 09-May-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: allow iset to produce a boolean float

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
0ec6b8ea8ce0929ecacf6edc8db198b7b9604f18 04-May-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: avoid jumping to a sched instruction

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
33f0d1138d6ffa4596d3deda68fa5ba9a3d7cf86 30-Apr-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: fix predicated PFETCH for real

Commit a9d08a250 accidentally didn't make use of the new src1 variable.
Use it.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
a9d08a250ada5fbd4e3f78f8e4119ec295d692cf 30-Apr-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: fix predicated PFETCH emission

src1 would contain the predicate, which would get emitted as a register
source by an undiscerning srcId helper. Work around this in the same way
as in emitTEX.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
515ac907e68ae1485bd9c65d7351dfb3c3d1e33f 30-Apr-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix set with a register dest to not auto-set the abs flag

This was causing src0 to always have the absolute value flag set.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
89e0b08794a56e2ef78e8573a8c11e0cc4589f9e 27-Apr-2015 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: add support for writing per-patch and shader outputs

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
58030a8f99d94d6c1bab02ef113d93c6c2636216 27-Mar-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: fix offset flag position for TXD opcode

Cc: "10.4 10.5" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
b87b498b88c51fb8c80901b8f581331d3fbcd972 07-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: fix lowering of RSQ/RCP/SQRT/MOD to work with F64

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
493ad88e1b6598e3827546854b0c8336b42b36a2 19-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: add emission of dadd/dmul/dmad opcodes

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
c74be01e80fcdd7feabc0f27df4aebe66abb626e 28-Sep-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: add dnz flag emission for fmul/fmad

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2 10.3" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
fc3d5fe01d120e9559e45223379e8285ae62b7b8 15-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: emit load constant subop

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
bd7dd3ed06ea9e88a9f6e18f45338bd99fde86f1 07-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix bfind emission

There is a short-immediate version as well, but it should never end up
getting used since it would have gotten folded earlier.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
7a673187948b38d2d80aa48d9fc09176fa3547e8 07-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix emitting constbuf file index

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
4a3a71a183eba60539ca3c556938344bcf180d70 07-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: emit saturate flag on fadd when needed

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
9fef8b3d811000146b989a101ad0e26ae6530fe4 07-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix slct emission

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
d588a4919b732246b7aa26685ef65545929a4f7b 07-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix interp mode emission

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
ed1b9e5721f6c7a74e042eadb31fc5dcb2fc3552 07-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix ISAD emission with register args

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
6e046508a17b7eee24285e94f144a42ded3ebcdc 07-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: fix quadon opcode emission

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
73eec47ef81954f7c2bf7c8bf03b300d11d05b82 06-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gk110/ir: emit texbar the same way that the blob does

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
e7047f2917c6bcc714fc6a350ea74e45b0760a77 07-May-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: fix set with f32 dest

Should fix comparison opcodes like SGE/SLT/etc which expected a float to
be returned. These were previously getting integer 0/-1 values.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Cc: 10.2 <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
f3aa999383074d666d6e3f3506e66b0c937904ca 26-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir: change texture offsets to ValueRefs, allow nonconst

This allows us to have non-constant offsets for textureGatherOffset and
textureGatherOffsets.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
b4b20d42f6a8cd5aec3ba529a0b8d6ea22e73305 26-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0/ir: add support for new bitfield manipulation opcodes

This adds support for:

IBFE, UBFE, BFI, LSB, IMSB, UMSB, BREV, POPC

Which are all required for ARB_gs5 support.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
af38ef907c89ecb1125bf258cafa0793f79a5eb7 21-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add support for PIPE_CAP_SAMPLE_SHADING

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
f6579e4b17a6010fadb464b5179dea5779c74968 04-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add support for texture gather

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
423f64e83ab5b1ea7de475ae80300a8408522743 03-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: enable texture query lod

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
c8309cde30fe6829ed5d2eedbda2bd4dbde79418 15-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: add postfactor support for fmul

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
d8e0d1e882e40b0da0237ef6e9b4ef21b7a3b3bf 15-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: set not modifier on first source of logic op

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
b56e50b8afbb386bcf30f9a4f07981a123dba1c1 14-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: use shl/shr instead of lshf/rshf so that c[] is supported

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
34bf5e27c6d798bcaa63c7541ecea1d3e99fdd3b 14-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: add 64/128-bit fetch/export support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
3c40be2615872b9f9c95f6b551b37498561273d2 14-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: fix handling of OP_SUB for floating point ops

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
72310869f02edce3d2b896659b45e2f882e05bbf 14-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: presin/preex2 take their source at bit 23

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
4bb14aca293b12cbe4f2352fb11c20091876c1cf 12-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: implement quadop

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
67cb8a69960b37a2cfad2a7bc62b8db6aa7558bb 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: fill in mov from predicate

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
563083ef576141f39af36426418fc2dbf2d98a3f 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: handle derivAll flag, fix useOffsets for non-txf

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
ece734b3c195c870bbda342edf1807ca436bf83a 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: fix setting texture for txd/txf/txq

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
08505549ab938a6650024aab68f7713989c5c6fe 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: add texcsaa implementation

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
c17f7247ec5b7acf44e462accf5b5124fb713772 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: add pfetch support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
15b1f420d04e2fbff8e1ed4a863239e8ddf602de 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: add emit/restart implementations

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
1b68009466dd2ac6a8d8827ef47ba9bdf0c58501 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: add missing break in sched emit

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
76554d2d1f3e017370a7ef1b3ea511f83cd83573 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: implement partial txq support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
cb3dcb14300613a7628941ff4ba1ad4c52e9772b 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: fill out texture instruction support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
ce75a3e8d36e85214e98194ca212504282df47f9 11-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir/gk110: fix control flow opcode emission, add sat flag

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
18d97a8df776863c89c52294055160a17fc0f9e6 10-Jan-2014 Ilia Mirkin <imirkin@alum.mit.edu> nouveau/codegen: set dType to S32 for OP_NEG U32

It doesn't make sense to do an OP_NEG from U32 to U32. This was
manifested on nv50 in glsl-fs-atan-3 which was generating a

UMAD TEMP[0].x, TEMP[0].xxxx, -TEMP[5].xxxx, TEMP[0].xxxx

instruction. (For some reason, nvc0 causes a different shader to be
generated.) This led to a

cvt neg u32 $r1 u32 $r1

Which did not yield the desired result. This changes the final output to

cvt neg s32 $r1 u32 $r1

which produces the desired output and the piglit tests passes. My
assumption is that this is also what we want on nvc0, but could not test
as there was no suitable shader that generated the problem instruction.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
5eb7ff1175a644ffe3b0f1a75cb235400355f9fb 20-Aug-2013 Johannes Obermayr <johannesobermayr@gmx.de> Move nv30, nv50 and nvc0 to nouveau.

It is planned to ship openSUSE 13.1 with -shared libs.
nouveau.la, nv30.la, nv50.la and nvc0.la are currently LIBADDs in all nouveau
related targets.
This change makes it possible to easily build one shared libnouveau.so which is
then LIBADDed.
Also dlopen will be faster for one library instead of three and build time on
-jX will be reduced.

Whitespace fixes were requested by 'git am'.

Signed-off-by: Johannes Obermayr <johannesobermayr@gmx.de>
Acked-by: Christoph Bumiller <christoph.bumiller@speed.at>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp