History log of /external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b3538d356316b282d6408f710f2df5f06bf315f5 04-Aug-2012 Brian Paul <brianp@vmware.com> llvmpipe: combine vertex/fragment sampler state into an array

This will allow code consolidation in the next patch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
70a969f123c98cf6fca71a5fed4efed983edf6c8 06-Jul-2012 Roland Scheidegger <sroland@vmware.com> llvmpipe: use runtime loop instead of static loop for looping over quads

This can potentially cut shader program size by a factor of 4 for 4-wide
execution respectively 2 for 8-wide execution and while this ratios aren't
quite reached for more complex shaders it can be close.
Could not really measure a performance difference so far except for trivial
shaders (glxgears).
There seems to be a fair amount of unnecessary move's generated especially
at the beginning it might be possible to optimize those away somehow.
Things aren't quite as clean, some additional stuff needs to be done for
keeping both paths working (though llvm might be able to optimize this away).
glxgears seems to lose about 5-10% of performance, looking at the generated
shaders this is actually less than I'd think it would be - both 4 and 8-wide
shaders, despite containing a loop actually have about 10% more instructions
in total, and will have roughly 50% more executed instructions (though mostly
cheap ones). Need to figure out how to reduce overhead...

v2: keep complex interpolation for 4-wide mode, adapt to interface changes.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3469715a8a171512cf9b528702e70393f01c6041 13-Jul-2012 José Fonseca <jfonseca@vmware.com> gallivm,draw,llvmpipe: Support wider native registers.

Squashed commit of the following:

commit 7acb7b4f60dc505af3dd00dcff744f80315d5b0e
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 9 17:46:31 2012 +0100

draw: Don't use dynamically sized arrays.

Not supported by MSVC.

commit 5810c28c83647612cb372d1e763fd9d7780df3cb
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 9 17:44:16 2012 +0100

gallivm,llvmpipe: Don't use expressions with PIPE_ALIGN_VAR().

MSVC doesn't accept exceptions in _declspec(align(...)). Use a
define instead.

commit 8aafd1457ba572a02b289b3f3411e99a3c056072
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 9 17:41:56 2012 +0100

gallium/util: Make u_cpu_detect.h header C++ safe.

commit 5795248350771f899cfbfc1a3a58f1835eb2671d
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 2 12:08:01 2012 +0100

gallium/util: Add ULL suffix to large constants.

As suggested by Andy Furniss: it looks like some old gcc versions
require it.

commit 4c66c22727eff92226544c7d43c4eb94de359e10
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Jun 29 13:39:07 2012 +0100

gallium/util: Truly disable INF/NAN tests on MSVC.

Thanks to Brian for spotting this.

commit 8bce274c7fad578d7eb656d9a1413f5c0844c94e
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Jun 29 13:39:07 2012 +0100

gallium/util: Disable INF/NAN tests on MSVC.

Somehow they are not recognized as constants.

commit 6868649cff8d7fd2e2579c28d0b74ef6dd4f9716
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jul 5 15:05:24 2012 +0200

gallivm: Cleanup the 2 x 8 float -> 16 ub special path in lp_build_conv.

No behaviour change intended, like 7b98455fb40c2df84cfd3cdb1eb7650f67c8a751.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 5147a0949c4407e8bce9e41d9859314b4a9ccf77
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jul 5 14:28:19 2012 +0200

gallivm: (trivial) fix issues with multiple-of-4 texture fetch

Some formats can't handle non-multiple of 4 fetches I believe, but
everything must support length 1 and multiples of 4.
So avoid going to scalar fetch (which is very costly) just because length
isn't 4.
Also extend the hack to not use shift with variable count for yuv formats to
arbitrary length (larger than 1) - doesn't matter how many elements we
have we always want to avoid it unless we have variable shift count
instruction (which we should get with avx2).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 87ebcb1bd71fa4c739451ec8ca89a7f29b168c08
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jul 4 02:09:55 2012 +0200

gallivm: (trivial) fix typo for wrap repeat mode in linear filtering aos code

This would lead to bogus coordinates at the edges.
(undetected by piglit because this path is only taken for block-based
formats).

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit 3a42717101b1619874c8932a580c0b9e6896b557
Author: José Fonseca <jfonseca@vmware.com>
Date: Tue Jul 3 19:42:49 2012 +0100

gallivm: Fix TGSI integer translation with AVX.

commit d71ff104085c196b16426081098fb0bde128ce4f
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Jun 29 15:17:41 2012 +0100

llvmpipe: Fix LLVM JIT linear path.

It was not working properly because it was looking at the JIT function
before it was actually compiled.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit a94df0386213e1f5f9a6ed470c535f9688ec0a1b
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Jun 28 18:07:10 2012 +0100

gallivm: Refactor lp_build_broadcast(_scalar) to share code.

Doesn't really change the generated assembly, but produces more compact IR,
and of course, makes code more consistent.

Reviewed-by: Brian Paul <brianp@vmware.com>

commit 66712ba2731fc029fa246d4fc477d61ab785edb5
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Jun 27 17:30:13 2012 +0100

gallivm: Make LLVMContextRef a singleton.

There are any places inside LLVM that depend on it. Too many to attempt
to fix.

Reviewed-by: Brian Paul <brianp@vmware.com>

commit ff5fb7897495ac263f0b069370fab701b70dccef
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 28 18:15:27 2012 +0200

gallivm: don't use 8-wide texture fetch in aos path

This appears to be a slight loss usually.
There are probably several reasons for that:
- fetching itself is scalar
- filtering is pure int code hence needs splitting anyway, same
for the final texel offset calculations
- texture wrap related code, which can be done 8-wide, is slightly more
complex with floats (with clamp_to_edge) and float operations generally
more costly hence probably not much faster overall
- the code needed to split when encountering different mip levels for the
quads, adding complexity
So, just split always for aos path (but leave it 8-wide for soa, since we
do 8-wide filtering there when possible).
This should certainly be revisited if we'd have avx2 support.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit ce8032b43dcd8e8d816cbab6428f54b0798f945d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 27 18:41:19 2012 +0200

gallivm: (trivial) don't extract fparts variable if not needed

Did not have any consequences but unnecessary.

commit aaa9aaed8f80dc282492f62aa583a7ee23a4c6d5
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 27 18:09:06 2012 +0200

gallivm: fix precision issue in aos linear int wrap code

now not just passes at a quick glance but also with piglit...
If we do the wrapping with floats, we also need to set the
weights accordingly. We can potentially end up with different
(integer) coordinates than what the integer calculations would
have chosen, which means the integer weights calculated previously
in this case are completely wrong. Well at least that's what I think
happens, at least recalculating the weights helps.
(Some day really should refactor all the wrapping, so we do whatever is
fastest independent of 16bit int aos or 32bit float soa filtering.)

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit fd6f18588ced7ac8e081892f3bab2916623ad7a2
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Jun 27 11:15:53 2012 +0100

gallium/util: Fix parsing of options with underscore.

For example

GALLIVM_DEBUG=no_brilinear

which was being parsed as two options, "no" and "brilinear".

commit 09a8f809088178a03e49e409fa18f1ac89561837
Author: James Benton <jbenton@vmware.com>
Date: Tue Jun 26 15:00:14 2012 +0100

gallivm: Added a generic lp_build_print_value which prints a LLVMValueRef.

Updated lp_build_printf to share common code.
Removed specific lp_build_print_vecX.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit e59bdcc2c075931bfba2a84967a5ecd1dedd6eb0
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed May 16 15:00:23 2012 +0100

draw,llvmpipe: Avoid named struct types on LLVM 3.0 and later.

Starting with LLVM 3.0, named structures are meant not for debugging, but
for recursive data types, previously also known as opaque types.

The recursive nature of these types leads to several memory management
difficulties. Given that we don't actually need recursive types, avoid
them altogether.

This is an attempt to address fdo bugs 41791 and 44466. The issue is
somewhat random so there's no easy way to check how effective this is.

Cherry-picked from 9af1ba565dfd5cef9ee938bb7c04767d14878fbf

commit df6070f618a203c7a876d984c847cde4cbc26bdb
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 27 14:42:53 2012 +0200

gallivm: (trivial) fix typo in faster aos linear int wrap code

no longer crashes, now REALLY tested.

commit d8f98dce452c867214e6782e86dc08562643c862
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 18:20:58 2012 +0200

llvmpipe: (trivial) remove bogus optimization for float aos repeat wrap

This optimization for nearest filtering on the linear path generated
likely bogus results, and the int path didn't have any optimizations
there since the only shader using force_nearest apparently uses
clamp_to_edge not repeat wrap anyway.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit c4e271a0631087c795e756a5bb6b046043b5099d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 23:01:52 2012 +0200

gallivm: faster repeat wrap for linear aos path too

Even if we already have scaled integer coords, it's way faster to use
the original float coord (plus some conversions) rather than use URem.
The choice of what to do for texture wrapping is not really tied to int
aos or float soa filtering though for some modes there can be some gains
(because of easier weight calculations).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 1174a75b1806e92aee4264ffe0ffe7e70abbbfa3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 14:39:22 2012 +0200

gallivm: improve npot tex wrap repeat in linear soa path

URem gets translated into series of scalar divisions so
just about anything else is faster.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit f849ffaa499ed96fa0efd3594fce255c7f22891b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 00:40:35 2012 +0100

gallivm: (trivial) fix near-invisible shift-space typo

I blame the keyboard.

commit 5298a0b19fe672aebeb70964c0797d5921b51cf0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 16:24:28 2012 +0200

gallivm: add new intrinsic helper to deal with arbitrary vector length

