Commit Graph

25860 Commits

Author SHA1 Message Date
José Fonseca 241c3a1d80 llvmpipe: Fallback to element-wise comparisons when no comparison intrinsic is available.
Although selection of vector elements is valid LLVM IR, no machine target
supports it yet.

This is a last-resort option, but it allows llvmpipe to be used on any
target supported by LLVM without modifications. Obviously better
performance is attainable by emitting SIMD intrinsics where otherwise
LLVM doesn't.
2009-08-31 10:22:36 +01:00
José Fonseca 45fb66ab7b llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics. 2009-08-31 10:00:38 +01:00
José Fonseca b995af25d0 llvmpipe: Actually commit lp_buffer.[ch].
Thanks Michel.
2009-08-31 09:34:04 +01:00
Michel Dänzer 9f0495aa76 Gallium xlib: Add support for BGRA visuals. 2009-08-31 10:22:19 +02:00
Ben Skeggs 1ea114958b nouveau: fix for dri state tracker changes 2009-08-31 13:39:45 +10:00
Ben Skeggs 02f3245448 nouveau: introduce nouveau_miptree common to all nouveau pipe drivers
The winsys once again has to know about textures it seems, so we need a
common representation between all our pipe drivers to store some
information the winsys will need.

Only the nv50 driver has been fixed so far.
2009-08-31 13:39:38 +10:00
Ben Skeggs 500b260494 nouveau: hack winsys to compile again, it's broken still however 2009-08-31 12:55:56 +10:00
Marc Dietrich a192da37ed cell: fix compilation 2009-08-30 09:24:27 -06:00
Brian Paul d6b8664e3c swrast: minor code consolidation 2009-08-30 09:21:20 -06:00
Brian Paul 04f8193aad mesa: consolidate texture-related code in meta.c
Also, allow using texture rectangles, NPOT textures or regular POT textures
(preferred in that order).
2009-08-30 09:15:24 -06:00
Brian Paul 7dd6fa12e1 progs/util: minor updates to glutskel.c 2009-08-30 09:10:36 -06:00
Brian Paul a068e098e2 intel: use more efficient loop over buffers 2009-08-30 09:10:36 -06:00
Brian Paul 0243f79eac mesa: avoid redundant viewport changes in meta code 2009-08-30 09:10:36 -06:00
José Fonseca c28f253ac2 llvmpipe: Texture cache in 4 ubytes instead of 4 floats.
This is more a short term experiment than a long term commitment, as we'll
need to support higher precision textures too, as this will all be
be replaced by runtime generated code.

With this change most Mesa demos fps increased around 10%. Not a huge
improvement, but not a negligible one either.
2009-08-30 12:37:03 +01:00
José Fonseca 62b586fce4 llvmpipe: Use util_format_read_4f to read texture tiles. 2009-08-30 12:37:03 +01:00
José Fonseca ffe1b7bad8 llvmpipe: Texture cache is read-only. No need to flush. 2009-08-30 12:37:03 +01:00
José Fonseca 3d30524393 util: Auto generate pixel format accessor functions from
This has several advantages over the u_
 - not hand written
 - no intermediate memcpy of raw pixels
 - supports 4 ubytes in addition to floats
 - no need to pass a pipe_transfer

It also has (hopefully temporary) limitations:
 - no support for YUV
 - no support for SRGB
2009-08-30 12:37:03 +01:00
José Fonseca 379304a72c llvmpipe: Eliminate internal pipe_buffer_map/unmap usage. 2009-08-30 12:37:03 +01:00
José Fonseca d336ef410a xlib: Implement lp_winsys::destroy. 2009-08-30 12:37:03 +01:00
Michel Dänzer 9053bb0d40 Merge branch 'mesa_7_5_branch'
Conflicts:
	src/glx/x11/glxcmds.c
2009-08-30 13:06:18 +02:00
Michel Dänzer edb1178798 glx/x11: Fix glXCreateGLXPixmap for direct rendering.
Fixes progs/xdemos/glxpixmap modified to use direct rendering.
2009-08-30 12:53:00 +02:00
Eric Anholt 3c1172f066 i965: Fix segfault with ARB_oq CheckQuery when results are already fetched. 2009-08-29 13:29:38 -07:00
Eric Anholt 09549704c6 i965: Support PROGRAM_ENV_PARAMs in brw_vs_emit.c 2009-08-29 13:29:38 -07:00
José Fonseca c9adb4c9cb llvmpipe: List lp_buffer.c in the Makefile. 2009-08-29 20:07:53 +01:00
José Fonseca 85a0a4b296 xlib: Implement llvmpipe lp_winsys interface. 2009-08-29 20:03:44 +01:00
José Fonseca e173a9bbd6 llvmpipe: Define an winsys for LLVM. Drop pipe_winsys
lp_winsys will eventually be unified with softpipe's eventually, but we
are free to move quicker since we don't have the myriad of users yet.

