Commit graph

32345 commits

Author SHA1 Message Date
Luca Barbieri
4d93ef1a01 nv30, nv40: unify nv[34]0_state_viewport.c
The files are identical, except for an extra comment in nv30.
2010-03-15 00:03:02 -04:00
Luca Barbieri
9937116c7b nv30, nv40: unify nv[34]0_query.c
The files are identical except formatting.
2010-03-15 00:03:02 -04:00
Luca Barbieri
8611a31bb4 nv30, nv40: unify nv[34]0_miptree.c
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.
2010-03-15 00:03:02 -04:00
Luca Barbieri
e392e0b148 nv30, nv40: unify nv[34]0_state_stipple.c
The files are identical, except for the fact that the nv40 version
forgets to unreference the stateobj.

Unified to the correct nv30 version.
2010-03-15 00:03:02 -04:00
Luca Barbieri
64d882637d nv30, nv40: unify identical nv[34]0_state_zsa.c 2010-03-15 00:03:02 -04:00
Luca Barbieri
938c6905cf nv30, nv40: unify identical nv[34]0_state_scissor.c 2010-03-15 00:03:02 -04:00
Luca Barbieri
ada801222b nv30, nv40: unify identical nv[34]0_state_rasterizer.c 2010-03-15 00:03:01 -04:00
Luca Barbieri
0b55e1cd17 nv30, nv40: unify identical nv[34]0_state_blend.c 2010-03-15 00:03:01 -04:00
Luca Barbieri
778c64da97 nv30, nv40: non-trivially unify nv[34]0_state_emit.c
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.
2010-03-15 00:03:01 -04:00
Luca Barbieri
d084d189d0 nv30, nv40: unify identical nv[34]0_transfer.c 2010-03-15 00:03:01 -04:00
Luca Barbieri
c5c7b69bda nv30, nv40: unify identical nv[34]0_clear.c 2010-03-15 00:03:01 -04:00
Luca Barbieri
6321a18331 nvfx: add nvfx directory to build system
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.
2010-03-15 00:03:01 -04:00
Luca Barbieri
6518a1c853 nv30, nv40: add is_nv4x member to context and screen structs
This will make it faster to check for nv40.
2010-03-15 00:03:01 -04:00
Luca Barbieri
b8e56d4cdd 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).
2010-03-15 00:03:01 -04:00
Luca Barbieri
d673c92810 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.
2010-03-15 00:03:01 -04:00
Luca Barbieri
1771d8f8f4 nv30: remove unused on_hw field and constant fp_reg_control field
This makes nv30_state.h equivalent to nv40_state.h
2010-03-15 00:03:00 -04:00
Luca Barbieri
5f71414fc9 nv40: use NV34TCL_ constants where available
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.
2010-03-15 00:03:00 -04:00
Vinson Lee
883aa5974b r300g: Remove unnecessary headers. 2010-03-14 16:43:01 -07:00
George Sapountzis
631a1a9ac8 dri/common: mv __driUtilMessage to utils.c
allows to link with xmlconfig without dri_util, and has nothing drm-specific.
2010-03-15 01:17:18 +02:00
George Sapountzis
7a62c60ca9 dri/swrast: add comment in case it's not clear 2010-03-15 01:17:18 +02:00
George Sapountzis
e557c2e14f dri/swrast: drop mtypes.h from dri_sw 2010-03-15 01:17:18 +02:00
George Sapountzis
e60693efda dri/swrast: update copyright email 2010-03-15 01:17:17 +02:00
George Sapountzis
c1bde79359 dri/swrast: port to dri_sw (drawable) 2010-03-15 01:17:17 +02:00
George Sapountzis
cf8a1caa23 dri/swrast: port to dri_sw (context) 2010-03-15 01:17:17 +02:00
George Sapountzis
6e376485c1 dri/swrast: port to dri_sw 2010-03-15 01:17:17 +02:00
George Sapountzis
06ebc46e65 dri: add dri_sw.c helper
This is dri_util.c stripped from the drm-specific bits and will be used for
both classic and gallium swrast_dri.so
2010-03-15 01:17:16 +02:00
Vinson Lee
725d77a6b5 trace: Remove unnecessary headers. 2010-03-14 15:47:05 -07:00
Vinson Lee
08cddfe291 svga: Remove unnecessary header. 2010-03-14 15:38:04 -07:00
George Sapountzis
41eab95b3b glapi: exec_malloc for dispatch stubs 2010-03-14 22:24:27 +02:00
George Sapountzis
8fd7ee1815 glapi: this one should be by THREAD 2010-03-14 22:24:26 +02:00
George Sapountzis
9a649c8eaa glapi: more organize code by arch
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.
2010-03-14 22:24:25 +02:00
George Sapountzis
0ed0114de9 glapi: organize arch-specific code by arch (2) 2010-03-14 22:24:25 +02:00
George Sapountzis
6c8e5151f1 glapi: organize arch-specific code by arch 2010-03-14 22:24:24 +02:00
Marek Olšák
6e4b05637f r300g: remove pipe_context from r300_screen 2010-03-14 14:40:38 +01:00
Vinson Lee
2615bba182 softpipe: Remove unnecessary header. 2010-03-13 18:05:39 -08:00
Dan Nicholson
de4ee20578 gallium: Respect user's CFLAGS for including X headers
This can break on systems that don't have a system X installation.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2010-03-13 11:56:59 -08:00
Jeff Smith
8d86d395dc Use X_LIBS from pkg-config, instead of libdir, for locating libX11
Signed-off-by: Jeff Smith <whydoubt@yahoo.com>
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2010-03-13 11:42:24 -08:00
José Fonseca
392d37609d llvmpipe: Switch to PIPE_TEX_MIPFILTER_NONE when texture has no mipmaps. 2010-03-13 19:11:33 +00:00
Marek Olšák
3996e49369 r300g: add high quality anisotropic filtering for R5xx (disabled by default)
Oh look, an undocumented feature. It's a nice tool for benchmarking
texturing.
2010-03-13 18:23:27 +01:00
Marek Olšák
d5749fb6fc r300g: fix anisotropic filtering, fix macrotiling
Two bug fixes at the same time. :)
2010-03-13 18:23:27 +01:00
Marek Olšák
bcec6d851c r300g: refrain from using immediate mode if it causes slowdown
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.
2010-03-13 18:23:27 +01:00
Marek Olšák
e31bca139f r300g: fix up function names 2010-03-13 18:23:26 +01:00
Maciej Cencora
abc847c20d radeon: add some debuging info for glCopyTex(Sub)Image 2010-03-13 17:33:48 +01:00
Maciej Cencora
18ecf41835 r300: blits for small dst pitch work just fine 2010-03-13 17:30:19 +01:00
Maciej Cencora
aba40bd434 radeon: fix gl format to mesa format mapping and add GL_BGRA formats 2010-03-13 17:30:19 +01:00
Maciej Cencora
1a8a230a61 radeon: fix glCopyTex(Sub)Image
Fallback to swrast for software renderbuffers
2010-03-13 17:30:19 +01:00
José Fonseca
bf40c34663 llvmpipe: Ensure the context is flushed before modifying textures. 2010-03-13 16:13:26 +00:00
José Fonseca
3abc7b985c llvmpipe: Don't use texture transfer internally.
Now that transfers are context objects their sideeffects must happen in
order when used by the state tracker, but that synchronization must be
bypassed when used inside the driver, or it would cause infinite
recursion.
2010-03-13 16:04:06 +00:00
José Fonseca
a80e33f407 llvmpipe: Obey rasterization rules.
Replicates softpipe.
2010-03-13 11:23:52 +00:00
José Fonseca
3160cbabcc llvmpipe: setup_context -> lp_setup_context
Otherwise IDEs and debuggers have trouble distinguishing from softpipe's
setup_context.
2010-03-13 11:23:52 +00:00