8fdb800bdaa28f4ca563829f70e8b187f867c0ac |
|
25-Nov-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
gm107/ir: optimize 32-bit CONST load to mov This is not allowed for indirect accesses because the source GPR might be erased by a subsequent instruction (WaR hazard) if we don't emit a read dep 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_lowering_gm107.cpp
|
3ac373df6e47a65bdb5e5bda57dfc9f2a8010f53 |
|
21-Jul-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
gm107/ir: add a legalize SSA pass for PFETCH PFETCH, actually ISBERD on GM107+ ISA only accepts a GPR for src0. 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_lowering_gm107.cpp
|
6eeb284e4f74a2fe5ae6cba90f97f219935e24df |
|
19-Mar-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
nv50/ir: normalize cube coordinates after derivatives have been computed In "manual" derivative mode (always used on nv50 and sometimes on nvc0 but always for cube), the idea is that using the quadop instruction, we set up the "other" quads to have values such that the derivatives work out, and then run the texture instruction as if nothing were strange. It pulls values from the other lanes, and does its magic. However cube coordinates have to be normalized - one of the 3 coords has to be 1, to determine which is the major axis, to say which face is being sampled. We were normalizing the coordinates first, and then adding the derivatives. This is wrong for two reasons: - the coordinates got normalized by a scaling factor but the derivatives didn't - the result of the addition didn't end up normalized To resolve this, we flip the logic around to normalize *after* the per-lane coordinates are set up. This fixes a bunch of textureGrad cube dEQP tests. NOTE: nv50 cube arrays with explicit derivatives are still broken, to be resolved at a later date. Signed-off-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_lowering_gm107.cpp
|
69e8b476d07544d6ef06414a1a78ce5c04761fdb |
|
09-Dec-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
nv50/ir: fix texture grad for cubemaps We were ignoring the partial derivatives on the last dim. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|
f13073b7755e78306975a24f3286ff5a9c910a47 |
|
24-Jul-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gm107/ir: avoid letting the lowering pass get out of sync There's a lot of functionality duplicated in the gm107 lowering pass from the nvc0 pass. As that one gets updated, the gm107 one falls behind. Avoid this by sharing the code. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|
cd0dec0d9dfab642c51774c3f5788cbdf00b8c9b |
|
20-Jul-2015 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
nouveau: use bool instead of boolean Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|
217301843aea0299ab245e260b20af7ad250e9d8 |
|
23-May-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
nvc0/ir: LOAD's can't be used for shader inputs We forgot to convert to VFETCH in case of indirect access. Fix that. This avoids crashes on the new gs-input-array-vec4-index-rd and vs-output-array-vec4-index-wr-before-gs but they still fail. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.5 10.6" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|
a5bbfeda977a62aa3349f0c7d04c5c20156c1faf |
|
26-Sep-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gm107/ir: take relative pfetch offset into account There is no dedicated instruction for this, so just combine it with the constant offset. Acked-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.3" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|
cdc4de121564a47cbdac760622b6dc7112e548aa |
|
25-Sep-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gm107/ir: add support for indirect const buffer selection This was missed in the commit that enabled it for fermi/kepler as part of ARB_gpu_shader5 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.3" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|
d3c3bba6d07c97cfc1499a6bda73337584943971 |
|
25-Sep-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gm107/ir: fix manual TXD for array targets This parallels the fixes in commit afea9bae. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.3" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|
d548d47edf9f05e6dbf9656abc2f8e78d02cb2f6 |
|
09-May-2014 |
Ben Skeggs <bskeggs@redhat.com> |
nvc0: add maxwell (sm50) compiler backend The big missing part here is proper sched data calculations, but hopefully the chosen placeholder will be sufficient for now. Passes piglit as well as GK107 does. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
|