Will provide a pipe_winsys adaptor from Keith's softpipe-private-winsys
soon.
2009-08-29 20:03:44 +01:00
Pauli Nieminen e48dc9c5ed r300: Disable threshold register for KMS.
Kernel side doesn't have required register in safe list so can't send it kernel.
2009-08-29 21:05:22 +03:00
Pauli Nieminen 9c0ab1fa85 r300: Swtcl prediction was still missing scissors.
All that state stuff should really be in state atoms :/
2009-08-29 21:05:19 +03:00
Pauli Nieminen 32df8922a9 r300: Add missing pre_emit_count to swtcl state size prediction. 2009-08-29 18:40:44 +03:00
Christoph Bumiller 8313801911 nv50: set provoking vertex state 2009-08-29 17:22:12 +02:00
José Fonseca da1248bee5 xlib: Update llvmpipe integration for changes in master. 2009-08-29 09:21:42 +01:00
José Fonseca f04ce6276b llvmpipe: Update for changes in master. 2009-08-29 09:21:42 +01:00
José Fonseca 6818eb9b90 mesa: Update sconscript for new ARB/FP assembler. 2009-08-29 09:21:42 +01:00
José Fonseca fdb3e75f7e util: Add util_unsigned_logbase2.
Cherry picked from Keith's commit f911c3b989.
2009-08-29 09:21:42 +01:00
José Fonseca c40eddd294 llvmpipe: Isolate sampling from TGSI translation. 2009-08-29 09:21:42 +01:00
José Fonseca d4806c64a2 llvmpipe: Better structure dereference naming. 2009-08-29 09:21:42 +01:00
José Fonseca 8aa62cead7 llvmpipe: Fix shader variant key construction.
Fixes the blank screen on non-64bit mode.
2009-08-29 09:21:42 +01:00
José Fonseca 1e6cc1cf37 llvmpipe: Fix build. 2009-08-29 09:21:42 +01:00
José Fonseca f311bacebd llvmpipe: Merge all pixel format related files. 2009-08-29 09:21:42 +01:00
José Fonseca f85c5f8621 llvmpipe: Factor out and optimize the input interpolation.
Special attention is given to the interpolation of side by side quads.
Multiplications are made only for the first quad. Interpolation of
inputs for posterior quads are done exclusively with additions, and
perspective divide if necessary.
2009-08-29 09:21:41 +01:00
José Fonseca 03180dca7a llvmpipe: Pre-declare fetch_texel. 2009-08-29 09:21:41 +01:00
José Fonseca 635c37e118 llvmpipe: Pass the alpha ref value and blend color in the jit context. 2009-08-29 09:21:41 +01:00
José Fonseca c022e15d1e llvmpipe: Pass fragment context to generated function in a single structure. 2009-08-29 09:21:41 +01:00
José Fonseca 8c7c108d71 llvmpipe: Structure manipulation helpers. 2009-08-29 09:21:41 +01:00
José Fonseca 08dd41fd68 llvmpipe: Centralize the C <-> JIT interfaces in one place. 2009-08-29 09:21:41 +01:00
José Fonseca 97b4681d7e llvmpipe: Drop blend derived state.
Already included in the fragment shader.
2009-08-29 09:21:41 +01:00
Keith Whitwell 04de13b9cd llvmpipe: keep texture stride 16byte aligned
Fixes crash when resizing gears window.
2009-08-29 09:21:41 +01:00
José Fonseca 4d2b0eb19e llvmpipe: Squash the quad pipeline.
It had been reduced to one fixed stage.
2009-08-29 09:21:41 +01:00
José Fonseca 77b35dc179 llvmpipe: s/uni/scalar/.
More obvious name.
2009-08-29 09:21:40 +01:00
José Fonseca 5811ed87d7 llvmpipe: Add a bunch of comments.
Description/rationale/to-do items, while I still remember them...
2009-08-29 09:21:40 +01:00