This helper will split vectors which are too large for the hw, or expand
them if they are too small, so a caller of a function using intrinsics which
uses such sizes need not split (or expand) the vectors manually and the
function will still use the intrinsic instead of dropping back to generic
llvm code. It can also accept scalars for use with pseudo-vector intrinsics
(only useful for float arguments, all x86 scalar simd float intrinsics use
4vf32).
Only used for lp_build_min/max() for now (also added the scalar float case
for these while there). (Other basic binary functions could use it easily,
whereas functions with a different interface would need different helpers.)
Expanding vectors isn't widely used, because we always try to use
build contexts with native hw vector sizes. But it might (or not) be nicer
if this wouldn't need to be done, the generated code should in theory stay
the same (it does get hit by lp_build_rho though already since we
didn't have a intrinsic for the scalar lp_build_max case before).

v2: incorporated Brian's feedback, and also made the scalar min/max case work
instead of crash (all scalar simd float intrinsics take 4vf32 as argument,
probably the reason why it wasn't used before).
Moved to lp_bld_intr based on José's request, and passing intrinsic size
instead of length.
Ideally we'd derive the source type info from the passed in llvm value refs
and process some llvmtype return type so we could handle intrinsics where
the source and destination type isn't the same (like float/int conversions,
packing instructions) but that's a bit too complicated for now.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 01aa760b99ec0b2dc8ce57a43650e83f8c1becdf
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 16:19:18 2012 +0200

gallivm: (trivial) increase max code size for shader disassembly

64kB was just short of what I needed (which caused a crash) hence
increase to 96kB (should probably be smarter about that).

commit 74aa739138d981311ce13076388382b5e89c6562
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 11:53:29 2012 +0100

gallivm: simplify aos float tex wrap repeat nearest

just handle pot and npot the same. The previous pot handling
ended up with exactly the same instructions plus 2 more (leave it
in the soa path though since it is probably still cheaper there).
While here also fix a issue which would cause a crash after an assert.

commit 0e1e755645e9e49cfaa2025191e3245ccd723564
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 11:29:24 2012 +0100

gallivm: (trivial) skip floor rounding in ifloor when not signed

This was only done for the non-sse41 case before, but even with
sse41 this is obviously unnecessary (some callers already call
itrunc in this case anyway but some might not).

commit 7f01a62f27dcb1d52597b24825931e88bae76f33
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 11:23:12 2012 +0100

gallivm: (trivial) fix bogus comments

commit 5c85be25fd82e28490274c468ce7f3e6e8c1d416
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Jun 20 11:51:57 2012 +0100

translate: Free elt8_func/elt16_func too.

These were leaking.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit 0ad498f36fb6f7458c7cffa73b6598adceee0a6c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 19 15:55:34 2012 +0200

gallivm: fix bug for tex wrap repeat with linear sampling in aos float path

The comparison needs to be against length not length_minus_one, otherwise
the max texel is never chosen (for the second coordinate).

Fixes piglit texwrap-1D-npot-proj (and 2D/3D versions).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit d1ad65937c5b76407dc2499b7b774ab59341209e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 19 16:13:43 2012 +0200

gallivm: simplify soa tex wrap repeat with npot textures and no mip filtering

Similar to what is already done in aos sampling for the float path (but not
the int path since we don't get normalized float coordinates there).
URem is expensive and the calculation is done trivially with
normalized floats instead (at least with sse41-capable cpus).
(Some day should probably do the same for the mip filter path but it's much
more complicated there hence the gain is smaller.)

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit e1e23f57ba9b910295c306d148f15643acc3fc83
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 18 20:38:56 2012 +0200

llvmpipe: (trivial) remove duplicated function declaration

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 07ca57eb09e04c48a157733255427ef5de620861
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 18 20:37:34 2012 +0200

llvmpipe: destroy setup variants on context destruction

lp_delete_setup_variants() used to be called in garbage collection,
but this no longer exists hence the setup shaders never got freed.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit ed0003c633859a45f9963a479f4c15ae0ef1dca3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 18 16:25:29 2012 +0100

gallivm: handle different ilod parts for multiple quad sampling

This fixes filtering when the integer part of the lod is not the same
for all quads. I'm not fully convinced of that solution yet as it just
splits the vector if the levels to be sampled from are different.
But otherwise we'd need to do things like some minify steps, and getting
mip level base address separately anyway hence it wouldn't really look
like much of a win (and making the code even more complex).
This should now give identical results to single quad sampling.

commit 8580ac4cfc43a64df55e84ac71ce1a774d33c0d2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 14 18:14:47 2012 +0200

gallivm: de-duplicate sample code common to soa and aos sampling

There doesn't seem to be any reason why this code dealing with cube face
selection, lod and mip level calculation is separate in aos and
soa sampling, and I am sick of having it to change in both places.

commit fb541e5f957408ce305b272100196f1e12e5b1e8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 14 18:15:41 2012 +0200

gallivm: do mip filtering with per quad lod_fpart

This gives better results for mip filtering, though the generated code might
not be optimal. For now it also creates some artifacts if the lod_ipart isn't
the same for all quads, since instead of using the same mip weight for all
quads as previously (which just caused non-smooth gradients) this now will
use the right weights but with the wrong mip level in this case (can easily
be seen with things like texfilt, mipmap_tunnel).
v2: use logic helper suggested by José, and fix issue with negative lod_fpart
values

commit f1cc84eef7d826a20fab6cd8ccef9a275ff78967
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 13 18:35:25 2012 +0200

gallivm: (trivial) fix bogus assert in lp_build_unpack_broadcast_aos_scalars

commit 7c17dbae8ae290df9ce0f50781a09e8ed640c044
Author: James Benton <jbenton@vmware.com>
Date: Tue Jun 12 12:11:14 2012 +0100

util: Reimplement half <-> float conversions.

Removed u_half.py used to generate the table for previous method.

Previous implementation of float to half conversion was faulty for
denormalised and NaNs and would require extra logic to fix,
thus making the speedup of using tables irrelevant.

commit 7762f59274070e1dd4b546f5cb431c2eb71ae5c3
Author: James Benton <jbenton@vmware.com>
Date: Tue Jun 12 12:12:16 2012 +0100

tests: Updated tests to properly handle NaN for half floats.

commit fa94c135aea5911fd93d5dfb6e6f157fb40dce5e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 11 18:33:10 2012 +0200

gallivm: do mip level calculations per quad

This is the final piece which shouldn't change the rendering output yet.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 23cbeaddfe03c09ca18c45d28955515317ffcf4c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 9 00:54:21 2012 +0200

gallivm: do per-quad cube face selection

Doesn't quite fix the piglit cubemap test (not sure why actually)
but doing per-quad face selection is doing the right thing and
definitely an improvement.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit abfb372b3702ac97ac8b5aa80ad1b94a2cc39d33
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 11 18:22:59 2012 +0200

gallivm: do all lod calculations per quad

Still no functional change but lod is now converted to scalar after
lod calculations.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 519368632747ae03feb5bca9c655eccbc5b751b4
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 16:46:10 2012 +0100

gallivm: Added support for half-float to float conversion in lp_build_conv.

Updated various utility functions to support this change.

commit 135b4d683a4c95f7577ba27b9bffa4a6fbd2c2e7
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 16:02:46 2012 +0100

gallivm: Added function for half-float to float conversion.

Updated lp_build_format_aos_array to support half-float source.

commit 37d648827406a20c5007abeb177698723ed86673
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 14:55:18 2012 +0100

util: Updated u_format_tests to rigidly test half-float boundary values.

commit 2ad18165d96e578aa9046df7c93cb1c3284d8c6b
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 14:54:16 2012 +0100

llvmpipe: Updated lp_test_format to properly handle Inf/NaN results.

commit 78740acf25aeba8a7d146493dd5c966e22c27b73
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 14:53:30 2012 +0100

util: Added functions for checking NaN / Inf for double and half-floats.

commit 35e9f640ae01241f9e0d67fe893bbbf564c05809
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 24 21:05:13 2012 +0200

gallivm: Fix calculating rho for 3d textures for the single-quad case

Discovered by accident, this looks like a very old typo bug.

commit fc1220c636326536fd0541913154e62afa7cd1d8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 24 21:04:59 2012 +0200

gallivm: do calcs per-quad in lp_build_rho

Still convert to scalar at the end of the function.

commit 50a887ffc550bf310a6988fa2cea5c24d38c1a41
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon May 21 23:21:50 2012 +0200

gallivm: (trivial) return scalar in lp_build_extract_range for length 1 vectors

Our type system on top of llvm's one doesn't generally support vectors of
length 1, instead using scalars. So we should return a scalar from this
function instead of having to bitcast the vector with length 1 later elsewhere.

commit 80c71c621f9391f0f9230460198d861643324876
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 17:49:15 2012 +0100

draw: Fixed bad merge error

commit c47401cfad0c9167de20ff560654f533579f452c
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 15:29:30 2012 +0100

draw: Updated store_clip to store whole vectors instead of individual elements.

commit 2d9c1ad74b0b0b41861fffcecde39f09cc27f1cf
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 15:28:32 2012 +0100

gallivm: Added lp_build_fetch_rgba_aos_array.

A version of lp_build_fetch_rgba_aos which is targeted at simple array formats.

Reads the whole vector from memory in one, instead of reading each element
individually.

Tested with mesa tests and demos.

commit ff7805dc2b6ef6d8b11ec4e54aab1633aef29ac8
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 15:27:40 2012 +0100

gallivm: Added lp_build_pad_vector.

This function pads a vector with undef to a desired length.

commit 701f50acef24a2791dabf4730e5b5687d6eb875d
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 17:27:19 2012 +0100

util: Added util_format_is_array.

This function checks whether a format description is in a simple array format.

commit 5e0a7fa543dcd009de26f34a7926674190fa6246
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 19:13:47 2012 +0100

draw: Removed draw_llvm_translate_from and draw/draw_llvm_translate.c.

This is "replaced" by adding an optimised path in lp_build_fetch_rgba_aos
in an upcoming patch.

commit 8c886d6a7dd3fb464ecf031de6f747cb33e5361d
Author: James Benton <jbenton@vmware.com>
Date: Wed May 16 15:02:31 2012 +0100

draw: Modified store_aos to write the vector as one, not individual elements.

commit 37337f3d657e21dfd662c7b26d61cb0f8cfa6f17
Author: James Benton <jbenton@vmware.com>
Date: Wed May 16 14:16:23 2012 +0100

draw: Changed aos_to_soa to use lp_build_transpose_aos.

commit bd2b69ce5d5c94b067944d1dcd5df9f8e84548f1
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 19:14:27 2012 +0100

draw: Changed soa_to_aos to use lp_build_transpose_aos.

commit 0b98a950d29a116e82ce31dfe7b82cdadb632f2b
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 18:57:45 2012 +0100

gallivm: Added lp_build_transpose_aos which converts between aos and soa.

commit 69ea84531ad46fd145eb619ed1cedbe97dde7cb5
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 18:57:01 2012 +0100

gallivm: Added lp_build_interleave2_half aimed at AVX unpack instructions.

commit 7a4cb1349dd35c18144ad5934525cfb9436792f9
Author: José Fonseca <jfonseca@vmware.com>
Date: Tue May 22 11:54:14 2012 +0100

gallivm: Fix build on Windows.

MC-JIT not yet supported there.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit afd105fc16bb75d874e418046b80d9cc578818a1
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:17:26 2012 +0100

llvmpipe: Added a error counter to lp_test_conv.

Useful for keeping track of progress when fixing errors!

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit b644907d08c10a805657841330fc23db3963d59c
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:16:46 2012 +0100

llvmpipe: Changed known failures in lp_test_conv.

To comply with the recent fixes to lp_bld_conv.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit d7061507bd94f6468581e218e61261b79c760d4f
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:14:38 2012 +0100

llvmpipe: Added fixed point types tests to lp_test_conv.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit 146b3ea39b4726dbe125ac666bd8902ea3d6ca8c
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:26:35 2012 +0100

llvmpipe: Changed lp_test_conv src/dst alignment to be correct.

Now based on the define rather than a fixed number.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit f3b57441f834833a4b142a951eb98df0aa874536
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:06:44 2012 +0100

gallivm: Fixed erroneous optimisation in lp_build_min/max.

Previously assumed normalised was 0 to 1, but it can be -1 to 1
if type is signed.
Tested with lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit a0613382e5a215cd146bb277646a6b394d376ae4
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:04:49 2012 +0100

gallivm: Compensate for lp_const_offset in lp_build_conv.

Fixing a /*FIXME*/ to remove errors in integer conversion in lp_build_conv.
Tested using lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit a3d2bf15ea345bc8a0664f8f441276fd566566f3
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:01:25 2012 +0100

gallivm: Fixed overflow in lp_build_clamped_float_to_unsigned_norm.

Tested with lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit e7b1e76fe237613731fa6003b5e1601a2e506207
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon May 21 20:07:51 2012 +0100

gallivm: Fix build with LLVM 2.6

Trivial, and useful.

commit d3c6bbe5c7f5ba1976710831281ab1b6a631082d
Author: José Fonseca <jfonseca@vmware.com>
Date: Tue May 15 17:15:59 2012 +0100

gallivm: Enable MCJIT/AVX with vanilla LLVM 3.1.

Add the necessary C++ glue, so that we don't need any modifications
to the soon to be released LLVM 3.1.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit 724a019a14d40fdbed21759a204a2bec8a315636
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon May 14 22:04:06 2012 +0100

gallivm: Use HAVE_LLVM 0x0301 consistently.

commit af6991e2a3868e40ad599b46278551b794839748
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon May 14 21:49:06 2012 +0100

gallivm: Add MCRegisterInfo.h to silence benign warnings about missing implementation.

Trivial.

commit 6f8a1d75458daae2503a86c6b030ecc4bb494e23
Author: Vinson Lee <vlee@freedesktop.org>
Date: Mon Apr 2 22:14:15 2012 -0700

gallivm: Pass in a MCInstrInfo to createMCInstPrinter on llvm-3.1.

llvm-3.1svn r153860 makes MCInstrInfo available to the MCInstPrinter.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 62555b6ed8760545794f83064e27cddcb3ce5284
Author: Vinson Lee <vlee@freedesktop.org>
Date: Tue Mar 27 21:51:17 2012 -0700

gallivm: Fix method overriding in raw_debug_ostream.

Use matching type qualifers to avoid method hiding.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 6a9bd784f4ac68ad0a731dcd39e5a3c39989f2be
Author: Vinson Lee <vlee@freedesktop.org>
Date: Tue Mar 13 22:40:52 2012 -0700

gallivm: Fix createOProfileJITEventListener namespace with llvm-3.1.

llvm-3.1svn r152620 refactored the OProfile profiling code.
createOProfileJITEventListener was moved from the llvm namespace to the
llvm::JITEventListener namespace.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit b674955d39adae272a779be85aa1bd665de24e3e
Author: Vinson Lee <vlee@freedesktop.org>
Date: Mon Mar 5 22:00:40 2012 -0800

gallivm: Pass in a MCRegisterInfo to MCInstPrinter on llvm-3.1.

llvm-3.1svn r152043 changes createMCInstPrinter to take an additional
MCRegisterInfo argument.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 11ab69971a8a31c62f6de74905dbf8c02884599f
Author: Vinson Lee <vlee@freedesktop.org>
Date: Wed Feb 29 21:20:53 2012 -0800

Revert "gallivm: Change getExtent and readByte to non-const with llvm-3.1."

This reverts commit d5a6c172547d8964f4d4bb79637651decaf9deee.

llvm-3.1svn r151687 makes MemoryObject accessor members const again.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 339960c82d2a9f5c928ee9035ed31dadb7f45537
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon May 14 16:19:56 2012 +0200

gallivm: (trivial) fix assertion failure for mipmapped 1d textures

In lp_build_rho, we may end up with a 1-element vector (for mipmapped 1d
textures), but in this case we require the type to be a non-vector type,
so need a cast.

commit 9d73edb727bd6d196030dc3026b7bf0c574b3e19
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 10 18:12:07 2012 +0200

gallivm: prepare for per-quad lod calculations for large vectors

to be able to handle multiple quads at once in texture sampling and still
do lod calculations per quad, it is necessary to get the per-quad derivatives
into the lp_build_rho function.
Until now these derivative values were just scalars, which isn't going to work.
So we now use vectors, and since the interface needs to change we also do some
different (slightly more efficient) packing of the values.
For 8-wide vectors the packed derivative values for 3 coords would look like
this, this scales to a arbitrary (multiple of 4) vector size:
ds1dx ds1dy dt1dx dt1dy ds2dx ds2dy dt2dx dt2dy
dr1dx dr1dy _____ _____ dr2dx dr2dy _____ _____
The second vector will be unused for 1d and 2d textures.
To facilitate future changes the derivative values are put into a struct, since
quite some functions just pass these values through.
The generated code seems to be very slightly better for 2d textures (with
4-wide vectors) than before with sse2 (if you have a cpu with physical 128bit
simd units - otherwise it's probably not a win).
v2: suggestions from José, rename variables, add comments, use swizzle helper

commit 0aa21de0d31466dac77b05c97005722e902517b8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 10 18:10:31 2012 +0200

gallivm: add undefined swizzle handling to lp_build_swizzle_aos

This is useful for vectors with "holes", it lets llvm choose the most
efficient shuffle instructions if some elements aren't needed without having to
worry what elements to manually pick otherwise.

commit 00faf3f370e7ce92f5ef51002b0ea42ef856e181
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri May 4 17:25:16 2012 +0100

gallivm: Get the LLVM IR optimization passes before JIT compilation.

MC-JIT engine compiles the module immediately on creation, so the optimization
passes were being run too late.

So now we create a target data layout from a string, that matches the
ABI parameters reported by the compiler.

The backend optimization passes were always been run, so the performance
improvement is modest (3% on multiarb mesa demo).

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 40a43f4e2ce3074b5ce9027179d657ebba68800a
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed May 2 16:03:54 2012 +0200

gallivm: (trivial) fix wrong define used in lp_build_pack2

should fix stack-smashing crashes.

commit e6371d0f4dffad4eb3b7a9d906c23f1c88a2ab9e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Apr 30 21:25:29 2012 +0200

gallivm: add perf warnings when not using intrinsics with 256bit vectors

Helper functions using integer sse2 intrinsics could split the vectors with AVX
instead of using generic fallback (which should be faster).
We don't actually expect to hit these paths (hence don't fix them up to actually
do the vector splitting) so just emit warnings (for those functions where it's
obvious doing split/intrinsic is faster than using generic path).
Only emit warnings for 256bit vectors since we _really_ don't expect to hit
arbitrary large vectors which would affect a lot more functions.
The warnings do not actually depend on avx since the same logic applies to
plain sse2 too (but of course again there's _really_ no reason we should hit
these functions with 256bit vectors without avx).

commit 8a9ea701ea7295181e846c6383bf66a5f5e47637
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue May 1 20:37:07 2012 +0200

gallivm: split vectors manually for avx in lp_build_pack2 (v2)

There's 2 reasons for this:
First, there's a llvm bug (fixed in 3.1) which generates tons of byte
inserts/extracts otherwise, and second, more importantly, we want to use
pack intrinsics instead of shuffles.
We do this in lp_build_pack2 and not the calling code (aos sample path)
because potentially other callers might find that useful too, even if
for larger sequences of code using non-native vector sizes it might be
better to manually split vectors.
This should boost texture performance in the aos path considerably.
v2: fix issues with intrinsics types with old llvm

commit 27ac5b48fa1f2ea3efeb5248e2ce32264aba466e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue May 1 20:26:22 2012 +0200

llvmpipe: refactor lp_build_pack2 (v2)

prettify, and it's unnecessary to assert when there's no intrinsic due to
unsupported bit width - the shuffle path will work regardless.
In contrast lp_build_packs2, should only rely on lp_build_pack2 doing the
clamping for element sizes for which there is a sse2 intrinsic.
v2: fix bug spotted by Jose regarding the intrinsic type for packusdw
on old llvm versions.

commit ddf279031f0111de4b18eaf783bdc0a1e47813c8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue May 1 20:13:59 2012 +0200

gallivm: add src width check in lp_build_packs2()

not doing so would skip clamping even if no sse2 pack instruction is
available, which is incorrect (in theory only, such widths would also always
hit a (unnecessary) assertion in lp_build_pack2().

commit e7f0ad7fe079975eae7712a6e0c54be4fae0114b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 27 15:57:00 2012 +0200

gallivm: (trivial) fix crash-causing typo for npot textures with avx

commit 28a9d7f6f655b6ec508c8a3aa6ffefc1e79793a0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Apr 25 19:38:45 2012 +0200

gallivm: (trivial) remove code mistakenly added twice.

commit d5926537316f8ff67ad0a52e7242f7c5478d919b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Apr 24 21:16:15 2012 +0200

gallivm: add a new avx aos sample path (v2)

Try to avoid mixing float and int address calculations. This does texture wrap
modes with floats, and then the offset calculations still with ints (because
of lack of precision with floats, though we could do some effort to make it work
with not too large (16MB) textures).
This also handles wrap repeat mode with npot-sized textures differently than
either the old soa or aos int path (likely way faster but untested).
Otherwise the actual address wrap code is largely similar to the soa path (not
quite the same as this one also has some int code), it should get used by avx
soa sampling later as well but doesn't handle more complex address modes yet
(this will also have the benefit that we can use aos sampling path for all
texture address modes).
Generated code for that looks reasonable, but still does not split vectors
explicitly for fetch/filter which means still get hit by llvm (fixed upstream)
which generates hundreds of pinsrb/pextrb instead of two shuffles.
It is not obvious though if it's much of a win over just doing address calcs
4-wide but with ints, even if it is definitely much less instructions on avx.
piglit's texwrap seems to look exactly the same but doesn't test
neither the non-normalized nor the npot cases.
v2: fix comments, prettify based on Brian's and Jose's feedback.

commit bffecd22dea66fb416ecff8cffd10dd4bdb73fce
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 19 01:58:29 2012 +0200

gallivm: refactor aos lp_build_sample_image_nearest/linear

split them up to separate address calculations and fetching/filtering.
Need this for being able to do 8-wide float address calcs and 4-wide
fetch/filter later (for avx). Plus the functions were very big scary monsters
anyway (in particular lp_build_sample_image_linear).

commit a80b325c57529adddcfa367f96f03557725c4773
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Apr 16 17:17:18 2012 +0200

gallivm: fix lp_build_resize when truncating width but expanding vector size

Missed this case which I thought was impossible - the assertion for it was
right after the division by zero...
(AoS) texture sampling may ask us to do this, for things like 8 4x32int
vectors to 1 32x8int vector conversion (eventually, we probably don't want
this to happen).

commit f9c8337caa3eb185830d18bce8b95676a065b1d7
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Apr 14 18:00:59 2012 +0200

gallivm: fix cube maps with larger vectors

This makes the branchless cube face selection code work with larger vectors.
Because the complexity is quite high (cannot really be improved it seems,
per-face selection would reduce complexity a lot but this leads to errors
unless the derivatives are calculated all from the same face which almost
doubles the work to be done) it is still slower than the branching version,
hence only enable this with large vectors.
It doesn't actually do per-quad face selection yet (only makes sense with
matching lod selection, in fact it will select the same face for all pixels
based on the average of the first four pixels for now) but only different
shuffles are required to make it work (the branching version actually should
work with larger vectors too now thanks to the improved horizontal add but of
course it cannot be extended to really select the face per-quad unless doing
branching per quad).

commit 7780c58869fc9a00af4f23209902db7e058e8a66
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 30 21:11:12 2012 +0100

llvmpipe: (trivial) fix compiler warning

and also clarify comment regarding availability of popcnt instruction.

commit a266dccf477df6d29a611154e988e8895892277e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 30 14:21:07 2012 +0100

gallivm: remove unneeded members in lp_build_sample_context

Minor cleanup, the texture width, height, depth aren't accessed in their
scalar form anywhere. Makes it more obvious those values should probably be
fetched already vectorized (but this requires more invasive changes)...

commit b678c57fb474e14f05e25658c829fc04d2792fff
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 29 15:53:55 2012 +0100

gallivm: add a helper for concatenating vectors

Similar to the extract_range helper intended to get around slow code generated
by llvm for 128bit insertelements.
Concatenating two 128bit vectors this way will result in a single vinsertf128
operation rather than two 64bit stores plus one 128bit load, though it might be
mildly useful for other purposes as well.

commit 415ff228bcd0cf5e44a4c15350a661f0f5520029
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 19:41:15 2012 +0100

gallivm: add a custom 2x8f->1x16ub avx conversion path

Similar to the existing 4x4f->1x16ub sse2 path, shaves off a couple
instructions (min/max mostly) because it relies on pack intrinsics clamping.

commit 78c08fc89f8fbcc6dba09779981b1e873e2a0299
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 18:44:07 2012 +0100

gallivm: add avx arithmetic intrinsics

Add all avx intrinsics for arithmetic functions (with the exception
of the horizontal add function which needs another look).
Seems to pass basic tests.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit a586caa2800aa5ce54c173f7c0d4fc48153dbc4e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 15:31:35 2012 +0100

gallivm: add avx logic intrinsics

Add the blend intrinsics for 8-wide float and 4-wide double vectors.
Since we lack 256bit int instructions these are used for int vectors as well,
though obviously not for byte or word element values.
The comparison intrinsics aren't extended for avx since these are only used
for pre-2.7 llvm versions.

commit 70275e4c13c89315fc2560a4c488c0e6935d5caf
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 00:40:53 2012 +0100

gallivm: new helper function for extract shuffles.

Based on José's idea as we can need that in a couple places.
Note that such shuffles should not be used lightly, since data layout
of <4 x i8> is different to <16 x i8> for instance, hence might cause
data rearrangement.

commit 4d586dbae1b0c55915dda1759d2faea631c0a1c2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 27 18:27:25 2012 +0100

gallivm: (trivial) don't overallocate shuffle variable

using wrong define meant huge array...

commit 06b0ec1f6d665d98c135f9573ddf4ba04b2121ad
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 27 17:54:20 2012 +0100

gallivm: don't do per-element extract/insert for vector element resize

Instead of doing per-element extract/insert if the src vectors
and dst vector differ in total size (which generates atrocious code)
first change the src vectors size by using shuffles to destination
vector size.
We can still do better than that on AVX for packing to color buffer
(by exploiting pack intrinsics characteristics hence eleminating the
need for some clamps) but this already generates much better code.

v2: incorporate feedback from José, Keith and use shuffle instead of
bitcasts/extracts. Due to llvm deficiencies the latter cause all data
to get moved to GPRs and back in pieces (even though the data in the
regs actually stays the same...).

commit c9970d70e05f95d3f52fe7d2cd794176a52693aa
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 23 19:33:19 2012 +0000

gallivm: fix bug in simple position interpolation

Accidental use of position attribute instead of just pixel coordinates.
Caused failures in piglit glsl-fs-ceil and glsl-fs-floor.

commit d0b6fcdb008d04d7f73d3d725615321544da5a7e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 23 15:31:14 2012 +0000

gallivm: fix emission of ceil opcode

lp_build_ceil seems more appropriate than lp_build_trunc.
This seems to be never hit though someone performs some ceil
to floor magic.

commit d97fafed7e62ffa6bf76560a92ea246a1a26d256
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 22 11:46:52 2012 +0000

gallivm: new vectorized path for cubemap calculations

should be faster when adapted to multiple quads as only selection masks need to be different.
The code is more or less a per-pixel version adapted to only do it per quad.
A per pixel version would be much simpler (could drop 2 selects, 6 broadcasts and the messy
horizontal add of 3 vectors at the expense of only 2 more absolute value instructions -
would also just work for arbitary large vectors).
This version doesn't yet work with larger vectors because the horizontal add isn't adjusted
to be able to work with 2x4 vectors (and also because face selection wouldn't be done per
quad just per block though that would be only a correctness issue just as with lod selection).
The downside is this code is quite a bit slower. On a Core2 it can be sped up by disabling the
hw blend instructions for selection and using logicop fallbacks instead, but it is still slower
than the old code, hence leave that in for now. Probably will chose one or the other version
based on vector length in the end.

commit b375fbb18a3fd46859b7fdd42f3e9908ea4ff9a3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 21 14:42:29 2012 +0000

gallivm: fix optimized occlusion query intrinsic name

commit a9ba0a3b611e48efbb0e79eb09caa85033dbe9a2
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Mar 21 16:19:43 2012 +0000

draw,gallivm,llvmpipe: Call gallivm_verify_function everywhere.

commit f94c2238d2bc7383e088b8845b7410439a602071
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 20 18:54:10 2012 +0000

gallivm: optimize calculations for cube maps a bit

this does some more vectorized calculations and uses horizontal adds if possible.
A definite win with sse3 otherwise it doesn't seem to make much of a difference.
In any case this is arithmetically identical, cannot handle larger vectors.
Should be useful as a reference point against larger vector version later...

commit 21a2c1cf3c8e1ac648ff49e59fdc0e3be77e2ebb
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 20 15:16:27 2012 +0000

llvmpipe: slight optimization of occlusion queries

using movmskps when available.
While this is slightly better for cpus without popcnt we should
really sum the vectors ourselves (it is also possible to cast to i4 before
doing the popcnt but that doesn't help that much neither since llvm
is using some optimized popcnt version for i32)

commit 5ab5a35f216619bcdf55eed52b0db275c4a06c1b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 20 13:32:11 2012 +0000

llvmpipe: fix occlusion queries with larger vectors

need to adjust casts etc.

commit ff95e6fdf5f16d4ef999ffcf05ea6e8c7160b0d5
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Mar 19 20:15:25 2012 +0000

gallivm: Restore optimization passes.

commit 57b05b4b36451e351659e98946dae27be0959832
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 19:34:22 2012 +0000

llvmpipe: use existing min2 macro

commit bc9a20e19b4f600a439f45679451f2e87cd4b299
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 19:07:27 2012 +0000

llvmpipe: add some safeguards against really large vectors

As per José's suggestion, prevent things from blowing up if some cpu
would have 1024bit or larger vectors.

commit 0e2b525e5ca1c5bbaa63158bde52ad1c1564a3a9
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 18:31:08 2012 +0000

llvmpipe: fix mask generation for uberwide vectors

this was the only piece preventing 16-wide vectors from working
(apart from the LP_MAX_VECTOR_WIDTH define that is), which is the maximum
as we don't get more pixels in the fragment shader at once.
Hence adjust that so things could be tested properly with that size
even though there seems to be no practical value.

commit 3c8334162211c97f3a11c7f64e9e5a2a91ad9656
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 18:19:41 2012 +0000

llvmpipe: fix the simple interpolation method with larger vectors

so both methods actually _really_ work now. Makes textures look
nice with larger vectors...

commit 1cb0464ef8871be1778d43b0c56adf9c06843e2d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 17:26:35 2012 +0000

llvmpipe: fix mask generation and position interpolation with 8-wide vectors

trivial bugs, with these things start to look somewhat reasonable.
Textures though have some swizzling issues it seems.

commit 168277a63ef5b72542cf063c337f2d701053ff4b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 16:04:03 2012 +0000

llvmpipe: don't overallocate variables

we never have more than 16 (stamp size) / 4 (minimum possible vector size).
(With larger vectors those variables are still overallocated a bit.)

commit 409b54b30f81ed0aa9ed0b01affe15c72de9abd2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 15:56:48 2012 +0000

llvmpipe: add some 32f8 formats to lp_test_conv

Also add the ability to handle different sized vectors.

commit 55dcd3af8366ebdac0af3cdb22c2588f24aa18ce
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 15:47:27 2012 +0000

gallivm: handle different sized vectors in conversion / pack

only fully generic path for now (extract/insert per element).

commit 9c040f78c54575fcd94a8808216cf415fe8868f6
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sun Mar 18 00:58:28 2012 +0100

llvmpipe: fix harmless use of unitialized values

commit 551e9d5468b92fc7d5aa2265db9a52bb1e368a36
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 16 23:31:21 2012 +0100

gallivm: drop special path in extract_broadcast with different sized vectors

Not needed, llvm can handle shuffles with different sized result vector just
fine. Should hopefully generate the same code in the end, but simpler IR.

commit 44da531119ffa07a421eaa041f63607cec88f6f8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 16 23:28:49 2012 +0100

llvmpipe: adapt interpolation for handling multiple quads at once

this is still WIP there are actually two methods possible not quite
sure what makes the most sense, so there's code for both for now:
1) the iterative method as used before (compute attrib values at upper left
corner of stamp and upper left corner of each quad initially).
It is improved to handle more than one quad at once, and also do some more vectorized
calculations initially for slightly better code - newer cpus have full throughput with
4 wide float vectors, hence don't try to code up a path which might be faster if there's
just one channel active per attribute.
2) just do straight interpolation for each pixel.
Method 2) is more work per quad, but less initially - if all quads are executed
significantly more overall though. But this might change with larger vector lengths.
This method would also be needed if we'd do some kind of active quad merging when
operating on multiple quads at once.
This path contains some hack to force llvm to generate better code, it is still far
from ideal though, still generates far too many unnecessary register spills/reloads.
Both methods should work with different sized vectors.
Not very well tested yet, still seems to work with four-wide vectors, need changes
elsewhere to be able to test with wider vectors.

