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