summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* nv30, nv40: non-trivially unify nv[34]0_screen.cLuca Barbieri2010-03-157-434/+181
| | | | | | The files have the same structure but are substantially different. They are unified with appropriate conditionals.
* nv30, nv40: non-trivially unify nv[34]0_vertprog.cLuca Barbieri2010-03-1510-997/+205
| | | | | | | | | | | | | | | | 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
* nv30, nv40: partially unify nv[34]0_state.cLuca Barbieri2010-03-159-1162/+618
| | | | | | | | | state.c is identical except for: 1. Sampler state creation is different 2. nv40 swtnl support 3. Separate blend equations on nv40 This patch unifies nv[34]0_state.c, except the sampler state creation code.
* nv30, nv40: unify nv[34]0_vbo.cLuca Barbieri2010-03-1511-629/+50
| | | | | | The files are identical, except for swtnl support which is commented out on nv30 and restart being initialized on nv30 to avoid a compiler warning.
* nv30, nv40: non-trivially unify nv[34]0_draw.cLuca Barbieri2010-03-1512-119/+61
| | | | | | | | | | | | nv30_draw.c is a stub. This patch makes both nv30 and nv40 use the nv40 swtnl path. Note that this doesn't actually work on nv30 because the vertex program is encoded in the nv40-only layout. However, swtnl was unimplemented before on nv30, so this is not a regression. Furthermore, a patch to fix this is available near the end of the patchset.
* nv30, nv40: non-trivially unify nv[34]0_fragprog.cLuca Barbieri2010-03-1511-981/+99
| | | | | | | | | 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.
* nv30, nv40: non-trivially partially unify nv[34]0_shader.hLuca Barbieri2010-03-158-1018/+726
| | | | | | | | | | | | 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.
* nv30, nv40: non-trivially unify nv[34]0_state_fb.cLuca Barbieri2010-03-159-212/+96
| | | | | | | | | | | | | | The files are significantly different due to: 1. nv30 support 2 render targets, nv40 4 2. z-buffer pitch is set differently 3. nv30 has a limitation of colour_bits >= zeta_bits. This may not actually exist in the driver though 4. nv30 points color0 at depth in the depth-only case 5. nv30 sets NV34TCL_VIEWPORT_TX_ORIGIN to 0. This is probably unnecessary This patch attempts to unify the two files and preserve the existing behavior.
* nv30, nv40: unify nv[34]0_state_viewport.cLuca Barbieri2010-03-159-51/+7
| | | | The files are identical, except for an extra comment in nv30.
* nv30, nv40: unify nv[34]0_query.cLuca Barbieri2010-03-1512-236/+42
| | | | The files are identical except formatting.
* nv30, nv40: unify nv[34]0_miptree.cLuca Barbieri2010-03-159-264/+30
| | | | | | | | | | | | | | | | The only difference between nv30 and nv40 is that nv30 allowed swizzling for more texture types. This patch preserves the existing behavior, using conditional code. Note however that this does not make sense, since all texture types can be swizzled on nv40 and probably on nv30 too. However, the handling of swizzled surfaces in the current 2D code is partially broken, so it's best not to touch this. A whole rewrite of the 2D code will be submitted, which will solve this problem.
* nv30, nv40: unify nv[34]0_state_stipple.cLuca Barbieri2010-03-159-48/+7
| | | | | | | The files are identical, except for the fact that the nv40 version forgets to unreference the stateobj. Unified to the correct nv30 version.
* nv30, nv40: unify identical nv[34]0_state_zsa.cLuca Barbieri2010-03-159-56/+12
|
* nv30, nv40: unify identical nv[34]0_state_scissor.cLuca Barbieri2010-03-159-45/+7
|
* nv30, nv40: unify identical nv[34]0_state_rasterizer.cLuca Barbieri2010-03-1510-39/+20
|
* nv30, nv40: unify identical nv[34]0_state_blend.cLuca Barbieri2010-03-159-56/+13
|
* nv30, nv40: non-trivially unify nv[34]0_state_emit.cLuca Barbieri2010-03-1513-199/+75
| | | | | | | | The files are the same except for swtnl support on nv40 and for texture cache flushing on nv40. Unify them, and use a macro to define 4 versions of render_states, for all combinations of nvfx and hwtnl/swtnl.
* nv30, nv40: unify identical nv[34]0_transfer.cLuca Barbieri2010-03-159-26/+26
|
* nv30, nv40: unify identical nv[34]0_clear.cLuca Barbieri2010-03-1510-32/+10
|
* nvfx: add nvfx directory to build systemLuca Barbieri2010-03-155-1/+33
| | | | | | | Will be used to hold source files unified between nv30 and nv40. Eventually all nv30 and nv40 code will be moved there and the nv30 and nv40 directories will be removed.
* nv30, nv40: add is_nv4x member to context and screen structsLuca Barbieri2010-03-155-0/+11
| | | | This will make it faster to check for nv40.
* nv30, nv40: unify all structures and headers, except shadersLuca Barbieri2010-03-1551-1575/+1298
| | | | | | | | | | | | | | | | | | | 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).
* nouveau: s/rankine/eng3d/g; s/curie/eng3d/gLuca Barbieri2010-03-1532-289/+289
| | | | | | | 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.
* nv30: remove unused on_hw field and constant fp_reg_control fieldLuca Barbieri2010-03-152-5/+1
| | | | This makes nv30_state.h equivalent to nv40_state.h
* nv40: use NV34TCL_ constants where availableLuca Barbieri2010-03-1514-186/+186
| | | | | | | | | | | It was decided to just use the NV34TCL_ constants for constants common between nv30 and nv40, and deprecate the NV40TCL_ versions. This patch changes the nv40 driver to use NV34TCL_ constants for common functionality. This reduces differences between nv30 and nv40 to ease further unification.
* r300g: Remove unnecessary headers.Vinson Lee2010-03-142-3/+0
|
* dri/common: mv __driUtilMessage to utils.cGeorge Sapountzis2010-03-156-31/+29
| | | | allows to link with xmlconfig without dri_util, and has nothing drm-specific.
* dri/swrast: add comment in case it's not clearGeorge Sapountzis2010-03-151-2/+2
|
* dri/swrast: drop mtypes.h from dri_swGeorge Sapountzis2010-03-151-1/+1
|
* dri/swrast: update copyright emailGeorge Sapountzis2010-03-153-11/+3
|
* dri/swrast: port to dri_sw (drawable)George Sapountzis2010-03-154-22/+60
|
* dri/swrast: port to dri_sw (context)George Sapountzis2010-03-155-22/+58
|
* dri/swrast: port to dri_swGeorge Sapountzis2010-03-153-180/+100
|
* dri: add dri_sw.c helperGeorge Sapountzis2010-03-152-0/+382
| | | | | This is dri_util.c stripped from the drm-specific bits and will be used for both classic and gallium swrast_dri.so
* trace: Remove unnecessary headers.Vinson Lee2010-03-141-3/+0
|
* svga: Remove unnecessary header.Vinson Lee2010-03-141-2/+0
|
* glapi: exec_malloc for dispatch stubsGeorge Sapountzis2010-03-146-8/+156
|
* glapi: this one should be by THREADGeorge Sapountzis2010-03-141-6/+4
|
* glapi: more organize code by archGeorge Sapountzis2010-03-141-4/+10
| | | | | | It seems that x86-64 with tls will fail to compile or load due to a missining gl_dispatch_functions_start symbol. Not changing though, since this is how it used to be and cannot test.
* glapi: organize arch-specific code by arch (2)George Sapountzis2010-03-141-81/+73
|
* glapi: organize arch-specific code by archGeorge Sapountzis2010-03-141-19/+50
|
* r300g: remove pipe_context from r300_screenMarek Olšák2010-03-142-8/+0
|
* softpipe: Remove unnecessary header.Vinson Lee2010-03-131-1/+0
|
* gallium: Respect user's CFLAGS for including X headersDan Nicholson2010-03-132-2/+4
| | | | | | This can break on systems that don't have a system X installation. Signed-off-by: Dan Nicholson <[email protected]>
* Use X_LIBS from pkg-config, instead of libdir, for locating libX11Jeff Smith2010-03-134-6/+10
| | | | | Signed-off-by: Jeff Smith <[email protected]> Signed-off-by: Dan Nicholson <[email protected]>
* llvmpipe: Switch to PIPE_TEX_MIPFILTER_NONE when texture has no mipmaps.José Fonseca2010-03-131-1/+5
|
* r300g: add high quality anisotropic filtering for R5xx (disabled by default)Marek Olšák2010-03-135-0/+27
| | | | | Oh look, an undocumented feature. It's a nice tool for benchmarking texturing.
* r300g: fix anisotropic filtering, fix macrotilingMarek Olšák2010-03-131-2/+2
| | | | Two bug fixes at the same time. :)
* r300g: refrain from using immediate mode if it causes slowdownMarek Olšák2010-03-133-2/+48
| | | | | | | | | E.g. when mapping buffers could flush CS or cause waiting for a busy buffer. The side effect of this is it also fixes progs/demos/arbocclude however a separate fix should be proposed to address this issue in other cases it might occur.
* r300g: fix up function namesMarek Olšák2010-03-132-3/+2
|