commit be5d3e82e2fe14ad0a46529ab79f65bf2276cd28
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Mar 16 20:59:37 2012 +0000

draw: Cleanup.

commit f85bc12c7fbacb3de2a94e88c6cd2d5ee0ec0e8d
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Mar 16 20:43:30 2012 +0000

gallivm: More module compilation refactoring.

commit d76f093198f2a06a93b2204857e6fea5fd0b3ece
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Mar 15 21:29:11 2012 +0000

llvmpipe: Use gallivm_compile/free_function() in linear code.

Should had been done before.

commit 122e1adb613ce083ad739b153ced1cde61dfc8c0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 13 14:47:10 2012 +0100

llvmpipe: generate partial pixel mask for multiple quads

still works with one quad, cannot be tested yet with more
At least for now always fixed order with multiple quads.

commit 4c4f15081d75ed585a01392cd2dcce0ad10e0ea8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 8 22:09:24 2012 +0100

llvmpipe: refactor state setup a bit

Refactor to make it easier to emit (and potentially later fetch in fs)
coefficients for multiple attributes at once.
Need to think more about how to make this actually happen however, the
problem is different attributes can have different interpolation modes,
requiring different handling in both setup and fs (though linear and
perspective handling is close).

commit 9363e49722ff47094d688a4be6f015a03fba9c79
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 8 19:23:23 2012 +0100

llvmpipe: vectorize tri offset calc

cuts number of instructions in quad-offset-factor from 107 to 75.
This code actually duplicated the (scalar) code calculating the determinant
except it used different vertex order (leading to different sign but it doesn't
matter) hence llvm could not have figured out it's the same (of course with
determinant vectorized in the other place that wouldn't have worked any longer
neither).
Note this particular piece doesn't actually vectorize well, not many arithmetic
instructions left but tons of shuffle instructions...
Probably would need to work on n tris at a time for better vectorization.

commit 63169dcb9dd445c94605625bf86d85306e2b4297
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 8 03:11:37 2012 +0100

llvmpipe: vectorize some scalar code in setup

reduces number of arithmetic instructions, and avoids loading
vector x,y values twice (once as scalars once as vectors).
Results in a reduction of instructions from 76 to 64 in fs setup for glxgears
(16%) on a cpu with sse41.
Since this code uses vec2 disguised as vec4, on old cpus which had physical
64bit sse units (pre-Core2) it probably is less of a win in practice (and if
you have no vectors you can only hope llvm eliminates the arithmetic for
unneeded elements).

commit 732ecb877f951ab89bf503ac5e35ab8d838b58a1
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 7 00:32:24 2012 +0100

draw: fix clipping

bug introduced by 4822fea3f0440b5205e957cd303838c3b128419c broke
clipping pretty badly (verified with lineclip test)

commit ef5d90b86d624c152d200c7c4056f47c3c6d2688
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 6 23:38:59 2012 +0100

draw: don't store vertex header per attribute

storing the vertex header once per attribute is totally unnecessary.
Some quick look at the generated assembly says llvm in fact cannot optimize
away the additional stores (maybe due to potentially aliasing pointers
somewhere).
Plus, this makes the code cleaner and also allows using a vector "or"
instead of scalar ones.

commit 6b3a5a57b0b9850854cfbd7b586e4e50102dda71
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 6 19:11:01 2012 +0100

draw: do the per-vertex "boolean" clipmask "or" with vectors

no point extracting the values and doing it per component.
Doesn't help that much since we still extract the values elsewhere anyway.

commit 36519caf1af40e4480251cc79a2d527350b7c61f
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 2 22:27:01 2012 +0100

gallivm: fix lp_build_extract_broadcast with different sized vectors

Fix the obviously wrong argument, so it doesn't blow up.

commit 76d0ac3ad85066d6058486638013afd02b069c58
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Mar 2 12:16:23 2012 +0000

draw: Compile per module and not per function (WIP).

Enough to get gears w/ LLVM draw + softpipe to work on AVX doing:

GALLIUM_DRIVER=softpipe SOFTPIPE_USE_LLVM=yes glxgears

But still hackish -- will need to rethink and refactor this.

commit 78e32b247d2a7a771be9a1a07eb000d1e54ea8bd
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 29 12:01:05 2012 +0000

llvmpipe: Remove lp_state_setup_fallback.

Never used.

commit 6895d5e40d19b4972c361e8b83fdb7eecda3c225
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Feb 27 19:14:27 2012 +0000

llvmpipe: Don't emit EMMS on x86

We already take precautions to ensure that LLVM never emits MMX code.

commit 4822fea3f0440b5205e957cd303838c3b128419c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Feb 29 15:58:19 2012 +0100

draw: modifications for larger vector sizes

We want to be able to use larger vectors especially for running the vertex
shader. With this patch we build soa vectors which might have a different
length than 4.
Note that aos structures really remain the same, only when aos structures
are converted to soa potentially different sized vectors are used.
Samplers probably don't work yet, didn't look at them.
Testing done:
glxgears works with both 128bit and 256bit vectors.

commit f4950fc1ea784680ab767d3dd0dce589f4e70603
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 29 15:51:57 2012 +0100

gallivm: override native vector width with LP_NATIVE_VECTOR_WIDTH env var for debug

commit 6ad6dbf0c92f3bf68ae54e5f2aca035d19b76e53
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 29 15:51:24 2012 +0100

draw: allocate storage with alignment according to native vector width

commit 7bf0e3e7c9bd2469ae7279cabf4c5229ae9880c1
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Feb 24 19:06:08 2012 +0000

gallivm: Fix comment grammar.

Was missing several words. Spotted by Roland.

commit b20f1b28eb890b2fa2de44a0399b9b6a0d453c52
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 19:22:09 2012 +0000

gallivm: Use MC-JIT on LLVM 3.1 + (i.e, SVN)

MC-JIT

Note: MC-JIT is still WIP. For this to work correctly it requires
LLVM changes which are not yet upstream.

commit b1af4dfcadfc241fd4023f4c3f823a1286d452c0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Feb 23 20:03:15 2012 +0100

llvmpipe: use new lp_type_width() helper in lp_test_blend

commit 04e0a37e888237d4db2298f31973af459ef9c95f
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Feb 23 19:50:34 2012 +0100

llvmpipe: clean up lp_test_blend a little

Using variables just sized and aligned right makes it a bit more obvious
what's going on.
The test still only tests vector length 4.
For AoS anything else probably isn't going to work.
For SoA other lengths should work (at least with floats).

commit e61c393d3ec392ddee0a3da170e985fda885a823
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 17:48:30 2012 +0000

gallivm: Ensure vector width consistency.

Instead of assuming that everything is the max native size.

commit 330081ac7bc41c5754a92825e51456d231bf84dd
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 17:44:14 2012 +0000

draw: More simd vector width consistency fixes.

commit d90ca002753596269e37297e2e6c139b19f29f03
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 17:43:00 2012 +0000

gallivm: Remove unused lp_build_int32_vec4_type() helper.

commit cae23417824d75869c202aaf897808d73a2c1db0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Feb 23 17:32:16 2012 +0100

gallivm: use global variable for native vector width instead of define

We do not know the simd extensions (and hence the simd width we should use)
available at compile time.
At least for now keep a define for maximum vector width, since a global
variable obviously can't be used to adjust alignment of automatic stack
variables.
Leave the runtime-determined value at 128 for now in all cases.

commit 51270ace6349acc2c294fc6f34c025c707be538a
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 15:41:02 2012 +0000

gallivm: Add a hunk inadvertedly lost when rebasing.

commit bf256df9cfdd0236637a455cbaece949b1253e98
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 14:24:23 2012 +0000

llvmpipe: Use consistent vector width in depth/stencil test.

commit 5543b0901677146662c44be2cfba655fd55da94b
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 14:19:59 2012 +0000

draw: Use a consistent the vector register width.

Instead of 4x32 sometimes, LP_NATIVE_VECTOR_WIDTH other times.

commit eada8bbd22a3a61f549f32fe2a7e408222e5c824
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 12:08:04 2012 +0000

gallivm: Remove garbagge collection.

MC-JIT will require one compilation per module (as opposed to one
compilation per function), therefore no state will be shared,
eliminating the need to do garbagge collection.

commit 556697ea0ed72e0641851e4fbbbb862c470fd7eb
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 10:33:41 2012 +0000

gallivm: Move all native target initialization to lp_set_target_options().

commit c518e8f3f2649d5dc265403511fab4bcbe2cc5c8
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:52:32 2012 +0000

llvmpipe: Create one gallivm instance for each test.

commit 90f10af8920ec6be6f2b1e7365cfc477a0cb111d
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:48:08 2012 +0000

gallivm: Avoid LLVMAddGlobalMapping() in lp_bld_assert().

Brittle, complex, and unecesary. Just use function pointer constant.

commit 98fde550b33401e3fe006af59db4db628bcbf476
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:21:26 2012 +0000

gallivm: Add a lp_build_const_func_pointer() helper.

To be reused in all places where we want to call C code.

commit 6cfedadb62c2ce5af8d75969bc95a607f3ece118
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:44:41 2012 +0000

gallivm: Cleanup/simplify lp_build_const_string_variable.

- Move to lp_bld_const where it belongs
- Rename to lp_build_const_string
- take the length from the argument (and don't count the zero terminator twice)
- bitcast the constant to generic i8 *

commit db1d4018c0f1fa682a9da93c032977659adfb68c
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 11:52:17 2012 +0000

gallivm: Set NoFramePointerElimNonLeaf to true where supported.

commit 088614164aa915baaa5044fede728aa898483183
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Feb 22 19:38:47 2012 +0100

llvmpipe: pass in/out pointers rather scalar floats in lp_bld_arit

we don't want llvm to potentially optimize away the vectors (though it doesn't
seem to currently), plus we want to be able to handle in/out vectors of arbitrary
length.

commit 3f5c4e04af8a7592fdffa54938a277c34ae76b51
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Feb 21 23:22:55 2012 +0100

gallivm: fix lp_build_sqrt() for vector length 1

since we optimize away vectors with length 1 need to emit intrinsic
without vector type.

commit 79d94e5f93ed8ba6757b97e2026722ea31d32c06
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 22 17:00:46 2012 +0000

llvmpipe: Remove lp_test_round.

