6404095fbab74a6194081374bd56786d07c5d561 |
|
22-May-2012 |
Roy Spliet <r.spliet@student.tudelft.nl> |
nv30: Fix generic passing to fragment program in NV34.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.c
|
bcb37411fc9159a5c1af50b7defbf1f526b50793 |
|
21-Feb-2010 |
Luca Barbieri <luca@luca-barbieri.com> |
nv30, nv40: non-trivially unify nv[34]0_fragprog.c The files are mostly the same except: 1. On NV40, some TGSI instructions are emulated with several hardware ones 2. Some instructions such as DDX/DDY, and STR were missing from nv30 3. NV40 has more sophisticated register management nv30 now supports all instructions and uses the nv40 register management.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.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_fragprog.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_fragprog.c
|
1771d8f8f4256773de1883a033081f9cc4cddf00 |
|
20-Feb-2010 |
Luca Barbieri <luca@luca-barbieri.com> |
nv30: remove unused on_hw field and constant fp_reg_control field This makes nv30_state.h equivalent to nv40_state.h
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.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_fragprog.c
|
85dcc070719ef6a6bcf65dc4996b1733f63912d8 |
|
28-Dec-2009 |
Younes Manton <younes.m@gmail.com> |
nouveau: Unreference state/buffer objects on context/screen destruction. - unreference state objects so that buffer objects are unreferenced and eventually destroyed - free channel at screen's destruction Based on Krzysztof Smiechowicz's patch.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
a55e50b082ca068d35d695ff323603507e2b64aa |
|
26-Dec-2009 |
Luca Barbieri <luca@luca-barbieri.com> |
NV30/NV40 CMP and SCS src == dst handling CMP and SCS can produce incorrect results if the source and destination are the same. This patch should fix the issues. CMP is fixed by predicating both moves. SCS by changing the order if the source component is X.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.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_fragprog.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_fragprog.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_fragprog.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_fragprog.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_fragprog.c
|
49289f1d25d42a6b3eb5da5f85b2dd6a14cda8e7 |
|
17-Nov-2009 |
Patrice Mandin <patmandin@gmail.com> |
nouveau: nv30: Add missing include to fix warning
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
da253319f9e5d37d9c55b975ef9328545a3ac9b4 |
|
23-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove extended negate also, and also the ExtSwz token Likewise, the extended negate functionality hasn't been used since mesa switched to using tgsi_ureg to build programs, and has been translating the SWZ opcode internally to a single MAD.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
b9cb74c7f826dfd320f5e5b54aa933898f7ddd3d |
|
23-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove the swizzling parts of ExtSwizzle These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
4e1d51786e0657c7430d731ac464f2a73e32eddf |
|
23-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove noise opcodes Provide a dummy implementation in the GL state tracker (move 0.5 to the destination regs). At some point, a motivated person could add a better implementation of noise. Currently not even the nvidia binary drivers do anything more than this. In any case, the place to do this is in the GL state tracker, not the poor driver.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.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_fragprog.c
|
072fdc1fd325256d87b182d4f55c8a5838119cf0 |
|
04-Jun-2009 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: pass nouveau_bo instead of pipe_buffer to so_ calls
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.c
|
5e27cd46c04a9e7b5904cc014bffd0f4daae31fe |
|
04-Mar-2009 |
Michel Dänzer <daenzer@vmware.com> |
gallium: Unify reference counting. The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
0c47bd0374e533f614ca3013f429fc32946e5be7 |
|
31-Aug-2008 |
Patrice Mandin <pmandin@caramail.com> |
nv30: set fp samplers with fragprog generation
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
f90e50dff9e5cdbad6e9bb74c0aeaaaa82242b25 |
|
18-Aug-2008 |
Stephane Marchesin <marchesin@icps.u-strasbg.fr> |
nv30: add some opcodes.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
dbec107c2549c00120ca6d67282f2a1a4bd8bdbd |
|
13-Aug-2008 |
Ben Skeggs <skeggsb@gmail.com> |
nv30/nv40: KIL/KILP swapped meanings
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
fda01b584715c05696a0e6768fda669ef1eb5f3b |
|
07-Aug-2008 |
Ben Skeggs <skeggsb@localhost.localdomain> |
nouveau: fix build
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
9489de99802e635271c1ae84630fc02892af1699 |
|
12-Jul-2008 |
Patrice Mandin <pmandin@caramail.com> |
nv30: was setting wrong register
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
58737dc87575625438d288fe2f816b6a9d2086f1 |
|
12-Jul-2008 |
Patrice Mandin <pmandin@caramail.com> |
nv30: Emit fragment program using state objects
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.c
|
b327b064058aaab1debb1af08f4b9abe1385adc6 |
|
11-Jul-2008 |
Patrice Mandin <pmandin@caramail.com> |
nv30: split fragprog_upload from fragprog_bind
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
37a418b3b05db51aea0a1010bad8118b92e0e9d6 |
|
11-Jul-2008 |
Patrice Mandin <pmandin@caramail.com> |
nv30: split fragprog_prepare from fragprog_translate
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
28268f7b22905974a2cc3c099b1a842d20a7712a |
|
08-Jul-2008 |
Stephane Marchesin <marchesin@icps.u-strasbg.fr> |
nv30: use native instructions.
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.c
|
7b389f8d2f307fa0714494f2a43e9141cc04ed3e |
|
30-Mar-2008 |
Patrice Mandin <pmandin@caramail.com> |
nv30: use FREE macro
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
9a4938d7033101122b627786273ff37229b5558a |
|
12-Mar-2008 |
Ben Skeggs <skeggsb@gmail.com> |
nouveau: match interface changes
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.c
|
169912b71a4242389301890ef303046d49ce71df |
|
11-Mar-2008 |
Patrice Mandin <pmandin@caramail.com> |
nv30: silence some warnings
/external/mesa3d/src/gallium/drivers/nv30/nv30_fragprog.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_fragprog.c
|