History log of /external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
542bd6941f5a56f7a3aa84b44d92591488b146bf 19-Jul-2012 Roy Spliet <r.spliet@student.tudelft.nl> nv30: Support negative offsets in indirect constant access.

Fixes piglit vp-address-01 amongst several others.

Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl>
Reviewed-by: Lucas Stach <dev@lynxeye.de>
Tested-by: Lucas Stach <dev@lynxeye.de>
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
a2fc42b899de22273c1df96091bfb5c636075cb0 11-Jan-2012 Ben Skeggs <bskeggs@redhat.com> nv30: import new driver for GeForce FX/6/7 chipsets, and Quadro variants

The primary motivation for this rewrite was to have a maintainable driver
going forward, as nvfx was quite horrible in a lot of ways.

The driver is heavily based on the design of the nv50/nvc0 3d drivers we
already have, and uses the same common buffer/fence code. It also passes
a HEAP more piglit tests than nvfx did, supports a couple more features,
and a few more to come still probably.

The CPU footprint of this driver is far far less than nvfx, and translates
into far greater framerates in a lot of applications (unless you're using
a CPU that's way way newer than the GPUs of these generations....)

Basically, we once again have a maintained driver for these chipsets \o/

Feel free to report bugs now!
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
840c36f5e6d940343a3154af7e76fec341ca46e6 21-Feb-2010 Luca Barbieri <luca@luca-barbieri.com> nv30, nv40: non-trivially unify nv[34]0_vertprog.c

vertprog.c is similar but has substantial differences:
1. nv40 supports clip planes
2. nv40 uses a more advanced register allocator
3. Some register setup is different
4. Constants with the same name have different values

This patch unifies the two files.
nv30 gains clip plane support and the nv40 register allocator.

A new NVFX_VP(x) macro is introduced that at runtime resolved to
either the nv30 or the nv40 constant value.

nv30 clip planes are not tested and might not work
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
d9e396ce4a124529fa92ad967f2b3ff72534079b 21-Feb-2010 Luca Barbieri <luca@luca-barbieri.com> nv30, nv40: non-trivially partially unify nv[34]0_shader.h

shader.h is similar, except for the following differences:
1. The instruction sets are not exactly the same, but mostly similar
2. Vertex program fields are in different bit positions

This patch unifies all parts of nv[34]0_shader.h except the vertex
program fields.

Vertex opcodes are also changed so that the constant names includes
SCA if it is a scalar opcode and VEC if it is a vector opcode.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
b8e56d4cddbd9c491b940e3ce5974c526802c752 20-Feb-2010 Luca Barbieri <luca@luca-barbieri.com> nv30, nv40: unify all structures and headers, except shaders

This patch unifies nv[34]0_screen.h, nv[34]0_context.h and
nv[34]0_state.h

The unified files are put in a new "nvfx" directory.

nv30_context.h and nv40_context.h still exist to hold the function
prototypes and include nvfx_context.h

nv[34]0_screen.h and nv[34]0_state.h are deleted, replaced by the
unified versions.

nv40 includes some extra fields for swtnl and user clip planes
support.

These fields will be unused on nv30 until that functionality gets
added to it too (by unification with nv40).
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
d673c92810636dcc6de33d3618d494ce9f5717c1 20-Feb-2010 Luca Barbieri <luca@luca-barbieri.com> nouveau: s/rankine/eng3d/g; s/curie/eng3d/g

Result of running:
perl -i -p -e 's/rankine/eng3d/g; s/curie/eng3d/g;' nv[34]0/*.[ch]

This will allow to more easily unify nv30 and nv40.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
28486880ca3ec39419ccee0cb1a3bedc9ef7117c 02-Feb-2010 José Fonseca <jfonseca@vmware.com> gallium: pipe/p_inlines.h -> util/u_inlines.h
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
c77ade8fed2be933af3f493932cedee7ca868b04 29-Dec-2009 Maarten Maathuis <madman2003@gmail.com> nouveau: rewrite nouveau_stateobj to use BEGIN_RING properly

- The previous solution was hacky and didn't do subchannel autobinding.
- The beheaviour should match what libdrm_nouveau does closely.
- The solution remains statically sized, but when debugging is on it will check
for abuse.

Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
29d2ab37e65c9242d01f63cc5376cb6929f9285f 29-Dec-2009 Marcin Slusarz <marcin.slusarz@gmail.com> nouveau: kill nouveau_push.h and use libdrm versions of BEGIN_RINGs, etc
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
429f0e3b37e33a33289f8488369474b20bfd5247 19-Dec-2009 Roland Scheidegger <sroland@vmware.com> gallium: fix up drivers for edgeflag changes

several drivers which chose to ignore edgeflags might require some more work,
while edgeflags never worked there they might now crash.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
91a4e6d53f83c45c1da9240b6325011d96b61386 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_src_register to reduce verbosity

SrcRegister -> Register
SrcRegisterInd -> Indirect
SrcRegisterDim -> Dimension
SrcRegisterDimInd -> DimIndirect
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
5b0824dfe5eaf59fa87134e7482b3d147b262901 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_dst_register to reduce verbosity

DstRegister -> Register
DstRegisterInd -> Indirect
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
fe2b31e4a896167a33d267822b36eb2de0ceecba 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_declaration to reduce verbosity

DeclarationRange -> Range
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
7d6c8f980d1e23ad6f557d650e89c715861a3b0c 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosity

InstructionPredicate -> Predicate
InstructionLabel -> Label
InstructionTexture -> Texture
FullSrcRegisters -> Src
FullDstRegisters -> Dst
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
763426a0256f0ab06f8af53947bd630f8600183a 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: reduce repetition of structure name in its members

Rename Semantic.SemanticName to Semantic.Name. Similar for
SemanticIndex, and the members of the tgsi_version struct.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
56ee132f9671f70ff2b3ee04659beac0dfc6126d 24-Nov-2009 Keith Whitwell <keithw@vmware.com> gallium: try and update r300 and nv drivers for tgsi changes

It would be nice if these drivers built under the linux-debug header
so that these types of interface changes can be minimally propogated
into those drivers by people without the hardware. They don't have to
generate a working driver -- though a command-dumping winsys would be
an excellent for regression checking.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
fd31f92cea0ce8613a22d8f4b3c75b340bcc5689 22-Jul-2009 Keith Whitwell <keithw@vmware.com> gallium: simplify tgsi_full_immediate struct

Remove the need to have a pointer in this struct by just including
the immediate data inline. Having a pointer in the struct introduces
complications like needing to alloc/free the data pointed to, uncertainty
about who owns the data, etc. There doesn't seem to be a need for it,
and it is unlikely to make much difference plus or minus to performance.

Added some asserts as we now will trip up on immediates with more
than four elements. There were actually already quite a few such asserts,
but the >4 case could be used in the future to specify indexable immediate
ranges, such as lookup tables.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
6b3ca672eb85d30d6c28e91000e2cc2231a41bef 05-Jun-2009 Ben Skeggs <bskeggs@redhat.com> nouveau: remove unneeded code from ws, use pipe_buffer_ instead of ws->
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
1b207d9bb81ae3385e5658a81c71fbf2fe15c18f 05-Jun-2009 Ben Skeggs <bskeggs@redhat.com> nouveau: call notifier/grobj etc funcs directly

libdrm_nouveau is linked with the winsys, there's no good reason to do all
this through yet another layer.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
ca95d71a4bc63e2ea45abf9096a3da802819ef92 07-Mar-2009 Ben Skeggs <bskeggs@redhat.com> nouveau: make stateobjs start off with refcount of 1
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
844034dee5567b57705669917b6273fa71546be0 10-Feb-2009 Michal Krol <michal@vmware.com> nv30: Fix build -- rename Size to NrTokens.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
f90e50dff9e5cdbad6e9bb74c0aeaaaa82242b25 18-Aug-2008 Stephane Marchesin <marchesin@icps.u-strasbg.fr> nv30: add some opcodes.
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
fda01b584715c05696a0e6768fda669ef1eb5f3b 07-Aug-2008 Ben Skeggs <skeggsb@localhost.localdomain> nouveau: fix build
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
b23e20a386729e75492069445bb924412dc29a0c 12-Jul-2008 Patrice Mandin <pmandin@caramail.com> nv30: does not have vp_attrib/result
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
740c93a08ce7f5fb43a0f4cd5a50d95459c8aa8e 12-Jul-2008 Patrice Mandin <pmandin@caramail.com> nv30: Change comment about slowdown
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
2419a5fe3601851989506a11b0bd4e3cfb071035 12-Jul-2008 Patrice Mandin <pmandin@caramail.com> nv30: Emit vertex program using state objects
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
c7086277546d065eb94ba8dbeca1620605f167ea 11-Jul-2008 Patrice Mandin <pmandin@caramail.com> nv30: Move constant buffers out of vert/frag prog structures
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
5a01060eb95cb2cb168cb7224ecc805020584c91 22-Jun-2008 Ben Skeggs <skeggsb@gmail.com> nouveau: update for interface changes + hack around gallium x86_64 bustage
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
186277ee928a7c9ad8a31776f93e502613ad94fd 11-Apr-2008 Patrice Mandin <pmandin@caramail.com> nv30: Move some structures and functions from context to screen
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
7b389f8d2f307fa0714494f2a43e9141cc04ed3e 30-Mar-2008 Patrice Mandin <pmandin@caramail.com> nv30: use FREE macro
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
9a4938d7033101122b627786273ff37229b5558a 12-Mar-2008 Ben Skeggs <skeggsb@gmail.com> nouveau: match interface changes
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
3b2a9b01a0c9b80573556a21e9db11b6f64eff8e 12-Mar-2008 Patrice Mandin <pmandin@caramail.com> nv30: debug dumps vp constants
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
ae0e047ba4e05d25d6e0b9b0574e36c7e8ccd510 10-Mar-2008 Ben Skeggs <skeggsb@gmail.com> nv30: put the card into vtxprog mode + small cleanups/fixes
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
82f22d9e147ed55c2ca513ebc2d069e197d36ea8 06-Mar-2008 Ben Skeggs <skeggsb@gmail.com> nv30: a couple of vtxprog fixes
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c
26add9288c88108e3485ffc57c51ea9bdc0ee719 16-Feb-2008 Ben Skeggs <skeggsb@gmail.com> nouveau: match gallium code reorginisation.

That was... fun..
/external/mesa3d/src/gallium/drivers/nv30/nv30_vertprog.c