Commit Graph

22323 Commits

Author SHA1 Message Date
Jakob Bornecrantz 4224bda684 i915g: Cleanup texture init functions a bit 2009-08-31 16:29:57 +01:00
Jakob Bornecrantz e1741dbe45 i915g: Rename pipe field on context to base 2009-08-31 16:29:57 +01:00
Jakob Bornecrantz ad25d450ec i915g: Rename screen field on screen to base 2009-08-31 16:29:57 +01:00
Brian Paul 2b6ab615a4 mesa: set additional fields in _mesa_buffer_map_range() 2009-08-31 09:12:04 -06:00
Brian Paul d1da8acd82 mesa: set Length/Offset fields in _mesa_buffer_map() 2009-08-31 09:05:28 -06:00
Brian Paul 822c796481 mesa: additional assertions for ctx->Driver.UnmapBuffer()
The Pointer, Offset and Lenght fields should be cleared by the driver function
since ctx->Driver.Unmap() may be called from VBO code, etc.
2009-08-31 09:01:58 -06:00
Brian Paul 28c159d614 intel: clear buffer fields in intel_bufferobj_unmap() 2009-08-31 09:01:44 -06:00
Brian Paul 92033a9516 mesa: new assertions, comments about buffer mapping
Since ctx->Driver.MapBuffer() and ctx->Driver.MapBufferRange() may be called
from other places in Mesa (such as VBO) it's important that the driver
callbacks set all the buffer object fields properly (Pointer, Offset, Length,
etc).  Add assertions to make sure that the driver does that.
2009-08-31 08:50:15 -06:00
Brian Paul c69a4dce75 st/mesa: fix obj->Pointer offset in st_bufferobj_map_range()
This fixes a bunch of gallium regressions since
commit 8096aa5213
2009-08-31 08:49:24 -06:00
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 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