commit 81f41b5aeb3f4126e06453cfc78990086b85b78d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Feb 21 23:56:24 2012 +0100

llvmpipe: subsume lp_test_round into lp_test_arit

Much simpler, and since the arguments aren't passed as 128bit values can run
on any arch.
This also uses the float instead of the double versions of the c functions
(which probably was the intention anyway).
In contrast to lp_test_round the output is much less verbose however.
Tested vector width of 32 to 512 bits - all pass except 32 (length 1) which
crashes in lp_build_sqrt() due to wrong type.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit 945b338b421defbd274481d8c4f7e0910fd0e7eb
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 22 09:55:03 2012 +0000

gallivm: Centralize the function compilation logic.

This simplifies a lot of code.

Also doing this in a central place will make it easier to carry out the
changes necessary to use MC-JIT in the future.

gallivm: Fix typo in explicit derivative shuffle.

Trivial.

draw: make DEBUG_STORE work again

adapt to lp_build_printf() interface changes

Reviewed-by: José Fonseca <jfonseca@vmware.com>

draw: get rid of vecnf_from_scalar()

just use lp_build_broadcast directly (cannot assign a name but don't really
need it, vecnf_from_scalar() was producing much uglier IR due to using
repeated insertelement instead of insertelement+shuffle).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

llvmpipe: fix typo in complex interpolation code

Fixes position interpolation when using complex mode
(piglit fp-fragment-position and similar)

Reviewed-by: José Fonseca <jfonseca@vmware.com>

draw: fix clipvertex/position storing again

This appears to be the result of a bad merge.
Fixes piglit tests relying on clipping, like a lot of the interpolation tests.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

gallivm: Fix explicit derivative manipulation.

Same counter variable was being used in two nested loops. Use more
meanigful variable names for the counter to fix and avoid this.

gallivm: Prevent buffer overflow in repeat wrap mode for NPOT.

Based on Roland's patch, discussion, and review .

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

gallivm: Fix dims for TGSI_TEXTURE_1D in emit_tex.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

gallivm: Fix explicit volume texture derivatives.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

gallivm: fix 1d shadow texture sampling

Always r coordinate is used, hence need 3 coords not two
(the second one is unused).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

gallivm: Enable AVX support without MCJIT, where available.

For now, this just enables AVX on Windows for testing. If the code is
stable then we might consider prefering the old JIT wherever possible.

No change elsewhere.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c790c2c7598dea2d5a5b0bfbe47732956e1e89a6 19-Jun-2012 Olivier Galibert <galibert@pobox.com> llvmpipe: Add vertex id support.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
46931ecf480e1d231bb6c2236d91b5390f2465ac 19-Jun-2012 Olivier Galibert <galibert@pobox.com> llvmpipe: Simplify and fix system variables fetch.

The system array values concept doesn't really because it expects the
system values to be fixed per call, which is wrong for gl_VertexID and
iffy for gl_SampleID. So this patch does two things:

- kill the array, have emit_fetch_system_value directly pick the
values it needs (only gl_InstanceID for now, as the previous code)

- correctly handle the expected type in emit_fetch_system_value

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
f34e2f484bb73bba79a5b3fa7cff2e79bc7f0cf9 18-Jun-2012 James Benton <jbenton@vmware.com> llvmpipe: Implement cylindrical wrapping.

Tested against mesa demos cylwrap and dx9 DCT address.exe which now passes 100%.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
7a75e7d6e85d27e102ff7e15583c33b1ce282fe4 22-May-2012 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix alpha testing precision on rgba8 formats.

This is a long standing problem, that recently surfaced with the change
to enable perspective correct color interpolation.

A fix for all possible formats is left to the future.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
982df3c1a5e99e43f28f849419d4379e6e5d5d05 15-May-2012 Olivier Galibert <galibert@pobox.com> llvmpipe: Color slot interpolation can be flat or perspective, not linear.

Fixes a bunch of glsl 1.10 interpolation piglit tests.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
550de24c17fd4873b0200c0d4a61656e184631ac 12-May-2012 Brian Paul <brianp@vmware.com> llvmpipe: add cast to silence warning
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
bb4c5d72d7c7cb1d9e7016e2c07c36875f30011a 11-May-2012 Marek Olšák <maraeo@gmail.com> Merge branch 'gallium-userbuf'

Conflicts:
src/gallium/docs/source/screen.rst
src/gallium/drivers/nv50/nv50_state.c
src/gallium/include/pipe/p_defines.h
src/mesa/state_tracker/st_draw.c
0b0f4628d6fb8276a9f1c336a785a838b602bca8 18-Apr-2012 James Benton <jbenton@vmware.com> llvmpipe: Added support for color masks in AoS blending.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
0b7d48cbad86eaac21fce3793da41b46db8be3b4 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer to pipe_constant_buffer

This reduces CPU overhead when updating constants.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
507337864fa80caf9f26602324d2c28dd0a75d61 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: change set_constant_buffer to be UBO-friendly
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
6b63e25b3d7a6ac0bd738c139ead0c7e7ad84368 14-Jan-2012 Tom Stellard <tstellar@gmail.com> gallium: Prefix #defines in tgsi_exec.h with TGSI_
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
ec4d691474bcf84bb69161cda25494962a08172c 11-Jan-2012 José Fonseca <jfonseca@vmware.com> llvmpipe: Update for TGSI_INTERPOLATE_COLOR.

Not thoroughly tested nor reviewed. But should at least prevent the
assertion failure.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
24668a38d176607dec5eee9ae351076487b57542 30-Dec-2011 Dave Airlie <airlied@gmail.com> llvmpipe: fix blending for intensity formats

This fixes the piglit fbo-blending-formats test for standard, ARB_texture_float
and EXT_texture_snorm.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
6cf7245f6938e27c9b8a1742f27659aec017bbdc 30-Nov-2011 José Fonseca <jfonseca@vmware.com> llvmpipe: Trim the fragment shader cached based on LLVM IR instruction count.

Number of fragment shader variants is not very representative of the
memory used by LLVM, neither is number of shader instructions, as often
texture sampling constitutes most of the generated code.

This change adds an additional trim criteria: least recently used
fragment shader variants will be freed until the total number of LLVM IR
instruction falls below a specified threshold.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
f32c7232a8a16887af710a11f025381bc73640f0 28-Nov-2011 José Fonseca <jfonseca@vmware.com> llvmpipe,draw,gallivm: Ensure we don't walk beyond the end of the shader variant list.

u_simple_list.h uses a sentinel element, and not a NULL element. So
ensure list is not empty when reducing the list of shader variants.

Something I noticed while trying to free variants more aggressively.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d7edd5db31a9661e70c89cfd2fe739be386b8f36 09-Nov-2011 José Fonseca <jfonseca@vmware.com> llvmpipe: Remove unused variables.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b8d1242c0bb29ef6866cbfdd75cb18eec9ba8068 28-Sep-2011 José Fonseca <jfonseca@vmware.com> llvmpipe: Prevent segfault during fs variant cache shrinking.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
7e86d9bd8c48626c9f2dbd8b96da055e329d5bc1 20-Jan-2011 Brian Paul <brianp@vmware.com> llvmpipe: implement TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33284
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
652901e95b4ed406293d0e1fabee857c054119b1 15-Jan-2011 Brian Paul <brianp@vmware.com> Merge branch 'draw-instanced'

Conflicts:
src/gallium/auxiliary/draw/draw_llvm.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/glsl/ir_set_program_inouts.cpp
src/mesa/tnl/t_vb_program.c
442fcd06204589dbeb0dfc12c1347cb245918d9a 22-Dec-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unnecessary headers.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
1d6f3543a063ab9e740fd0c149dcce26c282d773 09-Dec-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: implement system values and instanceID
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
efc82aef35a2aac5d2ed9774f6d28f2626796416 01-Dec-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: squash merge of the llvm-context branch

This branch defines a gallivm_state structure which contains the
LLVMBuilderRef, LLVMContextRef, etc. All data structures built with
this object can be periodically freed during a "garbage collection"
operation.

The gallivm_state object has to be passed to most of the builder
functions where LLVMBuilderRef used to be used.

Conflicts:
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
src/gallium/drivers/llvmpipe/lp_state_setup.c
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
2996ce72b142c774101f8df8bd6050d4755ccdcc 02-Nov-2010 Brian Paul <brianp@vmware.com> llvmpipe: add a cast
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9fbf744389cc13e96324086a1a94afbac933e6ea 02-Nov-2010 Brian Paul <brianp@vmware.com> llvmpipe: assign context's frag shader pointer before using it

The call to draw_bind_fragment_shader() was using the old fragment
shader. This bug would have really only effected the draw module's
use of the fragment shader in the wide point stage.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
85a08f8fc761d8501fc315d16df6ce0fba9f091e 18-Oct-2010 José Fonseca <jfonseca@vmware.com> gallivm: Remove the EMMS opcodes.

Unnecessary now that lp_set_target_options() successful disables MMX code
emission.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
0072acd447dc6be652e63752e50215c3105322c8 18-Oct-2010 Keith Whitwell <keithw@vmware.com> Merge remote branch 'origin/master' into lp-setup-llvm

Conflicts:
src/gallium/drivers/llvmpipe/lp_setup_coef.c
src/gallium/drivers/llvmpipe/lp_setup_coef.h
src/gallium/drivers/llvmpipe/lp_setup_coef_intrin.c
src/gallium/drivers/llvmpipe/lp_setup_point.c
src/gallium/drivers/llvmpipe/lp_setup_tri.c
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_fs.h
a0add0446ca9dce6d4a96014c42ba6cf3a73a44a 17-Oct-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix bad refactoring.

'i' and 'chan' have random values here, which could cause a buffer
overflow in debug builds, if chan > 4.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
ac98519c4eed0daf770a9ba380056978e4420352 15-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: validate color outputs against key->nr_cbufs
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
ffab84c9a27a229e6fa14c3de63868bb843c0f3e 15-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: check shader outputs are non-null before using
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
0a1c9001037a13b69b157994e7983aa3dee158d3 15-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: don't pass frontfacing as a float
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3d7479d70568c84354338d0da0b7bed4d296c169 15-Oct-2010 Brian Paul <brianp@vmware.com> llvmpipe: code to dump bytecode to file (disabled)
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
f0bd76f28d17da6eabf977a7e619e4ff943a70c7 14-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: don't try to emit non-existent color outputs
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
95c18abb03b035c6fa029cd0852f07fb39951279 13-Oct-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Unbreak Z32_FLOAT.

Z32_FLOAT uses <4 x float> as intermediate/destination type,
instead of <4 x i32>.

The necessary bitcasts got removed with commit
5b7eb868fde98388d80601d8dea39e679828f42f

Also use depth/stencil type and build contexts consistently, and
make the depth pointer argument a ordinary <i8 *>, to catch this
sort of issues in the future (and also to pave way for Z16 and
Z32_FLOAT_S8_X24 support).
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
986cb9d5cf60bc11c7facc19017b5432b17240f7 02-Sep-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Use lp_tgsi_info.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
307df6a858dcab1bc10f3f52d9968acb3ea6d74f 09-Oct-2010 José Fonseca <jfonseca@vmware.com> gallivm: Cleanup the rest of the flow module.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d45c379027054e563c4f4379fb69fc9f68612f75 09-Oct-2010 José Fonseca <jfonseca@vmware.com> gallivm: Remove support for Phi generation.

Simply rely on mem2reg pass. It's easier and more reliable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
cc40abad519cc0f765c6d8f6fad4154bed8dd9c2 09-Oct-2010 José Fonseca <jfonseca@vmware.com> gallivm: Don't generate Phis for execution mask.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5b7eb868fde98388d80601d8dea39e679828f42f 09-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: clean up shader pre/postamble, try to catch more early-z

Specifically, can do early-depth-test even when alpahtest or
kill-pixel are active, providing we defer the actual z write until the
final mask is avaialable.

Improves demos/fire.c especially in the case where you get close to
the trees.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
aa4cb5e2d8d48c7dcc9653c61a9e25494e3e7b2a 07-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: try to be sensible about whether to branch after mask updates

Don't branch more than once in quick succession. Don't branch at the
end of the shader.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d2cf757f44f4ee5554243f3279483a25886d9927 06-Oct-2010 Keith Whitwell <keithw@vmware.com> gallivm: specialized x8z24 depthtest path

Avoid unnecessary masking of non-existant stencil component.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
954965366fee3fa2eec8a11b6663d4cf218e1d5d 07-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fs

Better than GALLIVM_DEBUG if you're only interested in fragment shaders.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
40d7be52619fbff2479dcdf56929e3e0c5b12e72 07-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: use alloca for fs color outputs

Don't try to emit our own phi's, let llvm mem2reg do it for us.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8009886b0092df2783472deaac1bcaad4a802c19 06-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: defer attribute interpolation until after mask and ztest

Don't calculate 1/w for quads which aren't visible...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
1c32583581ef5aee59901d9dd8e56cc1a125f0d4 06-Oct-2010 José Fonseca <jfonseca@vmware.com> gallivm: Only apply min/max_lod when necessary.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
446dbb921762710d678486f3f5a6dfdf318fe34c 05-Oct-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Dump a few missing shader key flags.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
591e1bc34f5a5dd065614deae41b59682f59ac08 03-Oct-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: make debug_fs_variant respect variant->nr_samplers
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
87267c71f67d02fcdd59a899fd0eea6d64e523b5 22-Sep-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.

Makes AoS blending easier, and state more canonical.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b556bb7c44236a9fae54f58cc03e1d05eaa2124f 21-Sep-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: When failing free fs shader too.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
955d76c3d2004c058c326d68eddc5a06d1611a41 20-Sep-2010 Brian Paul <brianp@vmware.com> llvmpipe: maintain fragment shader state for draw module
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5b4c43d98556c5a4806757513bcb196a724518c5 05-Sep-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: use llvm for attribute interpolant calculation

Basically no change relative to hard-coded version, but this will
be useful for other changes later.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
09863554259aeb7b0522b130837b6a1f12ffaebe 16-Sep-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: add DEBUG_FS to dump variant information
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
aeb83928fdc09d9310df0f94aaddf87d9635dc7e 14-Sep-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Initialize variable for potentially unhandled switch case.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
67b957781d8195b8f8867e994c03b68f8dc5c807 07-Sep-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: pass linear masks to fragment shader

Fragment shader can extract the correct bits for each quad.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
853953dc3c5bd2ef9cca904c9cabc4a0ef037b16 12-Sep-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Only generate the whole shader specialization for opaque shaders.

If not opaque, then the color buffer will have to be read any way,
therefore the specialization is pointless.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
277d768d10d8a98a7cae8b709ff78bb8d1f695f1 10-Sep-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Don't store display the alpha ref value in the key.

It's never used.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3ec296390c250dbcdc2690e78da9a51ec57dabf5 09-Sep-2010 Brian Paul <brianp@vmware.com> llvmpipe: remove redundant tgsi_dup_tokens() call

We were calling this twice so the first allocation was orphaned/leaked.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9f6e8e1d6b8696a3ee96cba01b2466ba7a1a8ef6 07-Sep-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: use opcodes instead of function pointers in bins

Also, move some state from rasterizer struct to the scene.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
71e27ef21c4a24aeadadb85f60774ec48a7e3cff 24-Aug-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: put fs variant dumping in a function
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
00989d5bfc29f632886066d048a366ff4d2d03bc 03-Sep-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Relax the colormask constraint on opaque.

Also, include the color buffer in the key. Not having it there
causes a tight knots in the logic to determine when it is OK or not
to discard previous color buffer contents.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b6e03eafe3311142445ca42c1574d3f6998eecc3 20-Aug-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: fence debugging, add llvmpipe_finish
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3d4b60f1f7be3dc54951c9c414601062e73ca674 22-Aug-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: reduce size of fragment shader variant key

Don't spend as much time comparing them.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
078eff659a7ef90691966d983f35ed9e4ce63901 30-Jul-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Fix implicit declaration of lp_func_delete_body warnings.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
042018a943a403a4d9887b400deb3b3c83ee40c0 27-Jul-2010 Zack Rusin <zackr@vmware.com> llvmpipe: delete function bodies after generating machine code
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
e3d2ebac115f7b7899664fefc2652fb829acfa27 22-Jul-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.

Unfortunately LLVM doesn't emit EMMS itself, and there is no
easy/effective way to disable MMX.

http://llvm.org/bugs/show_bug.cgi?id=3287
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d4b64167b56f780d0dea73193c345622888fbc16 17-Jun-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: pass mask into fragment shader

Move this code back out to C for now, will generate separately.

Shader now takes a mask parameter instead of C0/C1/C2/etc.

Shader does not currently use that parameter and rasterizes whole
pixel stamps always.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b5e381d9783f17c9a527ac38122444eac6807566 22-Jun-2010 Zack Rusin <zackr@vmware.com> llvmpipe: make geometry shaders and stream output work
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
197636814e4e523b98d3e25d918d589ef61b8aca 21-Jun-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: s/lpfs/shader/
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d7f4250333f3649d170d71bfdc5f2faba4e8c5f8 18-Jun-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix pointer dereference after free.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
17c9d7eea7b3365c59455a731fcb81e69bb86ce2 18-Jun-2010 Roland Scheidegger <sroland@vmware.com> llvmpipe: limit the number of fragment shader variants kept around

