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
|