Age | Commit message (Collapse) | Author |
|
|
|
These do similar jobs but with largely disjoint code. Will want
to evolve them separately going forward.
|
|
|
|
We need aditional meta data about the usage of the surface
in softpipe because we need to be able tell the diffrence
between PRIMARY and DISPLAY_TARGET surfaces.
|
|
This reverts commit 1295cf423e21dad04a947960782ffa8db2739709.
The original formulation was easier to understand & work with. Will
revisit this later.
|
|
Unshare one function (setup_pos_vector) as we want to push this code
into the generated shader in the SSE case.
|
|
However we do llvm integration, it will be different & more comprehensive
than this.
|
|
minify() is usually used in mipmap size calculation. Strangely enough,
we all defined it as MAX2(1, d >> 1); imagine that. :3
|
|
|
|
When a texutre transfer is mapped for writing, mark the texture dirty
when unmapped. This was done in surface creation, and this commit moves
it to happen in texture unmapping.
This fixes subtex test in progs/tests/.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
Stray '- 0.5' copied from linear versions.
|
|
All these fastpaths are examples of the types of things we'd code-generate
in a more sophisticated version of softpipe.
|
|
Because this is interpolated (ie. early) depth, we can build in an
assumption about the quads emitted by triangle setup, ie that they
are actually linear spans. Interpolate z over those spans in z16
format to save on math & conversion.
|
|
Disable blend code when no color buffer
|
|
|
|
|
|
|
|
Consolidate the read-modify-write color combining code from
the blend, colormask and output stages.
|
|
|
|
|
|
First attempt
|
|
This is part one -- we still only pass a single quad down, but
the code can now cope with more. The quads must all be from the same
tile.
|
|
|
|
There's no need to push out depth buffer contents on swapbuffers.
Note that this change doesn't throw away depth buffer changes, it simply
holds them in the cache over calls to swapbuffers. The hope is
that swapbuffers will be followed by a clear() which means in that case
we won't have to write the changes out.
|
|
|
|
The sp_tile_cache is often called repeatedly to look up the same
tile. Add a cache (to the cache) of the single tile most recently
retreived and make a quick inline check to see if this matches the
subsequent request.
Add a tile_address bitfield struct to make this check easier.
|
|
|
|
|
|
No loss of performance, but simpler code.
|
|
No performance gain yet, but the code is a bit cleaner.
|
|
The tile cache is a utility, it shouldn't know anything about the
entity which is making use of it (ie softpipe).
Remove softpipe parameter to all the tilecache function calls, and
also remove the need to keep a softpipe pointer in the sampler structs.
|
|
|
|
Conflicts:
Makefile
progs/glsl/multitex.c
src/mesa/main/enums.c
src/mesa/main/state.c
src/mesa/main/texenvprogram.c
src/mesa/main/version.h
|
|
Most obvious problem is drawpixels comes out blocky, but this may be
an existing issue of KIL on the sse path.
|
|
Pass the tgsi_exec_machine struct in directly and just hold a single
pointer to this struct, rather than keeping one for each of its
internal members.
|
|
Centralize the creation, initialization and destruction of this struct.
Use align_malloc instead of home-brew alternatives.
|
|
|
|
default extension list
|
|
Conflicts:
src/mesa/main/dlist.c
src/mesa/vbo/vbo_save_api.c
|
|
Remove the drm_api from the functions in the softpipe and
i915simple drivers. Create wrapper functions in the
backends instead.
|
|
mesa allocates both frontface and pointcoord registers within the fog
coordinate register, by using swizzling. to make it cleaner and easier
for drivers we want each of them in its own register. so when doing
compilation from the mesa IR to tgsi allocate new registers for both
and add new semantics to the respective declarations.
|
|
|
|
|
|
|
|
|