llvmpipe can create a large number of shader variants for a single shader
(which are quite big), and they were only ever deleted if the shader itself
was deleted. This is especially apparent in things like glean
blendFunc where a new variant is created for every different subtest, chewing
up all memory.
This change limits the numbers of fragment shader variants (for all shaders)
which are kept around to a fixed number. If that would be exceeded a fixed
portion of the cached variants is deleted (since without tracking the used
variants this involves flushing we don't want to delete only one).
Always the least recently used variants (from all shaders together) are
deleted.
For now this is all per-context.
Both the number of how many variants are cached (1024) as well as how many
will be deleted at once (1/4 of the cache size) are just rough guesses and
subject to further optimization.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a6d9d18faecef9963be3e4b64a21b89889b4670d 28-May-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: hook up basic gs and multiple constant buffer support
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
81862bbbc82341b1271fc4bc7b803d409826aeba 03-Jun-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Number shaders/variants for more reproducible function names in the IR.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
147dc2354c21f098a2a63a085c21ec10252cab24 02-Jun-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Centralize all position interpolation in lp_bld_interp.c.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
6ce68ad3ca242076bbb93fdd99bb448f87a31d15 01-Jun-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Use struct lp_shader_input in the interpolator.

Eliminates all this identical yet slightly different code to decide how
shader inputs should be interpolated.

As bonus, don't interpolate the position twice when it is listed in the
TGSI shader inputs.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
149cb7682e37ce719d693f120e68dde60ba73bdf 01-Jun-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Don't waste time interpolating unused input channels.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
524ec6464d5c9d66b58c78c5e68c3bcb6a845f69 31-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Show fs's TGSI when LP_DEBUG=tgsi is set.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
f503b3dd9d6522abdabab1e25d0652c9d3079421 30-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Use pointer_to_func() instead of custom wrappers.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
18fb9ff6d8f58a08e559070cf29f26ed0caa567f 26-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Pass the fs variant to the rasterizer.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d574ffbb4d3a5e15a0e309686d3888c3112fcf21 19-May-2010 Brian Paul <brianp@vmware.com> llvmpipe: more tweaks to dump_fs_variant_key()
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
75189ef960d2f7001d2b24e7c1939d0a647c0cf1 19-May-2010 Brian Paul <brianp@vmware.com> llvmpipe: use util_dump_logicop()
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c2a036d4efeca80263e4d212532e46dfc525b9da 19-May-2010 Brian Paul <brianp@vmware.com> llvmpipe: put variant print/debug code into separate function
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
6440dcea21066d43a9a37ab6e02d88b0da281154 15-May-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unnecessary headers.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8a3bcba12c19049eb91cb8ce865212d75be5c859 15-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Use GALLIVM_DEBUG opt where applicable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d9096926f84b33e122e3b2942ff66dc183894b50 13-May-2010 Brian Paul <brianp@vmware.com> llvmpipe: silence casting warnings
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
648c9d52477e410da374dbc97e3d68f599b2771f 09-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Dump fs key's stencil state.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4c4f98c6fcabc4a2c9ede3647de390a4585cf58a 12-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Use RAST_WHOLE/EDGE_TEST in more places.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
10fdbb9298489e9dfb2ecec0662abe29da5b6239 12-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Move the opaque flag computation into the variant.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
f795735f4251d5f7842ee9e09994641c5c46d25d 11-May-2010 Brian Paul <brianp@vmware.com> llvmpipe: fix up indexing of blend/colormask state for render targets
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8ad3e0b55df50beac8ba3c5cafa0be79641a4977 09-May-2010 José Fonseca <jfonseca@vmware.com> gallivm: Add an alternative to LLVMDumpValue that works with Windows GUI apps.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
86afe8250edaa2e6129c937a62a695f616c48d70 06-May-2010 Qicheng Christopher Li <chrisl@vmware.com> llvmpipe: implement occlusion query

OpenGL occlusion queries work now. The Mesa demos, glean test and piglit
tests all pass. A few enhancements are possible in the future. -Brian

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
59253a79d823a4cfd1d65466c0a165d6d4c43a92 02-May-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix alpha blending for formats without alpha channel.

Don't use the dst alpha channel from the swizzled tile when it does not
exist in the true format.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
70c75310514ef16880e1e3fe9cca83ab646bae99 02-May-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unused variable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9523d78dde7f2e819275ecb39cdeafe50eb65f13 28-Apr-2010 Brian Paul <brianp@vmware.com> llvmpipe: make shader-related functions static, clean-up initializations
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a7e2470843be35b7373e48fc6be9e0f9df877afb 28-Apr-2010 Brian Paul <brianp@vmware.com> llvmpipe: remove some unneeded shader structure fields
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
ac6725b8f9c331cacd08d95eb22d0c81b0bc9821 28-Apr-2010 Brian Paul <brianp@vmware.com> llvmpipe: dump shaders if LP_DEBUG=tgsi
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
03b3c107749c2e132c584a90c67ae04ce536cfca 27-Apr-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unused variable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8352983e2ab9523345f2b2b3db62db19f01fab62 25-Apr-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unused variable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b147aaea4dfb278f76f210d55c8e20b15b6fba18 24-Apr-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unused variable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3ee4ec99eae51454bd5f3f7a8af51cf65a71908d 24-Apr-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unused variable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
021e0dc78b15fab29e761012860276c2597c8d8f 23-Apr-2010 Zack Rusin <zackr@vmware.com> gallivm: implement indirect addressing over temporaries

a bit more involved than indirect addressing over consts, but still
fairly reasonable. we allocate an array instead of individual alloca's,
and we do it only if the shader does indirect addressing.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
6ae9975ea08b64d7f4e7a2c6c535c14280bef843 22-Apr-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix typo in assert.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a85afb91777ade2a12ba2df8f219a0294a645164 21-Apr-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unused variable.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d84b8cb1a8e3ce846de9affe2f72457c6e698872 18-Apr-2010 Brian Paul <brianp@vmware.com> llvmpipe: update comment
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
862d014ba91f0b959465a48005e94f530f0374a5 16-Apr-2010 Brian Paul <brianp@vmware.com> llvmpipe: fix color masking
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
1c4415ddf4ceb6406e9e1e1275103fce932a9581 16-Apr-2010 Brian Paul <brianp@vmware.com> llvmpipe: remove unneeded declaration (which caused a warning)
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
39a12a73269b3eff46ba66fce03eff73dd5d54fb 16-Apr-2010 Brian Paul <brianp@vmware.com> llvmpipe: updated #includes
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
0639765b2850739af1678f10fc0c5706d5827776 16-Apr-2010 Brian Paul <brianp@vmware.com> Merge the lp-surface-tiling branch into master.

This branch implemented dual representations of texture/drawing surfaces:
one in the conventional linear layout and the other the tiled layout which
is used by the fragment shader pipe. Per-tile flags indicate the layout
of each image tile. In many situations this lets us avoid converting
image data between the two layouts.

Squashed commit of the following:

commit 563a7e3cc552fdcfcaf9ac0d4b1683c3ba2ae732
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 8 14:48:21 2010 -0600

llvmpipe: convert points/lines to triangles with draw module

This isn't the most efficient way to render points/lines but it allows us
to run more tests.

commit a8aa763e8a717533f2b13bb6ea53cbccbede68c9
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 8 14:47:28 2010 -0600

llvmpipe: call llvmpipe_get_texture_tile() for depth/stencil

The returned pointer isn't used, but the tile status/layout info
gets updated. Helps to fix glReadPixels(DEPTH / STENCIL).

commit 463bc64af266194acbea71cd52e26a79b8c8a260
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 8 10:58:48 2010 -0600

llvmpipe: add store_color to debug cmd_names list

commit 784cc73fb334a9d7b7c93cbd8a1445cdf742ff58
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 8 10:57:43 2010 -0600

llvmpipe: fix debug build

commit 792c93171ec075664f55720ffed397ac2834a4fc
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 8 10:49:01 2010 -0600

llvmpipe: fix cube mapping

commit 882b1035db88c3dd8aebe28dc971ac30a9ee39e3
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 8 09:53:30 2010 -0600

llvmpipe: remove some older/unused code

commit b807d32b23145301e8842824664d9f06b9c5502e
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 8 09:29:50 2010 -0600

llvmpipe: silence warning

commit 7b337e64fec92836ccdf9d96216289dd58418e35
Author: Brian Paul <brianp@vmware.com>
Date: Wed Apr 7 17:06:08 2010 -0600

llvmpipe: clean-up, comments in lp_surface_copy()

commit c52fa36f249cc652fa8d5fdd94d6574127c08c41
Author: Brian Paul <brianp@vmware.com>
Date: Wed Apr 7 16:51:42 2010 -0600

llvmpipe: overhaul tiled/linear memory management

Now we keep per-tile layout info (linear vs. tiled (or neither or both)
and convert from one layout to the other on demand.

commit 4a50ccfd470547c9be0704005818a87014e9c0e9
Author: Brian Paul <brianp@vmware.com>
Date: Wed Apr 7 16:51:27 2010 -0600

llvmpipe: added tile read/write counters

commit b7d0ea9c687ac8773b083791623826fa604adf21
Author: Brian Paul <brianp@vmware.com>
Date: Mon Apr 5 14:54:04 2010 -0600

llvmpipe: rename some functions

commit ee45c6e5b95cbd3c8cccc9aa4d45d8aef11e20c4
Author: Brian Paul <brianp@vmware.com>
Date: Mon Apr 5 14:42:15 2010 -0600

llvmpipe: re-org some get block/tile pointer code

commit 26ce97c16c0b6520ff1538803baa772d8c3b1280
Author: Brian Paul <brianp@vmware.com>
Date: Mon Apr 5 14:34:13 2010 -0600

llvmpipe: disable bad assertions

commit 5c670481248c4d46f87f13bf3af5655925e7002d
Author: Brian Paul <brianp@vmware.com>
Date: Fri Apr 2 16:36:11 2010 -0600

llvmpipe: add a special-case optimization to lp_surface_copy()

Be more efficient when copying tiled image to linear image.
Before, the fallback path was always converting the whole source image
to linear. Now we can convert just a sub region.

commit faa684645e64d6024b3a11e4e08da825e8220b2e
Author: Brian Paul <brianp@vmware.com>
Date: Fri Apr 2 16:15:16 2010 -0600

llvmpipe: assorted texture and tile/line conversion code change s

The tiled/linear conversion functions take x/y positions now to
allow converting only sub-regions.

More texture-related helper functions.

commit baad81ec5318d44bfac1e37c7643afc0836607bb
Author: Brian Paul <brianp@vmware.com>
Date: Tue Mar 30 13:18:40 2010 -0600

llvmpipe: convert tiled->linear upon PIPE_FLUSH_SWAPBUFFERS

If we know we're about to do a swapbuffers we should immediately
convert the tiled color tiles to linear instead of later in
llvmpipe_texture_unmap() since we can take advantage of threading/
parallelism here.

commit 928dd41256811daeddb7506a49a34dbad04beaf8
Author: Brian Paul <brianp@vmware.com>
Date: Tue Mar 30 09:16:58 2010 -0600

llvmpipe: polish-up the llvmpipe_flush() code

commit dd6014abcf86c517d159b8175e0eaeb167ea2ef6
Author: Brian Paul <brianp@vmware.com>
Date: Tue Mar 30 09:15:17 2010 -0600

llvmpipe: SETUP_x enum clean-up

commit 0b1ce6da2b28a41f3389685ab93e10b43c950f5d
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 26 10:43:37 2010 -0600

llvmpipe: remove unused vars

commit 4562663480f88162ed4452cb05569eecb67f9f39
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 26 10:31:55 2010 -0600

llvmpipe: cope with non-existant color/depth buffers

The fragment jit functions always grab these pointers, even if they're
not used.

commit df4329edbaf204ed501f1eac0698b8198178f9af
Author: Brian Paul <brianp@vmware.com>
Date: Thu Mar 25 15:20:15 2010 -0600

llvmpipe: do all render target surface mapping/unmapping in the rast code

commit 3d0c25d5ba8b8f61e8366d4c97324e45d526ff41
Author: Brian Paul <brianp@vmware.com>
Date: Thu Mar 25 14:31:21 2010 -0600

llvmpipe: map z/stencil buffer on demand like color buffers

Plus lots of code clean-up and loose ends taken care of.

commit c3b6fddd788aef09b4b84b843b7b1272231151e8
Author: Brian Paul <brianp@vmware.com>
Date: Thu Mar 25 13:15:03 2010 -0600

llvmpipe: remove unused write_zstencil field

commit 63374d97836926a6357e9d6dd24a509a8e155c56
Author: Brian Paul <brianp@vmware.com>
Date: Thu Mar 25 09:45:59 2010 -0600

llvmpipe: add missing lp_rast_end() call

Fixes crash on window resize when LP_NUM_THREADS=0.

commit 92fe9952161cc06f6edc58778e9e5a8b9ea447dc
Author: Brian Paul <brianp@vmware.com>
Date: Wed Mar 24 10:15:19 2010 -0600

llvmpipe: add tiled/linear conversion for 16-bit Z images

commit 6605fa28c147f30df351da0e4413cab33e4db5da
Author: Brian Paul <brianp@vmware.com>
Date: Tue Mar 23 16:06:41 2010 -0600

llvmpipe: implement tiled/linear conversion for Z/stencil images

commit 804528d84ffa292ef9d49d3666cdd3fa099ff3ff
Author: Brian Paul <brianp@vmware.com>
Date: Tue Mar 23 16:05:45 2010 -0600

llvmpipe: added texture stride comment

commit 66a88c012edf670c4ac887a912f02dcff93266dd
Author: Brian Paul <brianp@vmware.com>
Date: Tue Mar 23 16:04:07 2010 -0600

llvmpipe: remove unused vars

commit e2ca8d1328316dc8b36d5f688c16d109e49a6870
Author: Brian Paul <brianp@vmware.com>
Date: Mon Mar 22 18:53:11 2010 -0600

llvmpipe: checkpoint WIP: overhaul texture/surface mapping

Conversion between tiled and linear surfaces is working everywhere now.
The LP_TEXTURE_READ/READ_WRITE/WRITE_ALL flags let us avoid unnecessary
image layout conversions.

Still some loose ends, temporary/debug code, etc.
Need to implement tiled/linear conversion for depth/stencil images.

commit f2730a03839ee8984c1f537b7cbebba24961397a
Author: Brian Paul <brianp@vmware.com>
Date: Mon Mar 22 14:41:58 2010 -0600

llvmpipe: rename/repurpose lp_rast_store_color()

commit e192a47552c5d20d2caef452ca7697e2cd852c9b
Author: Brian Paul <brianp@vmware.com>
Date: Mon Mar 22 14:38:51 2010 -0600

llvmpipe: remove lp_rast_load_color()

commit 3cff0bde4b4ab980e1c3e812700419091527c76b
Author: Brian Paul <brianp@vmware.com>
Date: Mon Mar 22 14:11:38 2010 -0600

llvmpipe: remove/consolidate texture image code

commit 3a2f08b6a550c69ef5e874f482be30252cbf8bfa
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 19 17:03:14 2010 -0600

llvmpipe: checkpoint WIP: directly render to tiled texture buffers

We're now directly writing colors into the tiled texture image buffers.

This is a checkpoint commit with lots of dead code and temporary hacks.
Everything will get cleaned up eventually.

commit c5ca987e03870849514d4e3c99af143722a09695
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 19 16:41:14 2010 -0600

llvmpipe: refactor code, create tile_pixel_offset()

commit 2133e8273e937cbac09cd7264d6ce53af9764ddb
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 19 14:55:11 2010 -0600

llvmpipe: pass LP_TEXTURE_LINEAR/TILED flags around

commit b9b9d4b82b01f4588721fdc8444740f859b4a021
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 19 14:51:05 2010 -0600

llvmpipe: checkpoint WIP: hanlde co-existing tiled/linear texture data

Cube maps are temporarily broken, maybe other things.

commit 4cd322e6889940b5f155fcb69041b685b9ef9273
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 19 11:34:43 2010 -0600

progs/demos: add other modes/patterns to dissolve demo
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d67e3487ac4c678892d0aea535cacfd5f1d86a27 12-Apr-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Respect pipe_sampler_view::format.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
287c94ea4987033f9c99a2f91c5750c9083504ca 10-Apr-2010 Keith Whitwell <keithw@vmware.com> Squashed commit of the following:

commit 0189cb2fde9f5d7326fd4bfbc2e52db4cce73b3e
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Apr 10 12:48:43 2010 +0100

gallium: don't use generic get_transfer func for textures

It doesn't know and can't fill in the stride value.

commit 65bc6f88fd9ce8ff90175b250e580bef2739ea35
Author: Chia-I Wu <olv@lunarg.com>
Date: Sat Apr 10 13:49:34 2010 +0800

i915g: Initialize screen surface function.

commit eb56e64986790aa2fa35534ce652b78656b0c3c5
Merge: f8b0a7f e7f1e5c
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Apr 10 00:38:43 2010 +0100

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/drivers/r300/r300_texture.c

commit f8b0a7f6a3a98fd36ce90a81073ec8c8f09b684c
Merge: a3c9980 f43c679
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Apr 10 00:35:09 2010 +0100

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/drivers/r300/r300_texture.c

commit a3c99807de37dc2c072f1d75ed3a11da333bc9a1
Author: unknown <michal@.(none)>
Date: Fri Apr 9 18:51:39 2010 +0200

scons: Add missing sources.

commit 927cec79cedb457efa9e6f335727cfcb8e4908e2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 9 18:07:56 2010 +0200

gallium: fix another compile warning after merge. Hmpf.

commit 52953cd7b0e51deafecb812bdc40f9e45f9ac62a
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 9 18:02:11 2010 +0200

gallium: fix comment

commit 7c8763aa6cfc74adf1ea49c2bab25ca17b32575f
Author: unknown <michal@.(none)>
Date: Fri Apr 9 18:05:20 2010 +0200

util: Fix type cast.

commit 9d0086411a104b7cc9297aac0d1f82853118d7bf
Author: unknown <michal@.(none)>
Date: Fri Apr 9 18:04:33 2010 +0200

libgl-gdi: Use proper unwrap functions for resources.

commit 251a5cdd18ba31c690ef61f133dfc65cd4a45cf8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 9 17:51:23 2010 +0200

gallium: more comments fixup

commit 8f3f9d5e1e9c0de98a3dfb19e81250d2c32ee4e9
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 9 17:48:18 2010 +0200

gallium: another fix after merge

commit 41f00a32ee5be91512c048bacb89ede0e04bc08d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 9 17:44:30 2010 +0200

gallium: more pipe_texture/resource fixes after merge

commit faf53328d1154c51d8a59513f2bfcae62272b0bf
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 9 17:44:24 2010 +0200

gallium: fix comments for changed USAGE flags

commit fdcb17bea4b0798d316b56deea69832f41142adf
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 9 16:40:07 2010 +0200

gallium/pb: pb uses PB_USAGE_ flags, not PIPE_TRANSFER_ (same value anyway)

commit c95f7278ecc6db417ec1053279f2a8172c47aee9
Author: Keith Whitwell <keithw@vmware.com>
Date: Fri Apr 9 13:44:35 2010 +0100

llvmpipe: fix merge glitches

commit 28f8b8683175149a381be5eff263d4c20568bce7
Author: Keith Whitwell <keithw@vmware.com>
Date: Fri Apr 9 13:41:39 2010 +0100

r300g: update after merge for pipe_resources

commit 248c93cbc066ba6e3fadd94c5fcf3bdbb373d8fd
Author: Keith Whitwell <keithw@vmware.com>
Date: Fri Apr 9 13:41:20 2010 +0100

st/mesa: fix old pipe_texture usages

commit a563b1c5c2cb57b3ef28a3654d9b477460d13ced
Author: Keith Whitwell <keithw@vmware.com>
Date: Fri Apr 9 13:40:56 2010 +0100

r300g: remove unused variable

commit 734500131d828c9dfd68c5fa26b3e6b07e086d2d
Author: Keith Whitwell <keithw@vmware.com>
Date: Fri Apr 9 13:40:36 2010 +0100

nv50: fix compiler warning

commit efd402e13037e5c3e29759fa5b1c754c6d65d0e2
Merge: fec8a1d 5452615
Author: Keith Whitwell <keithw@vmware.com>
Date: Fri Apr 9 13:33:57 2010 +0100

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/drivers/cell/ppu/cell_screen.c
src/gallium/drivers/cell/ppu/cell_texture.c
src/gallium/drivers/llvmpipe/lp_screen.c
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_render.c
src/gallium/drivers/r300/r300_screen.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/r300/r300_transfer.c
src/gallium/state_trackers/egl/common/egl_g3d.h
src/gallium/state_trackers/egl/kms/native_kms.c
src/gallium/state_trackers/egl/x11/native_dri2.c
src/gallium/state_trackers/egl/x11/native_ximage.c

commit fec8a1db13fac04ef56f6ece799d1f20aa3011db
Author: Marek Olšák <maraeo@gmail.com>
Date: Sat Apr 3 07:58:34 2010 +0200

util: fix assertion failures in pipe_buffer_flush_mapped_range

commit 1ff3984c2edce9927744f3cce3e7b07778990170
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 8 17:44:54 2010 +0200

docs: fix transfer_map description

commit 20bf14be8ac6438cb1afa38212e306fc06a5ed40
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Apr 8 14:39:13 2010 +0100

util: fix up several uses of pipe_map_buffer_range

This function used to return a pointer to where the start of the
actual buffer would have been, even though only the requested range is
being mapped.

In the resources change, the function was modified to use a transfer
internally, and started returning the pointer to the beginning of the
transfer, ie the mapped range.

Some users of the function were changed to reflect this new behaviour,
some were not. Since then the function has reverted to its original
behaviour, matching master.

This change restores some of the users of the map_buffer_range helper
to expect the old/original behaviour.

commit 33179a86058b68b518f40971030db337dc26fe6e
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Apr 8 14:38:54 2010 +0100

mesa/st: fix up several uses of pipe_map_buffer_range

This function used to return a pointer to where the start of the
actual buffer would have been, even though only the requested range is
being mapped.

In the resources change, the function was modified to use a transfer
internally, and started returning the pointer to the beginning of the
transfer, ie the mapped range.

Some users of the function were changed to reflect this new behaviour,
some were not. Since then the function has reverted to its original
behaviour, matching master.

This change restores some of the users of the map_buffer_range helper
to expect the old/original behaviour.

commit 3f5363d4dc9d7ad48467ae82d58d5f3d9bd10698
Author: Keith Whitwell <keithw@vmware.com>
Date: Wed Apr 7 17:26:52 2010 +0100

util: map_range and flush_range have offsets relative to start of buffer

commit 7eb1bfb97a790c73188d6b616d54fb3849e69b1e
Author: Keith Whitwell <keithw@vmware.com>
Date: Wed Apr 7 17:26:08 2010 +0100

nv50: fix compiler warning

commit d040daff0642dd791ac38e9b353dc251b03fc873
Author: Keith Whitwell <keithw@vmware.com>
Date: Wed Apr 7 17:25:58 2010 +0100

nvfx: fix compiler warning

commit 49ec01dffb8e99ab3ff8f856287db7b4df3efed6
Author: Chia-I Wu <olv@lunarg.com>
Date: Mon Apr 5 11:58:53 2010 +0800

mesa/es: Fixes for gallium-resources.

commit 47c87ada452be45766928a01b6d69da63e3a5f5e
Author: Marek Olšák <maraeo@gmail.com>
Date: Sat Apr 3 05:19:20 2010 +0200

r300g: fix transfers for textures created from winsys handles

commit 5f2701fddaef9c18d85c049311c2819c49cc1ae0
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Sat Apr 3 03:52:38 2010 +0200

nouveau: don't use the staging usage

Maybe it could make sense, but for now dynamic is enough.

None of these avoid uncached reads from GART on AGP cards.

commit 0db20fa49e008f35911007fa7ed9be1d678a2161
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Sat Apr 3 03:27:19 2010 +0200

i965: add brw_resource.c to Makefile

commit b94f3e7389cbd1b6465de3c04e8059ce73f1ea1f
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Sat Apr 3 01:48:33 2010 +0200

nouveau: fix for gallium-resources

commit a01ff99a19986e6beb7903431e60a074945b09bc
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 1 19:26:35 2010 +0200

gallium: fix missing includes

commit 26aeded562ce947a6deeb867fe22bf8daf7b1a1a
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 1 19:19:18 2010 +0200

gallium: remove video interface and related stuff

These interfaces weren't quite was needed, and building disabled for a while.
Some code actually build since some branch merge, and were now not fully
converted to gallium-resources.
See http://www.mail-archive.com/mesa3d-dev@lists.sourceforge.net/msg09619.html
for a discussion of this. Video related work is done in origin/pipe-video
branch.

commit c64285aea45997a276fb141d7badc8a04f617c7c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 1 18:45:54 2010 +0200

python: fixes for resource changes

doesn't look quite ok yet, but sort of compiles.

commit 03d4d5a41f5cf158a358fd705c695e1c987a328f
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 1 18:34:46 2010 +0200

gallium: s/u_box_orgin_2d/u_box_origin_2d

commit 2444f023142bcaf7bd310b44794580f273254408
Author: Marek Olšák <maraeo@gmail.com>
Date: Thu Apr 1 03:26:50 2010 +0200

r300g: fix segfault when the transfers functions are used

Still broken.

commit 6f09bf4066ab651b323c131bb07978e700519805
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 1 00:05:12 2010 +0200

r300g: compile fixes

commit 76711ff40d2092f9ef03d452de7458c4e76d9246
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 1 00:04:47 2010 +0200

nvfx: more compile fixes

commit c5d2e90c9cc119447a447dc04a4bce4ab91fc671
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 31 23:18:50 2010 +0200

gallium: more mostly merge fallout fixes...

commit fbc3722696790857f4adc936190406e74dffd969
Merge: 86d9225 d97f696
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 31 22:09:35 2010 +0200

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/drivers/cell/ppu/cell_screen.c
src/gallium/drivers/i915/i915_buffer.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i915/i915_resource_texture.c
src/gallium/drivers/i915/i915_screen.c
src/gallium/drivers/i915/i915_state_emit.c
src/gallium/drivers/i965/brw_resource_texture.c
src/gallium/drivers/llvmpipe/lp_screen.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/nvfx/nv30_fragtex.c
src/gallium/drivers/nvfx/nv40_fragtex.c
src/gallium/drivers/nvfx/nvfx_miptree.c
src/gallium/drivers/nvfx/nvfx_screen.c
src/gallium/drivers/nvfx/nvfx_transfer.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/svga/svga_screen_texture.c
src/gallium/state_trackers/dri/common/dri_drawable.c
src/gallium/state_trackers/dri/common/dri_screen.c
src/gallium/state_trackers/dri/common/dri_st_api.h
src/gallium/state_trackers/dri/drm/dri1.c
src/gallium/state_trackers/dri/drm/dri1.h
src/gallium/state_trackers/dri/drm/dri2.c
src/gallium/state_trackers/python/st_device.c
src/gallium/state_trackers/python/st_sample.c
src/mesa/state_tracker/st_cb_clear.c
src/mesa/state_tracker/st_cb_drawpixels.c
src/mesa/state_tracker/st_cb_readpixels.c
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_extensions.c

commit 86d9225d19d194eebbbe95b059695697c3307d15
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 31 19:06:06 2010 +0200

gallium: more fixes for bind changes

commit a215ef0606347e34669a580ec8df93ede7e46399
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 31 18:48:36 2010 +0200

gallium/docs: some updates for bind changes

commit c6c7e6746cbc7af59f7972719ed76f43e8ac16fc
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 30 20:24:26 2010 +0200

gallium: more bind change compile fixes

commit a83fa1504b78180524a5eb454ae186741a27cdf8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 30 17:37:13 2010 +0200

compile fixes

commit 30dc8afcd243d6a160571bac5f06d773e54a4196
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 30 16:56:28 2010 +0200

fix some merge issues

commit 30aa617fee11fe50c0a9c2f33fcd120a474f5e34
Merge: 1dde609 3a830bc
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 30 16:09:45 2010 +0200

Merge commit 'origin/gallium-buffer-usage-cleanup' into gallium-resources

Conflicts:
src/gallium/drivers/nouveau/nouveau_screen.c
src/gallium/drivers/nvfx/nvfx_transfer.c
src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c

commit 1dde609ad6c9d2dfa0a5f7167f3c5bcf023b7c4d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 24 02:35:00 2010 +0100

docs: some updates for pipe_resource

commit f236f9660d31b936f54b64ae07e569f8637067bd
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Wed Mar 24 01:31:28 2010 +0100

nvfx: fix for gallium-resources

It seems to work with basic applications but almost surely needs more work.

In particular, it probably shouldn't use PIPE_BUFFER_USAGE_* flags
and should use PIPE_TRANSFER_* in several places.

Also, we probably don't want the vtable indirect calls and that ought
to be replaced with something better instead.

commit 5a136ad7b63768cb9a753eff8686c44592e62325
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Wed Mar 24 01:31:19 2010 +0100

nv50: fix build in gallium-resources

Not actually tested.

Also needs next patch tee to actually build, this is just the nv50 part
split from the rest.

commit 3a830bc4a3f0f60c925b9434845a6bcad9a913c5
Author: Keith Whitwell <keithw@vmware.com>
Date: Tue Mar 23 14:00:52 2010 -0700

st/egl: fix up for binding flags

commit c6a80dc32ef17bc972d4137ce7444ebed4d28ebb
Author: Keith Whitwell <keithw@vmware.com>
Date: Tue Mar 23 13:52:15 2010 -0700

r300: restore 4k alignment for oqbo buffers

commit e75a8d5ea9e0ffcf67bc858e08937e10b4fc74ba
Author: Keith Whitwell <keithw@vmware.com>
Date: Tue Mar 23 13:00:07 2010 -0700

gallium: bind flags

commit 1f5b509543a7f399835fd9edf27c18e1643fab7d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 23 19:32:21 2010 +0100

i965g: scons compile fixes

commit 2c385f8f905ec794d9119c05c6293e0b1b9b565a
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 23 19:20:33 2010 +0100

nouveau: drm compile fix

commit b285086ebd5132b47c340897c4622cc9fbd286cb
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 23 18:36:19 2010 +0100

r300g: pipe_resource compile fixes

bring back mistakenly deleted radeon_buffer.h
plus some more

commit 7810606f423ef2f51f0a14b919640c2fd2c931aa
Author: Michal Krol <michal@vmware.com>
Date: Tue Mar 23 16:21:03 2010 +0100

softpipe: Map GS constants, too.

commit 366f1176fb89d2b1978da6cfe60000b76bbc7338
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 23 15:51:52 2010 +0100

failover: update for pipe_resources

commit 615f44d70d293704ed821bc0b21fcfe6e363895d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 23 15:51:02 2010 +0100

identity: remove double is_resource_reference assignment

commit 7008586020395905ddfff333d02b3893de369796
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 23 15:50:32 2010 +0100

trace: compile fix

commit 058c5697bda4c9cf7b49d26ee27a34586544efaa
Merge: dd7ba13 b33fd3c
Author: Keith Whitwell <keithw@vmware.com>
Date: Tue Mar 23 06:40:39 2010 -0700

Merge commit 'origin/gallium-resources' into gallium-buffer-usage-cleanup

Conflicts:
src/gallium/state_trackers/vega/api_filters.c
src/mesa/state_tracker/st_cb_drawpixels.c

commit b33fd3ce3daf2921a895367d0ed3fd9c718a8575
Author: Michal Krol <michal@vmware.com>
Date: Mon Mar 22 21:03:26 2010 +0100

gallium: Usage parameter of get_transfer/transfer_inline_write is a bitfield.

commit 9c1162d9d656062a490a529997def3f674cc61fc
Author: Michal Krol <michal@vmware.com>
Date: Mon Mar 22 20:50:49 2010 +0100

scons: Update file lists after gallium-resources changes.

commit af9793ab9e5386b150d6b25c0d1978fdc67172e4
Author: Michal Krol <michal@vmware.com>
Date: Mon Mar 22 20:04:39 2010 +0100

gallium: Do not use `template` for formal parameter names.

commit dc2e12d714c444af9ff1acdd5a7e91408b116c99
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:41:34 2010 +0000

ws/nouveau: remove pipe_texture reference

commit b94c72329f1be85887d40d49b0586979da469d77
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:40:41 2010 +0000

ws/xlib: remove pipe_buffer reference in comment

commit 0a2af3eeae7de1d1cb433f0a2c35136b115f9920
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:39:34 2010 +0000

st/vega: clean up reference to pipe_texture

commit 437ce98daae46be5d532fbb04c7cbf4a503c1623
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:39:02 2010 +0000

st/python: begin conversion to pipe_resources, much more to do

commit 1b02e1ee3e5e87774f0c9e5f0e1898b7f8de1b16
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:29:34 2010 +0000

st/xorg: update for pipe_resources

commit eb39977fe7a1d9f0c3f4f2d4303a93c2c613cc3b
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:23:51 2010 +0000

st/dri: update for pipe_resources

commit e447aeff597a4d8c0f5de25854c14c99f2cc138c
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:23:36 2010 +0000

st/egl: update for pipe_resources

commit e4cc48da8fdbd7d521257a6d7cd10e6fc5aa1a65
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:08:44 2010 +0000

r300: drop use of R300 DONT SYNC flag

commit 129a83ab4d32e44ded5faea3f86ae5e1e62cddb6
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:08:17 2010 +0000

pipebuffer: use transfer flag

commit 575b35ee6b683d77095ef21c573c1de207107e79
Merge: f29ac73 9fc6c8b
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 22:03:25 2010 +0000

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/winsys/drm/radeon/core/radeon_buffer.h

commit f29ac73f3f626d5779a627b7fa6fecdb60a35aab
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 18:37:25 2010 +0000

cell: attempt to convert to pipe_resources

Can't even compile test this driver.

commit 484b1947f4af81bab60b41f21c3c23ea6f67488c
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 17:25:50 2010 +0000

nvfx: restore usage of pipe_winsys

The interface that cannot be killed...

commit ac76ac6eb30f4f9aa9f5733d60358b357925953a
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 17:25:10 2010 +0000

nv50: fix warning

commit 9683f4423449fa5acf6c019c571223650473bd82
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 17:14:31 2010 +0000

util: restore u_simple_screen, nouveau still relies on it

commit 961cbcb62232689c959965384c6aa9b8eca697c1
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 16:51:54 2010 +0000

nouveau: convert nvfx and nv50 to pipe_resources

Compile tested only.

This was a deeper change than I was hoping for, due to the
layering of the pipe_texture implementation in each driver on
top of a shared pipe_buffer implementation in the shared code.

Have modified the shared code to act as a set of convenience
routines operating on nouveau_bo objects.

Each driver now uses the u_resource_vtbl technique to split the
implementation of pipe_resources between the existing miptree code
for textures and a new, minimal buffer implementation in each
driver.

Eventually these should be combined, not least because APIs are now
allowing things like binding buffer resources as textures and render
targets.

commit 18ba74016db13b23282f5033ee37b628a12ee566
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 10:02:54 2010 +0000

r300: fix compilation after merge

Also build r300 by default.

commit eb9c0175c8e4baca3fcb0b8364f83ceba9d74e0d
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 09:59:49 2010 +0000

st/vega: fix up after merge

commit ea8dd1d4ae7b58c9315c3491046ef3852ddd3377
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 09:59:44 2010 +0000

aux: remove unused piperesource helpers

commit be7af29d3ad1a10409b0ea689d882cf30a4e1d62
Merge: d22c2c6 12deb9e
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 21 09:54:53 2010 +0000

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/cso_cache/cso_context.h
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_render.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/r300/r300_state_derived.c
src/gallium/state_trackers/vega/api_filters.c
src/gallium/state_trackers/vega/image.c
src/gallium/state_trackers/vega/image.h
src/gallium/state_trackers/vega/mask.c
src/gallium/state_trackers/vega/mask.h
src/gallium/state_trackers/vega/paint.c
src/gallium/state_trackers/vega/paint.h
src/gallium/state_trackers/vega/renderer.c
src/gallium/state_trackers/vega/renderer.h
src/gallium/state_trackers/vega/shader.c
src/gallium/state_trackers/vega/vg_context.h
src/gallium/state_trackers/vega/vg_tracker.c
src/mesa/state_tracker/st_manager.c

commit d22c2c6cb23a063e3334a165d0c5c3d73f05d234
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Mar 20 11:48:54 2010 +0000

drm/r300: update for r300g pipe_resources conversion

Remove old files that related to pipe_buffers but weren't being
built. Hopefully this is correct.

commit f07b2c836958bee5796899123eca4ed05ac6242b
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Mar 20 11:47:03 2010 +0000

r300: convert to pipe_resources

Do a very shallow conversion - basically keeping the existing
buffer and texture code intact and using a vtbl struct
inside our resource struct to select between the two implementations.

The buffer and texture treatments could be further merged without
much effort, but try to keep the existing code working at this point.

commit feca9c3ca62daaf0d8745370106d4e3b22340c49
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 18 06:00:34 2010 +0000

gallium: update new merges to pipe_resource

commit 1cad983eac77a0c5333e6a3ce92b90ac87407714
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 18 06:00:19 2010 +0000

drm/sw: update new merges to pipe_resource

commit 191d39490ed792c569f98d42cf05891b264f71f8
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 18 06:00:01 2010 +0000

vg: update new merges to pipe_resource

commit b727c59bc44812ad503d9390505c92b738a5b8b0
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 18 05:59:38 2010 +0000

llvmpipe: update new merges to pipe_resource

commit 5f4b64b37fdcd70162c382b2ebbd494bef751dbd
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 18 05:59:23 2010 +0000

brw: pipe_resource fixes

commit d4aca209f531f1b65bf706ce1e5fc0375b587eb6
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 18 05:59:06 2010 +0000

util: update new merges to pipe_resource

commit cf6bef0afee10763c78509a3d17e9a6e49bcd3c8
Merge: 1997231 6de8e56
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 18 05:38:50 2010 +0000

Merge commit 'origin/master' into gallium-resources

commit 1997231916144485c3c4a36f53eda39fce460272
Merge: ad88ac7 e1ee3ea
Author: Keith Whitwell <keithw@vmware.com>
Date: Wed Mar 17 08:46:38 2010 +0000

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_blit.h
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/auxiliary/util/u_gen_mipmap.h
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_gen_mipmap.c

commit ad88ac79034a91670940276e722bdd398d5c9023
Merge: 77bc770 8cdfd12
Author: Keith Whitwell <keithw@vmware.com>
Date: Tue Mar 16 09:13:07 2010 +0000

Merge branch 'gallium-sampler-view' into gallium-resources

Conflicts:
src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/softpipe/sp_texture.c
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_framebuffer.c
src/mesa/state_tracker/st_texture.c

commit 77bc770c991ea025c82eaa4e0e2390efd825d96d
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 15 22:21:48 2010 +0000

util: missing file

commit f83c91db8ae63a3c3a34ff21492427a5663fb760
Merge: c1d4774 42910eb
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 15 09:48:58 2010 +0000

Merge commit 'origin/gallium-sampler-view' into gallium-resources

Conflicts:
src/gallium/drivers/nv40/nv40_transfer.c
src/gallium/drivers/nvfx/nvfx_transfer.c
src/gallium/drivers/trace/tr_drm.c

commit dd7ba1378fc50710667724d30d6d4cf1125ad61e
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 23:54:36 2010 +0000

gallium: start a cleanup of buffer_usage

Remove fairly meaningless CPU/GPU READ/WRITE flags and
replace with proper usages.

commit c1d4774187189f4af8ff421b210824f3d53ceefb
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 23:05:45 2010 +0000

llvmpipe: don't FREE userbuffer data

commit 9bfa07afe179f8060e7beefb754a29c4d9c6e349
Merge: 65757a1 08cddfe
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 22:54:51 2010 +0000

Merge commit 'origin/master' into gallium-resources

Conflicts:
src/gallium/drivers/llvmpipe/lp_rast.c
src/gallium/drivers/llvmpipe/lp_scene.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/llvmpipe/lp_texture.h
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/svga/svga_screen_texture.c

commit 65757a143f8e3fcd7afbc1ff92db44a823edf46c
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 22:41:17 2010 +0000

svga: build fixes

commit 2f5435220501d4b3050cab2bb1dce6174cd13ff6
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 22:39:25 2010 +0000

gallivm: build fix

commit 42642ec0984107d82b740711f2debbf38457a06e
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 22:38:33 2010 +0000

llvmpipe: convert to pipe_resources

commit 7bbcb21e20cb545ef8dd5fc61d67ed931c69e813
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 22:19:30 2010 +0000

gallivm: convert to pipe_resources

commit 88ae0d04610ca52649b42e32141a52af6d5a739b
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 21:01:22 2010 +0000

configs: build svga

commit 0e112bc69828e65085ebfaef895ecd78fe53f1c4
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 21:01:17 2010 +0000

gallium: restore PIPE_BUFFER_USAGE_CUSTOM

commit 102aca688b95c976b7178b84092fba7d041ff9d2
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 21:00:41 2010 +0000

util: more transfer helpers

commit a79f6a4a0836fc64c07f9aeec21d914474fe3649
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 20:59:36 2010 +0000

svga: convert to use pipe_resrource

As with others so far, a fairly shallow conversion.

commit 087fb54492fa5e3baf040c5efbf7dacd98a8849b
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 18:38:08 2010 +0000

brw: fix function name

commit cfc9dd707d16e06fd23b6926da3a6e2269f31dc8
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 18:19:06 2010 +0000

gallium: enable brw compile

commit 8a5b86d76bdd3c7de63322423f59940a4dc2ee25
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 18:18:50 2010 +0000

brw: compiles with pipe_resource

commit 563ca458b548c41ca4dca559354c16ca1a80d009
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 18:18:42 2010 +0000

i915: hook up userbuffer create

commit b5095b48247b6020e36cc942ac145c3fccbe9a19
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 17:20:51 2010 +0000

i915: use helpers for is_resource_referenced

commit d5392bdc6d70002acf9c5bac0fde14ba405c4d84
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 17:20:38 2010 +0000

util: helpers for is_resource_referenced

commit 2f3492a5aefbb2e745f6700d8e910ebb5cbb98cf
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 17:08:50 2010 +0000

i915: remove buffer.c again

commit 1373a35b65fcc25ec6cdfea2703bbb3417de2c6d
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 17:08:34 2010 +0000

i915: add new files to scons

commit 0251612d70e57fe38e10e75915b394631d224f2c
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 16:38:29 2010 +0000

i915: compiling with pipe_resources

commit 9a0235864252929a8eedd44dbd2fe30fe54c531d
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 13:51:16 2010 +0000

gallium: remove inline_read transfer

commit a6ba315e25793e0c228d3a4ae2f8201634dc9ff0
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 13:50:32 2010 +0000

trace: get running

Some dumping will be incorrect or disabled, but it runs without
crashing

commit 2133f1d90aa919662a8420a0cf3b4557e6ec1afd
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 13:49:42 2010 +0000

gallium: remove the inline_read transfer

There aren't enough users of this to justify it.

commit bccaf1fa30881f6b4fb189a9b74fc7af79c3b481
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 12:30:37 2010 +0000

identity: hook up inline transfer operations

commit e4c152a344f2f53c842b810724a2ae7cb4554f58
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 12:21:54 2010 +0000

gallium: build trace and identity

commit 0b5a311db78852fa9fd021e17b5968a1e0436b49
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 12:21:36 2010 +0000

gallium: add more of the transfer state to pipe_transfer

Not really sure if recording all the arguments to the
create_{transfer,texture,surface,etc} functions in the result of those
calls is a great idea, but it seems we're fairly dependent on it
throughout the code.

commit a23985c26eafe76b0a7dacc892e50cb589f211fe
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 12:19:46 2010 +0000

identity: compiles with pipe_resources

commit d0d630944304c208f6dade6ef8836763ee2bc7b4
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 12:13:02 2010 +0000

trace: compiles with pipe_resources

commit a4451ea459cc8bfc915fe6aed2891b90854b6c9d
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 11:39:50 2010 +0000

softpipe: give userbuffers a format other than NONE

Most mesa demos working

commit 32bb1bd4ba29884a4ecfa11c8441d33dfceabcef
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 11:39:21 2010 +0000

util: correct argument order in pipe_buffer_map

commit 7e2696c06445282feb781047277b260308760a33
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 11:32:55 2010 +0000

softpipe: transfer flush

commit a0543b13c042e3c1142522d9d136f16fd4cabf78
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 11:32:13 2010 +0000

util: noop implementation of transfer_flush_region

commit ce418533be752dbeb164e7ff82a99483048e482b
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 11:26:07 2010 +0000

gallium: softpipe runs gears with pipe_resources

commit bfda4f2eb34498e4b7f3c608d30fccff6bb9651b
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 11:25:48 2010 +0000

util: get clip_tile working again

commit f5ef219c3bed62b6a0da842e675fae16268e0fbe
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 09:43:20 2010 +0000

softpipe: use u_transfer helpers

commit 072957aab25affecf0702e925310e46c694a5ee4
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 09:42:46 2010 +0000

util: helpers for inline transfers

commit 9c45561fb0d7a52400093bcb2ce5f727fafd7777
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 09:42:25 2010 +0000

util: fix typo calculating transfer box

commit f3e98fd47f36804d019a684d49ff230df3ab0cf5
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 09:25:46 2010 +0000

st/vega: convert to pipe_resource

commit d1b7b00afc944f6499c83d676c7642115d62a62c
Author: Keith Whitwell <keithw@vmware.com>
Date: Sun Mar 14 08:37:56 2010 +0000

gallium: begin converting drivers to pipe_resource

Work in progress...

commit 51c25117f5d6da1926a2be5ecc66677952a8abf0
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Mar 13 20:16:27 2010 +0000

gallium: work in progress on layering resources on top of old textures

Helper code in an aux module to avoid rewriting all the drivers.

commit fb6764d3ce95c55aa78af2f1c8cbb17b79ce1ba2
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Mar 13 19:19:09 2010 +0000

heaps of wip

commit ee6b3bc730fcdaf8da3646d62f04578ec06d36a1
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Mar 13 16:38:02 2010 +0000

wip2

commit 1830880212445189fe267d615075239ed17c7cc0
Merge: 90b4045 47bfbd4
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Mar 13 15:14:03 2010 +0000

Merge branch 'gallium-sampler-view' into gallium-resources

Conflicts:
src/gallium/include/pipe/p_context.h
src/mesa/state_tracker/st_atom_texture.c
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_drawpixels.c
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_context.c
src/mesa/state_tracker/st_context.h
src/mesa/state_tracker/st_texture.h

commit 90b4045fbc0a093fcd04efba7e045ec259c490b8
Author: Keith Whitwell <keithw@vmware.com>
Date: Sat Mar 13 14:52:43 2010 +0000

wip
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
22e6dc387039e79f6d1435ae8b7422a6514d5d10 18-Mar-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: added lp_rast_shader_inputs::facing and pass through

The triangle rasterizer sets this field to indicate front/back-facing.
It gets passed into the generated fragment code as another parameter.
Used now for stencil front/back selection but will also be used for
fragment shaders in general (see TGSI_SEMANTIC_FACE).

With this commit two-sided stenciling mostly works but there's
still a bug or two...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d219b8a022a6fdaa0106c6e160b594c359f85185 18-Mar-2010 Brian Paul <brianp@vmware.com> llvmpipe: defines for RAST_WHOLE, RAST_EDGE_TEST
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
521c61ff017ab15b829abbe9a98b179136a36009 18-Mar-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: simplify front/back stencil ref value handling

Instead of passing an array, just pass two scalar values.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a1e7aeecc25cedbd54e43afa72a1a2926ae51a32 18-Mar-2010 Brian Paul <brianp@vmware.com> llvmpipe: set opaque = FALSE if stencil enabled

Fixes occasional bad tiles seen in some demos like progs/demos/reflect.c
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9d48a621d2a0e55a76a2cfd0aea3b773e907ed50 18-Mar-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix crashes when there is no depth buffer bound.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
227824ac6999a8925b90f093b08a6284d33a7dad 17-Mar-2010 Brian Paul <brianp@vmware.com> llvmpipe: remove incorrect depth test check
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8dc8c3f5b11d5f158b0027d1501555c898e0451e 17-Mar-2010 Brian Paul <brianp@vmware.com> llvmpipe: silence some pointer/casting warnings
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d1c9e598838aeac3c8cb90afee00b2cc683be273 17-Mar-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: more asst changes for stencil testing
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
67b82fc395fc9972fc08233044057ab540c7ab59 16-Mar-2010 Brian Paul <brianp@vmware.com> gallivm/llmvpipe: pass stencil refs state into z/stencil build code
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8cdfd1219a2d13d252a8691ee6dddb0d773bdc77 16-Mar-2010 Keith Whitwell <keithw@vmware.com> Merge commit 'origin/master' into gallium-sampler-view

This branch already seems to have the nv50_tex.c fix.

Conflicts:
src/gallium/drivers/nv50/nv50_tex.c
185be3a87a5b38e8821a560c073975c11dcbd3e9 15-Mar-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: rename some constant building functions
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
47bfbd452c93e6a8db013fb90d9f42210cf24889 13-Mar-2010 Keith Whitwell <keithw@vmware.com> Merge commit 'origin/master' into gallium-sampler-view

Conflicts:
src/gallium/auxiliary/util/u_tile.c
src/gallium/auxiliary/util/u_tile.h
src/gallium/drivers/identity/id_context.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h
src/gallium/drivers/softpipe/sp_tex_tile_cache.c
src/gallium/include/pipe/p_context.h
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_drawpixels.c
272f399434ad6b33a8444c287c5126987a222864 11-Mar-2010 Brian Paul <brianp@vmware.com> llvmpipe: fix comment typo
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
489af2a3ba467e4341cb8504a0e59cf5828864d4 11-Mar-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: include os_llvm.h instead of llvm-c/Core.h
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3ce4375912c8ea488460e593e07c5bb15b92dca9 10-Mar-2010 Michal Krol <michal@vmware.com> Merge branch 'master' into gallium-sampler-view

Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/util/u_blitter.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i965/brw_context.h
src/gallium/drivers/llvmpipe/lp_context.h
src/gallium/drivers/nv50/nv50_context.h
src/gallium/drivers/nv50/nv50_state_validate.c
src/gallium/drivers/nv50/nv50_tex.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/softpipe/sp_context.h
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_pipe_sampler.c
4d5dd82558fcf1f6fcfdb95b225a4e3f842a9133 03-Mar-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Ensure context is flushed when destroying shaders.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
abdcdb3db73316c5ebca88bda04b90b6659782e8 14-Feb-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: s/debug_dump_/util_dump_/
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9189d04cdb55dd5d4d5d78d1a7edab30d4c25340 14-Feb-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Use util_format_name().
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
72fa4ef649621b93beab15a87682d696406fd326 09-Feb-2010 Michal Krol <michal@vmware.com> llvmpipe: Remove reference to prefilter field.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
85c7ec70ad41c8ada75a4cbace83d16815d3e2c5 09-Feb-2010 Zack Rusin <zackr@vmware.com> llvmpipe: switch to using dynamic stack allocation instead of registers

with mutable vars we don't need to follow the phi nodes. meaning that
control flow becomes trivial as we don't have scan the rest of the tgsi
to figure out the variable usage anymore. futhermore the memory2register
pass promotes alloca/store/load to registers while inserting the right phi
nodes. so we get simplicity and performance.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a8270c7c29b141025f606c811812304a72e42d2e 08-Feb-2010 Brian Paul <brianp@vmware.com> llvmpipe: use new os time functions
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c61bf363937f40624a5632745630d4f2b9907082 09-Feb-2010 Zack Rusin <zackr@vmware.com> llvmpipe: export the tgsi translation code to a common layer

the llvmpipe tgsi translation is a lot more complete than what was in
gallivm so replacing the latter with the former. this is needed since
the draw llvm paths will use the same code. effectively the proven
llvmpipe code becomes gallivm.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a1af8eec66c5f7ec421e8011b41c1a7c36319f9f 05-Feb-2010 José Fonseca <jfonseca@vmware.com> Merge remote branch 'origin/lp-binning'

Conflicts:
src/gallium/auxiliary/util/u_dl.c
src/gallium/auxiliary/util/u_time.h
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_surface.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_tile_cache.c
28486880ca3ec39419ccee0cb1a3bedc9ef7117c 02-Feb-2010 José Fonseca <jfonseca@vmware.com> gallium: pipe/p_inlines.h -> util/u_inlines.h
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
bee9964b29b2428ee75e2d1efc0e1d2c2518a417 31-Jan-2010 José Fonseca <jfonseca@vmware.com> Merge remote branch 'origin/master' into lp-binning

Conflicts:
Makefile
src/gallium/auxiliary/util/u_surface.c
src/gallium/drivers/llvmpipe/lp_flush.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/gallium/drivers/llvmpipe/lp_state_surface.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/llvmpipe/lp_tile_cache.c
src/mesa/state_tracker/st_cb_condrender.c
9b346f83a7b672e913a7bb6a089d5dbd7fbdce06 28-Jan-2010 Roland Scheidegger <sroland@vmware.com> Merge commit 'origin/perrtblend'

Conflicts:
src/gallium/drivers/softpipe/sp_screen.c
src/gallium/include/pipe/p_defines.h
9851644435f991a1a1bbb145333a97601627b37d 25-Jan-2010 Michal Krol <michal@vmware.com> gallium: Enable multiple constant buffers for vertex and geometry shaders.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
e95ad2a2b521514eaec04f9b266ee030ecc639a3 27-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: count/report time spent in LLVM compilations
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
cd8614b0287dc5a69725ec4ee0208fad61f7789e 22-Jan-2010 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_7_branch'

Conflicts:
src/gallium/auxiliary/draw/draw_context.c
src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
src/gallium/auxiliary/pipebuffer/Makefile
src/gallium/auxiliary/pipebuffer/SConscript
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/auxiliary/tgsi/tgsi_scan.c
src/gallium/drivers/i915/i915_surface.c
src/gallium/drivers/i915/i915_texture.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_tex_sample_c.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/softpipe/sp_prim_vbuf.c
src/gallium/state_trackers/xorg/xorg_dri2.c
src/gallium/winsys/drm/intel/gem/intel_drm_api.c
src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
src/gallium/winsys/drm/radeon/core/radeon_drm.c
src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c
src/mesa/state_tracker/st_cb_clear.c
4222bf3d3c7c85112f2e21bd3ea29b1f496ed8bb 21-Jan-2010 Vinson Lee <vlee@vmware.com> llvmpipe: Remove unnecessary headers.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4d2dc9da82fcb0464b88c273a606f16d0183a758 20-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: updated comment
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
04cb5dfb1e0968300204980b08748a140e5e7918 20-Jan-2010 Roland Scheidegger <sroland@vmware.com> llvmpipe: adapt to per-rendertarget blend changes
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9a23d810be02edf740ce58196435cd6cdfd903c9 19-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: tweak a comment
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
ba5d600c90f7075cf2c33a0c5c679ef822e8746e 17-Jan-2010 José Fonseca <jfonseca@vmware.com> Merge remote branch 'origin/master' into lp-binning

Conflicts:
src/gallium/drivers/llvmpipe/lp_quad.h
src/gallium/drivers/llvmpipe/lp_setup.c
2797f2bf57562c95a601a67edca3089641215cc4 15-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: generate two shader varients, one omits triangle in/out testing

When we know that a 4x4 pixel block is entirely inside of a triangle
use the jit function which omits the in/out test code.

Results in a few percent speedup in many tests.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3b1920a34903dfb753bc2a0461fef204d39846c6 15-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: asst code changes in lp_state_fs.c
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5e5d0ad08167c178fcda005862e3dbead3e8c482 15-Jan-2010 Roland Scheidegger <sroland@vmware.com> Merge branch 'gallium-noconstbuf'

Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
src/mesa/state_tracker/st_draw_feedback.c
4461442849bfdb817334b38567136f7f9dabdf59 15-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: implement scissor testing

The scissor test is implemented as another per-quad operation in
the JIT code. The four scissor box params are passed via the
lp_jit_context. In the JIT code we compare the quad's x/y coords
against the clip bounds and create a new in/out mask that's AND'd
with the main quad mask.

Note: we should also do scissor testing in the triangle setup code
to improve efficiency. That's not done yet.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4769328fe1ddaa1882dddbaad21239d5fdcddf19 13-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: comments
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
7df4c88088ecf34764c558b4f7fe7ef6c82327bb 13-Jan-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Opaque shader implies complete colormask too.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a1acbff299c444913418e65da473745cd901a2db 13-Jan-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Reset the bin when shading a whole tile with an opaque shader.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4061ca02dd837950201a9ada462f944ae25deeb5 12-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: silence unused var warnings
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5cf46309698dc53ee8c383b9510ee21a3d74015e 11-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: disable the all in/out test code for now

It's still faster not to try to special case the "all pixels are
known to be inside the triangle" case.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9a10d14a441ca76c5c9ea8986a2eb4b5923a9b9f 11-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: move, update comments
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3b5d84926847cf2008da4e2dc146090d0c1b5402 11-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: refactor generate_fragment() code

This will make it easier to generate multiple versions of the fragment
code per variant.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
46b5bd6cadd13f47c10aafe9194c90234db91a2a 11-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: do the all-in test on the scalar c0 instead of vector c0

This still isn't faster, but committing it for posterity.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
70c8d2a29724d018bacc4a68ddc61db08faea00d 11-Jan-2010 Roland Scheidegger <sroland@vmware.com> gallium: remove const qualifier from pipe_buffer argument in set_constant_buffer
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
86f450060debebd66dd5fb72f83800d7634efeaa 11-Jan-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: force constant interpolation of flatshade colors

Nice speedup for gears.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c1a04416023e24621e4992caf593e8dfe8d7a2fc 10-Jan-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: initial mrt support

Non-mrt apps work, and the code looks correct, but not many mrt test apps
handy atm...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
f4321fbd961a0a891c7f40b16efc61aa791e03a9 08-Jan-2010 Brian Paul <brianp@vmware.com> llvmpipe: optimize case when all four pixels are inside the triangle

When the incoming c0,c1,c2 values are equal to INT_MIN it means that
all pixels are inside the triangle. Thus we can skip the detailed
pixel inside/outside triangle tests. Use the new lp_build_if()/endif()
functions to generate the branching code.

The code is disabled ATM however because it's actually a little slower
than the original code. A little more tuning may fix that though...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
080c40ab32b2abd6d8381b4a0cc143d36a1652b2 08-Jan-2010 José Fonseca <jfonseca@vmware.com> Merge remote branch 'origin/master' into lp-binning

Conflicts:
src/gallium/auxiliary/util/u_surface.c
src/gallium/drivers/llvmpipe/Makefile
src/gallium/drivers/llvmpipe/SConscript
src/gallium/drivers/llvmpipe/lp_bld_arit.c
src/gallium/drivers/llvmpipe/lp_bld_flow.c
src/gallium/drivers/llvmpipe/lp_bld_interp.c
src/gallium/drivers/llvmpipe/lp_clear.c
src/gallium/drivers/llvmpipe/lp_context.c
src/gallium/drivers/llvmpipe/lp_context.h
src/gallium/drivers/llvmpipe/lp_draw_arrays.c
src/gallium/drivers/llvmpipe/lp_jit.c
src/gallium/drivers/llvmpipe/lp_jit.h
src/gallium/drivers/llvmpipe/lp_prim_vbuf.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup_point.c
src/gallium/drivers/llvmpipe/lp_state.h
src/gallium/drivers/llvmpipe/lp_state_blend.c
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/gallium/drivers/llvmpipe/lp_state_sampler.c
src/gallium/drivers/llvmpipe/lp_state_surface.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_tex_cache.h
src/gallium/drivers/llvmpipe/lp_tex_sample.h
src/gallium/drivers/llvmpipe/lp_tile_cache.c
7bd7e2da75bfee90037dcb34e55c5a338a952c1a 07-Jan-2010 José Fonseca <jfonseca@vmware.com> llvmpipe: Axe texture sampling code inherited from softpipe.

Was used only as a reference, since texture sampling is now code generated.
Already axed in the lp-binning branch too.

This fixes the llvmpipe build after recent sampling changes.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5ce0380a0f585b9e1fb616b749f7fd18a8afada1 06-Jan-2010 Keith Whitwell <keithw@vmware.com> llvmpipe: merge setup and draw vbuf submodules

The setup tiling engine is now plugged directly into the draw module
as a rendering backend.

Removed a couple of layering violations such that the setup code no
longer reaches out into the surrounding llvmpipe state or context.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4e014c0a148ba3ac015d0e83dcf975ca6e814e1f 06-Jan-2010 Michal Krol <michal@vmware.com> pipe_sampler_state::compare_mode is not a boolean enable flag.

It's a 1-bit enum.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
25024d948298a9f3f3210a0b91486f79a3917b0f 31-Dec-2009 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_7_branch'

Conflicts:
configs/darwin
src/gallium/auxiliary/util/u_clear.h
src/gallium/state_trackers/xorg/xorg_exa_tgsi.c
src/mesa/drivers/dri/i965/brw_draw_upload.c
31d1822473bf9d4105bb82b67572cfeea53aaf94 28-Dec-2009 Vinson Lee <vlee@vmware.com> llvmpipe: Silence compiler warnings.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
080703e398f737b71336312fd3dc8d6f38f61e51 26-Dec-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Treat state changes systematically.

That is:
- check for no op
- update/flush draw module
- update bound state and mark it as dirty

In particular flushing the draw module is important since it may contain
unflushed primitives which would otherwise be draw with wrong state.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
89d8577fb3036547ef0b47498cc8dc5c77f886e0 14-Dec-2009 Zack Rusin <zackr@vmware.com> gallium: add geometry shader support to gallium
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
1278507e3bf2e83c7027820a0d313de267a440ff 24-Dec-2009 Roland Scheidegger <sroland@vmware.com> gallium: adapt drivers to pipe_constant_buffer removal
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5771f3d483e882d9f5b6c5f3bdb3c39696623b66 17-Dec-2009 Brian Paul <brianp@vmware.com> llvmpipe: remove unused code, added comments, etc
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b9d33db0a4cb818154b713a27834f66025b14672 17-Dec-2009 Brian Paul <brianp@vmware.com> llvmpipe: improve the in/out test a little

Instead of:
s = c + step
m = s > 0
Do:
m = step > c (with negated c)
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
ab9438193083b7f9a3180cb9cea45e269131048a 17-Dec-2009 Brian Paul <brianp@vmware.com> llvmpipe: do final the pixel in/out triangle test in the fragment shader

The test to determine which of the pixels in a 2x2 quad is now done in
the fragment shader rather than in the calling C code. This is a little
faster but there's a few more things to do.

Note that the step[] array elements are in a different order now. Rather
than being in row-major order for the 4x4 grid, they're in "quad-major"
order. The setup of the step arrays is a little more complicated now.
So is the course/intermediate tile test code, but some lookup tables
help with that.

Next steps:
- early-cull 2x2 quads which are totally outside the triangle.
- skip the in/out test for fully contained quads
- make the in/out comparison code tighter/faster.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
2584c5bd253e53ba052356360a33b5ec976e9716 16-Dec-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: add LP_DEBUG env var

Cherry-picked from dec35d04aeb398eef159aaf8cde5e0d04622b811.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
1fb440beb9cccbe6f4bbd309792a89f6e1b4ee3f 10-Dec-2009 michal <michal@transistor.(none)> llvmpipe: Fix after sampler view changes.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
51410a254c96779990995a2183eb742968df09e6 03-Dec-2009 Brian Paul <brianp@vmware.com> llvmpipe: fix blend debug strings
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
866e6856d39efe9b1ec739587f420a640ad8618e 02-Dec-2009 Brian Paul <brianp@vmware.com> llvmpipe: execute shaders on 4x4 blocks instead of 8x2

This matches the convention used by the recursive rasterizer.
Also fixed assorted typos, comments, etc.
Now tri-z.c, gears.c, etc look basically right but there's still some
cracks in triangle rasterization.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4ae3e88dc9856f2f32c37dd04a3321765ed61e07 23-Nov-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Use assert instead of abort. Only verify functions on debug builds.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
2282fb7710d386bd10ccdd18f030069fae0a5d55 11-Nov-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Use the generic conversion routine for depths.

This allows for z32f depth format to work correctly.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
88e08d7c6de89279c737dbf5139492b39f96dc43 25-Oct-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Human friendlier sampler state dump.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5fcb75758c50bd10e8bd730e55bcbf73614eeb60 25-Oct-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Dump the sampler state of the shader key.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
85999695829823e459e11822b4846ed1db5c055d 09-Oct-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Get jit_context/jit_function across the rasterizer.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
dec35d04aeb398eef159aaf8cde5e0d04622b811 09-Oct-2009 Keith Whitwell <keithw@vmware.com> llvmpipe: add LP_DEBUG env var
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
d904ed88c1d957f662497343de7dc3e9fa743e47 09-Oct-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Pass state to setup.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c4d54b62f5491dbec9930563209639f8fb7dcf2e 09-Oct-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Eliminate constant mapping/unmapping.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
21489d2275ff556f6e44008d3f5493ca64619696 08-Oct-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Remove quad headers.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
69588d7ed59a019a5272a9cc391e30c47d006aee 09-Oct-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Eliminate constant mapping/unmapping.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4456006ba626890172289111403e469f49106e18 01-Oct-2009 Keith Whitwell <keithw@vmware.com> gallium: remove depth.occlusion_count flag

This was redundant as drivers can just keep track of whether they are
inside a begin/end query pair. We want to add more query types later
and also support nested queries, none of which map well onto a flag like
this. No driver appeared to be using the flag.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a02ecdf8c2fc5783a4bc82e8cd9d36f0dec7ccec 29-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: First verify LLVM IR, only then run optimizing passes.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b4835ea03d64261da5a892f9590c9977b06920e8 14-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Make lp_type a regular union.

Union not worth the hassle of violating C99 or adding a name to
the structure.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
6a405b4a21ac1fa45a93da37ce6b95d98d17f0e2 10-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix alpha test.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
4c3a48ad0cb36e6d8601535b91f83caed0d07570 10-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Mask out color channels not present in the color buffer.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c3c80c5c22f9ce7fabba90daa5d5142e5fb1c012 10-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Skip blending when mask is zero.

This increases quake3 timedemo fps another 10%.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8e6b925d2a963a2d5a403e106d7d25e3dcca0775 10-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Proper control flow builders.

New control flow helper functions which keep track of all variables
and generate the correct Phi functions.

This re-enables skipping the fs execution of quads masked out by
the rasterizer, early z testing, and kill opcode.

This yields a performance improvement of around 20%.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
cdbbcdf3bdb114d79cf7b9474436c3d26b135592 09-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Include zsbuf's format in the fragment shader key.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
e4c76c02f77ed6e86537b546f4200f8f8132d114 07-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Code generate the texture sampling inside the shader.

Finally a substantial performance improvement: framerates of apps using
texturing tripled, and furthermore, enabling/disabling texturing only
affects around 15% of the framerate, which means the bottleneck is now
somewhere else.

Generated texture sampling code is not complete though -- we always
sample from the base level -- so final figures will be different.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8be72bb7646d430e66cb36e09c13c13bee030d53 06-Sep-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Further abstract the texture sampling generation from TGSI translation.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c40eddd294abfe8af3619d08ccd7e9c8f1660fcb 25-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Isolate sampling from TGSI translation.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
8aa62cead71b4d06e49fccf02405c1ce649186fd 24-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Fix shader variant key construction.

Fixes the blank screen on non-64bit mode.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
f85c5f8621382ba1c8baa1582d87b46b388258d2 23-Aug-2009 José Fonseca <jfonseca@vmware.com> 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.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
03180dca7a3b5d57100158eb06d00419e55d9dc8 23-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Pre-declare fetch_texel.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
635c37e118bbf51fc8c93a2c999281ee817a93e1 23-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Pass the alpha ref value and blend color in the jit context.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c022e15d1e56ba3a9c6b74eef6556d6063e2e322 23-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Pass fragment context to generated function in a single structure.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
08dd41fd6899bd6b3289d30dc31f8b2998406889 23-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Centralize the C <-> JIT interfaces in one place.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
97b4681d7e1ccf40d1584436ade7c70fc1893e27 23-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Drop blend derived state.

Already included in the fragment shader.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5811ed87d732101ab8cfbd087bc99d8c6c963f30 22-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Add a bunch of comments.

Description/rationale/to-do items, while I still remember them...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3f36f4b0519f7a568d6de9919de1001880ab5c8a 22-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Split off vs stuff from lp_state_fs.c.

lp_state_fs.c is already too big without it.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
98971802798354cdba45c421cc340ec938143e03 22-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Generate the fragment pipeline into a single function.

Still hackish. Will document and optimize later.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
3d7a88674f9eb3320eeff511968f041426e25023 21-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Early depth testing.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6 21-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Code generate the depth test, and include in the shader.

Only 32bit depth/stencil surfaces supported for now. Stencil ops not
implemented yet.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c0472f9c34da78bccecb2c790b54b9dd9712a0b9 21-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Centralize mask update logic.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
9ae47069b4a2b67e381b02d805f1ca74f31ea7b8 19-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Code generate alpha testing and append to generated fragment shader.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
03b388e1c9b4ffbfe849477df2c98ddd8c7eac18 19-Aug-2009 Brian Paul <brianp@vmware.com> llvmpipe: frag shader comments
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
7c2dc3faa8e8ba99e29fcc09e7db39fc49d73200 19-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Code generate the position interpolation.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
39352b34438affc36ce22852bb55359d304a522c 19-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Put color/depth directly into the quad structure.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
5999ebfb69a47fa12d1f534871ea01a3f889f62f 18-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Debug helper function to name llvm intermediate values.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
7821664b15501b173b2304bbada758c33c5ff972 16-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Implement KIL.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
818d444e12bb57568fbf3bf5f06ee24c6c73a61a 16-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Disassemble generated x86 code.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
a7f9b915aeade96d8ca58d70a1f1d42cd6a16e3d 16-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Shader function arguments don't alias.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
b6f43b445b43188b10cb57e4cff0190ae2cee789 14-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Pass the interpolation factors as scalars.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
73af91e938eb27b001404f11195fb06ff9b08903 14-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Eliminate non-LLVM fs execution paths.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
c9a5930fe45a0a0299769bd2b672ca516d1bf39e 27-Jul-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Rename preprocessor symbols too.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c
946f432a08112148d743eb9faf6b27bb8cc7fa76 27-Jul-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Fork softpipe for experimentation with llvm.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_state_fs.c