9ae069dbbd6814fc86ad371e439b7750b938408a |
05-Dec-2012 |
Brian Paul <brianp@vmware.com> |
draw: set precalc_flat flag for AA lines too Fixes flat shading for AA lines. demos/src/trivial/line-smooth is a test case which hits this. Note: This is a candidate for the stable branches. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> (cherry picked from commit d2c7fe5389e40871a7e339dc0ecaa7f570f851ed)
raw_pipe_validate.c
|
4a0423e1bd2ba287f7c0599d1a9b80d9206f14cb |
16-Nov-2012 |
José Fonseca <jfonseca@vmware.com> |
draw: Properly limit vertex buffer fetches on draw arrays. We need to clamp vertex buffer fetch based on its size, not based on the user specified max index hint. This matches draw_pt_fetch_run() above. NOTE: This is a candidate for the stable branches. Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 7da3a947c72111dfb605781be6c0d61423b56e76)
raw_pt_fetch.c
|
de5e3774d04da66dbf85ca0705de38b7942943fe |
30-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
draw: fix assertion failure in draw_emit_vertex_attr This is a regression since b3921e1f53833420e0a0fd581f7417. The array stores VS outputs, not FS inputs. Now llvmpipe can do 32 varyings too. NOTE: This is a candidate for the stable branches. Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 183e122bdfe27f875c3c121964484dae9587c051)
raw_vertex.h
|
38d1191f4133dc427fccdbaec61bef33201c2dcc |
14-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
draw: fix non-indexed draw calls if there's an index buffer pipe_draw_info::indexed determines if it should be indexed and not the presence of an index buffer. This fixes crashes in r300g. NOTE: This is a candidate for the stable branches. Tested-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 2988fa940e1d8a4531fddff4d554eec1e6e04474)
raw_context.c
raw_private.h
raw_pt.c
|
3e3f99277df947a96029580dc4e66ae38a93f004 |
24-Aug-2012 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix regression in draw_set_sampler(_views). draw->samplers(_views) now has PIPE_SHADER_TYPES elements, instead of PIPE_MAX_SAMPLERS as before. Also, shader_stage must be less than PIPE_SHADER_TYPES to prevent buffer overflow. Trivial.
raw_context.c
|
0d308ef8feb081bedd12e01b270278e5f0de8e5a |
16-Aug-2012 |
Brian Paul <brianp@vmware.com> |
gallium/draw: move misplaced brace
raw_context.c
|
cab2fed135bc1edf7b65ddca3236020638427061 |
10-Aug-2012 |
Brian Paul <brianp@vmware.com> |
gallium: remove PIPE_MAX_VERTEX/GEOMETRY_SAMPLERS #define PIPE_MAX_SAMPLERS, PIPE_MAX_VERTEX_SAMPLERS and PIPE_MAX_GEOMETRY_SAMPLERS were all defined to the same value (16). In various places we're creating arrays such as sampler_views[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS] so we were assuming the same number of max samplers for all shader stages anyway. Of course, drivers are still free to advertise different numbers of max samplers for different shaders.
raw_llvm.c
raw_llvm.h
raw_llvm_sample.c
|
a2c1df4c9a7375bc5306e8cfd07a9f7087759a96 |
10-Aug-2012 |
Brian Paul <brianp@vmware.com> |
draw: index samplers and sampler_view state by shader type So that we can handle GS state and other types of shaders in the future.
raw_context.c
raw_llvm.c
raw_private.h
|
bef196c7929606bb8c7e9c06fe83a90fc0d95f09 |
10-Aug-2012 |
Brian Paul <brianp@vmware.com> |
draw: move tgsi-related state into a tgsi sub-struct To better organize things a bit.
raw_context.c
raw_gs.c
raw_private.h
raw_vs.c
raw_vs_exec.c
|
df87fb59136eb302d72eac4b58fd8ffb25989ed5 |
10-Aug-2012 |
Brian Paul <brianp@vmware.com> |
gallium: add a shader stage/type param to some draw functions To prepare for geometry shader texture support in the draw module. Note: we still only handle the vertex shader case.
raw_context.c
raw_context.h
|
5bce0b51755e465d6aa9077df2167018d2e5150c |
03-Aug-2012 |
Vinson Lee <vlee@freedesktop.org> |
draw: Ensure channel in convert_to_soa is initialized. Fixes uninitialized pointer read defect reported by Coverity. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_llvm.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>
raw_context.c
raw_context.h
raw_llvm.c
raw_llvm.h
raw_llvm_sample.c
raw_llvm_translate.c
raw_private.h
raw_pt_fetch_shade_pipeline_llvm.c
|
6dddd184803da5f67f69e7c243dbb596b4dd4b9d |
12-Jul-2012 |
José Fonseca <jfonseca@vmware.com> |
draw,gallivm: Fix draw_get_shader_param. - Use LLVM limits when LLVM is being used, instead of TGSI limits - Provide draw_get_shader_param_no_llvm for when llvm is never used (softpipe) - Eliminate several of the hacks around draw shader caps in several drivers Unfortunately the hack for PIPE_MAX_VERTEX_SAMPLERS is still necessary. Reviewed-by: Marek Olšák <maraeo@gmail.com>
raw_context.c
raw_context.h
|
b8068afafacc3071cacfbaf71f176a2943341382 |
21-Jun-2012 |
Olivier Galibert <galibert@pobox.com> |
draw: Handle the case when there isn't a fragment shader. Signed-off-by: Olivier Galibert <galibert@pobox.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
raw_pipe_clip.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>
raw_llvm.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>
raw_llvm.c
|
4625a9b1adf7a30c56e2bbeb41573fbba4465851 |
19-Jun-2012 |
Olivier Galibert <galibert@pobox.com> |
draw: fix flat shading and screen-space linear interpolation in clipper This includes: - picking up correctly which attributes are flatshaded and which are noperspective - copying the flatshaded attributes when needed, including the non-built-in ones - correctly interpolating the noperspective attributes in screen-space instead than in a 3d-correct fashion. Signed-off-by: Olivier Galibert <galibert@pobox.com> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_pipe_clip.c
|
e48d26bf4065ed682f5d7bf81c368554aecebf43 |
15-Jun-2012 |
José Fonseca <jfonseca@vmware.com> |
draw: Ensure that the vertex_header type size matches expectation. This is failing sometimes, probably because TargetData keeps a structure layout cache, which can becomes bogus, ever since the InvalidateStructLayoutInfo API was removed in LLVM r135245. This change merely makes the problem easier to diagnose (an assertion failure instead of a random crash).
raw_llvm.c
|
185ed2105829d6f5eb19edb9abbf0d7977e157c3 |
25-May-2012 |
Brian Paul <brianp@vmware.com> |
draw: simplify index buffer specification Replace draw_set_index_buffer() and draw_set_mapped_index_buffer() with draw_set_indexes() which simply takes a pointer and an index size.
raw_context.c
raw_context.h
raw_private.h
raw_pt.c
raw_pt_vsplit_tmp.h
|
1609efb4180659322557380550d17ed7adb8eae2 |
24-May-2012 |
Brian Paul <brianp@vmware.com> |
draw: fix primitive restart bug by using the index buffer offset The code which scans the index buffer for restart indexes wasn't adding the index buffer offset so we were always starting at offset=0. The offset is usually zero so it wasn't noticed before. Fixes a failure in the piglit primitive-restart test when testing vertex data + index data in a single VBO. NOTE: This is a candidate for the 8.0 branch.
raw_pt.c
|
5d10d757276a599a60a68b88b21087b5824a8df7 |
17-May-2012 |
Olivier Galibert <galibert@pobox.com> |
llvmpipe: Implement TXQ. Piglits test for fragment shaders pass, vertex shaders fail. The actual failure seems to be in the interpolators, and not the textureSize query. Signed-off-by: Olivier Galibert <galibert@pobox.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: José Fonseca <jose.r.fonseca@gmail.com>
raw_llvm_sample.c
|
9af1ba565dfd5cef9ee938bb7c04767d14878fbf |
16-May-2012 |
José Fonseca <jfonseca@vmware.com> |
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.
raw_llvm.c
|
685a28fd8a046e8dac02c2c26ab8b169de7a2a29 |
30-Mar-2012 |
Marek Olšák <maraeo@gmail.com> |
gallium/util: remove unused parameter nr_vertex_buffers in util_draw_max_index
raw_pt.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
|
1279923d72942ee201fcc6ad40d552143f651f03 |
30-Apr-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Move interpolation info from tgsi_declaration to a separate token. Move Interpolate, Centroid and CylindricalWrap from tgsi_declaration to a separate token -- they only make sense for FS inputs and we need room for other flags in the top-level declaration token.
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
4552fd50d959ab99546cfa994f8ba5bdf5d66bc7 |
24-Apr-2012 |
Marek Olšák <maraeo@gmail.com> |
gallium: add void *user_buffer in pipe_vertex_buffer This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code in that function which was required only to comply with the gallium interface, but wasn't any useful really. Adapted drivers: i915, llvmpipe, r300, softpipe. No changes required in: r600, radeonsi. User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
raw_llvm.c
|
7f16246acef4089570abca76a59580691ec6cf68 |
23-Mar-2012 |
Brian Paul <brianp@vmware.com> |
draw: fix missing immediates bug in polygon stipple code The function that counts the number of TGSI immediates also needs to emit the immediates. This fixes assorted failures when using polygon stipple with fragment shaders that have their own immediates. NOTE: This is a candidate for the 8.0 branch.
raw_pipe_pstipple.c
|
831de96db87ee1f16b60d3aff308a423fece3407 |
03-Mar-2012 |
Zack Rusin <zackr@vmware.com> |
svga: fix the rasterizer state resets draw module calls back into the driver and sets certain parts of the state to whatever it needs, unfortunately unless you get the ordering of calls to draw just right you'll end up reseting your own driver state. That's what was happening to us draw module would under certain conditions reset our own driver state. Reviewed-by: Brian Paul <brianp@vmware.com>
raw_context.h
|
ef3e26c2e43a000d5e5e6b673324b0ebdc918207 |
03-Mar-2012 |
Dave Airlie <airlied@redhat.com> |
draw/llvm: add clip distance support This add clipdistance support like the non-llvm draw paths, if we have a clip distance we compare with it instead of doing the dot4. We also have to put the have_clipvertex bit into the emitted vertex header. Fixes vs-clip-distance-all-planes-enabled, vs-clip-distance-const-reject, vs-clip-distance-enables, vs-clip-distance-implicitly-sized, vs-clip-distance-in-param, vs-clip-distance-uint-index. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_llvm.c
|
9c465a95ac612b346759d35fd58a9edbb79eef67 |
03-Mar-2012 |
Dave Airlie <airlied@redhat.com> |
draw/llvm: fix storing of clipvertex and positions into pre_clip_pos (v2) This fixes the rest of the piglit clipvertex tests. v2: fixup comments. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_llvm.c
|
cb4bcbcb1dbe2ad0046e695f771b56b4467e2c85 |
03-Mar-2012 |
Dave Airlie <airlied@redhat.com> |
draw/llvm: fix clipvertex setting up clipmask. (v2) We incorrectly setup clipmask for gl_ClipVertex, this fixes the clipmask setup. v2: fix comment Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com> fix comment
raw_llvm.c
|
c67a1f1d5366dc20cd07d9b677a335ff537da193 |
18-Feb-2012 |
Dave Airlie <airlied@redhat.com> |
draw: add missing streamout state setup for draw/llvm. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_vs_llvm.c
|
c89b471f8cd3da6c07eb437caabb2e648027f8bb |
04-Feb-2012 |
Dave Airlie <airlied@redhat.com> |
llvmpipe: fix fogcoord writing (v2) this fixes the fogcoord related piglit tests, like I fixed them in softpipe. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_llvm.c
|
8b4f7b0672d663273310fffa9490ad996f5b914a |
06-Feb-2012 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION Just let the hardware do it if it can and avoid drivers having to check for the special case on each draw call. v2: update the draw module
raw_context.c
raw_decompose_tmp.h
raw_gs_tmp.h
raw_private.h
raw_pt_decompose.h
raw_so_emit_tmp.h
|
fa2a76a21c8c513de506f2c5ec938c829cc65fdf |
28-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw: fix fog coord export. This does what we do in the hw drivers, and only export the X. fixes the fogcoord.dp* tests. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_vs_exec.c
|
edb19707951306447daef43c1ea3cacec5f211fb |
02-Feb-2012 |
José Fonseca <jfonseca@vmware.com> |
draw: Avoid NULL pointer dereference when binding NULL fragment shaders. Now that the draw module avoids flushing, it may flush precisely when binding a NULL shader, so care must be taken when restoring the original fragment shader. Reviewed-by: Brian Paul <brianp@vmware.com>
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
6b63e25b3d7a6ac0bd738c139ead0c7e7ad84368 |
14-Jan-2012 |
Tom Stellard <tstellar@gmail.com> |
gallium: Prefix #defines in tgsi_exec.h with TGSI_
raw_llvm.c
raw_vs_exec.c
|
743432039ccd4c4af03aa4ef274a7922f871bc38 |
15-Jan-2012 |
Vinson Lee <vlee@freedesktop.org> |
draw: Remove unused variables. Fix this GCC warning. draw_pipe_clip.c: In function ‘interp’: draw_pipe_clip.c:122:13: warning: variable ‘clip_dist’ set but not used [-Wunused-but-set-variable] Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Dave Airlie <airlied@redhat.com>
raw_pipe_clip.c
|
07635a4799b15a7575e1feb8859ecc7734850deb |
27-Jan-2012 |
José Fonseca <jfonseca@vmware.com> |
draw: Ensure that prepare is always run after LLVM garbagge collection. Should avoid dangling pointer derreference with glean --run results --overwrite --quick --tests texSwizzle NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <brianp@vmware.com>
raw_llvm.c
|
b6d3a435a0e0e53a9e8cc4c4249dc7c2f897a83d |
24-Jan-2011 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Only run prepare when state, prim and opt changes In bad applications like ipers which does a lot of draw calls with no state changes this helps to greatly reduce time spent in prepare. In ipers around 7% of CPU was spent in various prepare functions, after this commit no prepare function show on the profile. This commit also has the added benefit of now grouping all pipelined drawing into a single draw call if the driver uses vbuf_render. Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Tested-by: Stéphane Marchesin <marcheu@chromium.org>
raw_context.c
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_vsplit.c
|
eb65ccbc21670d16813b53e0f8d94cb4e037d39c |
05-Dec-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Don't revalidate pipeline on backend flushes Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Tested-by: Stéphane Marchesin <marcheu@chromium.org>
raw_pipe.c
|
4a79545bdfb9e948329a761ef350eb83a3d87496 |
05-Dec-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Remove reduced_prim Conflicts: src/gallium/auxiliary/draw/draw_context.c Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Tested-by: Stéphane Marchesin <marcheu@chromium.org>
raw_context.c
raw_private.h
raw_pt.c
|
2449695e822421fdcaf1c66dffc12d7d705ea69d |
17-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: improve the pipe_stream_output_info struct (v2) There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
raw_pt_so_emit.c
|
1306644a67ad90c39c55f76e9b4734d943b6b5cc |
11-Jan-2012 |
José Fonseca <jfonseca@vmware.com> |
draw: Store the new pre_clip_pos member as well. Again, not much testing nor peer review, but should be better than what's now.
raw_llvm.c
|
1865f341d8f45b389061fc08d2da90b7aa8a6099 |
06-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw: clipdistance support (v2) Add support for using the clipdistance instead of clip plane. Passes all piglit clipdistance tests. v2: fixup some comments from Brian in review. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_cliptest_tmp.h
raw_context.c
raw_pipe_clip.c
raw_private.h
raw_pt_post_vs.c
raw_vs.c
raw_vs.h
|
40c5987ed84f9f0b8bb1f707bb13c1aafc39330a |
04-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw/softpipe: add clip vertex support. (v2) softpipe always clipped using the position vector, however for unclipped vertices it stored the position in window coordinates, however when position and clipping are separated, we need to store the clip-space position and the clip-space vertex clip, so we can interpolate both separately. This means we have to take the clip space position and store it to use later. This allows softpipe to pass all the clip-vertex piglit tests. v2: fix llvm draw regression, the structure being passed into llvm needed updating, remove some hardcoded ints that should have been enums while there. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_cliptest_tmp.h
raw_context.c
raw_llvm.c
raw_llvm.h
raw_pipe_clip.c
raw_private.h
raw_pt_fetch.c
raw_vs.c
raw_vs.h
|
34a78b7ef6b0edf217acf221eab4b63542be5552 |
05-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
tgsi/softpipe: add VertexID support. This required changing the system value semantics, so we stored a system value per vertex, instance id is the only other system value we currently support, so I span it across the channels. This passes the 3 vertexid-* piglit tests + lots of instanceid tests. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_vs_exec.c
|
8597c986d739212024bcb663470b929095230a12 |
10-Jan-2012 |
Brian Paul <brianp@vmware.com> |
draw: remove unused 'so' variable in draw_pt_so_emit()
raw_pt_so_emit.c
|
54f6b64e7ec905bad9e6ab0b7fc9e035c48030aa |
09-Jan-2012 |
Jakob Bornecrantz <jakob@vmware.com> |
draw: Silence warning This peice of code has been here since the inital commit (c5c5cd71) and the code that used instance_id_index was removed in (caede752) by José. Signed-off-by: Jakob Bornecrantz <jakob@vmware.com> Reviewed-by Brian Paul <brianp@vmware.com>
raw_pt_fetch_shade_pipeline_llvm.c
|
ec8cbd79ac4065111365a6720c9564de56855cc8 |
04-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw/softpipe: EXT_transform_feedback support (v2) This replaces the current code with an implementation compatible with the new gallium interface. I've left some of the remains of the interface intact so llvmpipe keeps building correctly, and I'll take a look at fixing llvmpipe up later. v2: fixup as per Brian's review Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_context.c
raw_context.h
raw_private.h
raw_pt_so_emit.c
raw_vbuf.h
raw_vs_exec.c
|
dc4c821f0817a3db716f965692fb701079f66340 |
10-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
Squash-merge branch 'gallium-clip-state' Conflicts: src/gallium/auxiliary/tgsi/tgsi_strings.c src/mesa/state_tracker/st_atom_clip.c commit d919791f2742e913173d6b335128e7d4c63c0840 Author: Christoph Bumiller <e0425955@student.tuwien.ac.at> Date: Fri Jan 6 17:59:22 2012 +0100 d3d1x: adapt to new clip state commit cfec82bca3fefcdefafca3f4555285ec1d1ae421 Author: Christoph Bumiller <e0425955@student.tuwien.ac.at> Date: Fri Jan 6 14:16:51 2012 +0100 gallium/docs: update for clip state changes commit c02bfeb81ad9f62041a2285ea6373bbbd602912a Author: Christoph Bumiller <e0425955@student.tuwien.ac.at> Date: Fri Jan 6 14:21:43 2012 +0100 tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS commit d4e0a785a6a23ad2f6819fd72e236acb9750028d Author: Brian Paul <brianp@vmware.com> Date: Thu Jan 5 08:30:00 2012 -0700 tgsi: consolidate TGSI string arrays in new tgsi_strings.h There was some duplication between the tgsi_dump.c and tgsi_text.c files. Also use some static assertions to help catch errors when adding new TGSI values. v2: put strings in tgsi_strings.c file instead of the .h file. Reviewed-by: Dave Airlie <airlied@redhat.com> commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd Author: Christoph Bumiller <e0425955@student.tuwien.ac.at> Date: Fri Jan 6 12:48:09 2012 +0100 gallium: extend user_clip_plane_enable to apply to clip distances commit f1d5016c07f786229ed057effbe55fbfd160b019 Author: Marek Olšák <maraeo@gmail.com> Date: Fri Jan 6 02:39:09 2012 +0100 nvfx: adapt to new clip state commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24 Author: Marek Olšák <maraeo@gmail.com> Date: Fri Jan 6 01:41:39 2012 +0100 st/mesa: fix DrawPixels with GL_DEPTH_CLAMP commit c86ad730aa1c017788ae88a55f54071bf222be12 Author: Christoph Bumiller <e0425955@student.tuwien.ac.at> Date: Tue Jan 3 23:51:30 2012 +0100 nv50: adapt to new clip state commit 3a8ae6ac243bae5970729dc4057fe02d992543dc Author: Christoph Bumiller <e0425955@student.tuwien.ac.at> Date: Tue Jan 3 23:32:36 2012 +0100 nvc0: adapt to new clip state commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11 Author: Marek Olšák <maraeo@gmail.com> Date: Thu Dec 29 01:32:51 2011 +0100 draw: initalize pt.user.planes in draw_init This fixes a crash in glean/fpexceptions. commit e3056524b19b56d473f4faff84ffa0eb41497408 Author: Marek Olšák <maraeo@gmail.com> Date: Mon Dec 26 06:26:55 2011 +0100 svga: adapt to new clip state commit c5bfa8b37d6d489271df457229081d6bbb51b4b7 Author: Marek Olšák <maraeo@gmail.com> Date: Sun Dec 25 14:11:51 2011 +0100 r600g: adapt to new clip state commit f11890905362f62627c4a28a8255b76eb7de7df2 Author: Marek Olšák <maraeo@gmail.com> Date: Sun Dec 25 14:10:26 2011 +0100 r300g: adapt to new clip state commit e37465327c79a01112f15f6278d9accc5bf3103f Author: Marek Olšák <maraeo@gmail.com> Date: Sun Dec 25 12:39:16 2011 +0100 draw: adapt to new clip state This adds a regression in the LLVM clipping path. Can anybody see anything wrong with the code? It works for every other case, just glean/fpexceptions crashes when doing the "Infinite clip plane test". commit b474d2b18c72d965eefae4e427c269cba5ce6ba2 Author: Marek Olšák <maraeo@gmail.com> Date: Sun Dec 25 13:14:59 2011 +0100 u_blitter: don't save/set/restore clip state commit 9dd240ea91f523a677af45e8d0adb9e661e28602 Author: Marek Olšák <maraeo@gmail.com> Date: Sun Dec 25 13:11:56 2011 +0100 gallium: don't cso_save/set/restore clip state The enable bits are in the rasterizer state. commit a4f7031179f5f4ad524b34b394214b984ac950f6 Author: Marek Olšák <maraeo@gmail.com> Date: Sun Dec 25 12:58:55 2011 +0100 gallium: default depth_clip to 1 depth_clip = !depth_clamp commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3 Author: Marek Olšák <maraeo@gmail.com> Date: Mon Dec 26 06:14:19 2011 +0100 trace,util: update state logging to new clip state Also dump the other missing flags. commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23 Author: Marek Olšák <maraeo@gmail.com> Date: Sun Dec 25 10:43:43 2011 +0100 st/mesa: adapt to new clip state commit b7b656a42fca19d7c85267f42649a206a85a2c72 Author: Marek Olšák <maraeo@gmail.com> Date: Sat Dec 17 15:45:19 2011 +0100 gallium: move state enable bits from clip_state to rasterizer_state
raw_cliptest_tmp.h
raw_context.c
raw_llvm.c
raw_llvm.h
raw_private.h
|
f4863f3923152448e27ea68d0cd04411bbe3f4c7 |
09-Jan-2012 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Fail if we fail to enable llvm when asked for it The r300 driver requires LLVM when building and other drivers that depend on it for all TNL, like i915g will be a lot slower without it. Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_context.c
|
3e22c7a25321554a32fa6254485912fd53deff3a |
09-Jan-2012 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Make it possible to create a llvm free context Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_context.c
raw_context.h
|
f0f623a9075107461438468e1aea6bca3a3234f3 |
07-Jan-2012 |
Brian Paul <brianp@vmware.com> |
draw: replace assert(0) with debug_warn_once() If the assertion was hit, it probably meant that we were unable to allocate or map a vertex buffer. Instead of dying in a debug build, issue a warning and continue.
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
994c33db875c6af2f5b535a7a173ff3bfa24fc32 |
07-Jan-2012 |
Brian Paul <brianp@vmware.com> |
draw: whitespace fixes, etc.
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
488dd2c1912132fe7ee5e81b05fb64ba62a46098 |
07-Jan-2012 |
Brian Paul <brianp@vmware.com> |
gallium: make vbuf_render::set_primitive() return void All the implementations of this function always return TRUE.
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_vbuf.h
|
784026139cc15db384bed858e7be943b79772aa4 |
07-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw: fix missing include for u_format. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_pt_fetch.c
|
17707d89f438d7f52a3918f9b351e1419314cb17 |
06-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw: don't translate non-floats to float. translate signed/unsigned integers to coresponding uint/sint r32g32b32a32 types. This fixes a bunch of piglit tests. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_pt_fetch.c
|
293a3916bd0dfa4fb8850e58f81743bfab0f89dc |
02-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw: fix piglit base vertex + user vertex array tests This fixes draw-elements-base-vertex user_varrays draw-elements-instanced-base-vertex user_varrays for softpipe with no llvm support (DRAW_USE_LLVM=false) I'm not sure if this is the correct answer, but these tests were showing a max_index of 7, then trying to fetch up to 43, maybe it should be fixing max_index earlier somewhere to take care of this. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_pt_fetch.c
|
f4ab1783b390cd8ff7f4b1e7ba9fc15893e2d69c |
19-Dec-2011 |
Dave Airlie <airlied@redhat.com> |
gallium/draw: fix two side handling The code didn't handle the case where front wasn't specified in the vertex shader outputs, but back was. In that case we were doing a copy from back to non-existant front, this code checks we have existant front/backs and only does the copy when they both exist. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_pipe_twoside.c
|
861a029ddb31e91bb4d8e18ab708d0d172f63aad |
15-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: interface changes necessary to implement transform feedback (v5) Namely: - EXT_transform_feedback - ARB_transform_feedback2 - ARB_transform_feedback_instanced The old interface was not useful for OpenGL and had to be reworked. This interface was originally designed for OpenGL, but additional changes have been made in order to make st/d3d1x support easier. The most notable change is the stream-out info must be linked with a vertex or geometry shader and cannot be set independently. This is due to limitations of existing hardware (special shader instructions must be used to write into stream-out buffers), and it's also how OpenGL works (stream outputs must be specified prior to linking shaders). Other than that, each stream output buffer has a "view" into it that internally maintains the number of bytes which have been written into it. (one buffer can be bound in several different transform feedback objects in OpenGL, so we must be able to have several views around) The set_stream_output_targets function contains a parameter saying whether new data should be appended or not. Also, the view can optionally be used to provide the vertex count for draw_vbo. Note that the count is supposed to be stored in device memory and the CPU never gets to know its value. OpenGL way | Gallium way ------------------------------------ BeginTF = set_so_targets(append_bitmask = 0) PauseTF = set_so_targets(num_targets = 0) ResumeTF = set_so_targets(append_bitmask = ~0) EndTF = set_so_targets(num_targets = 0) DrawTF = use pipe_draw_info::count_from_stream_output v2: * removed the reset_stream_output_targets function * added a parameter append_bitmask to set_stream_output_targets, each bit specifies whether new data should be appended to each buffer or not. v3: * added PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME for ARB_tfb2, note that the draw-auto subset is always required (for d3d10), only the pause/resume functionality is limited if the CAP is not advertised v4: * update gallium/docs v5: * compactified struct pipe_stream_output_info, updated dump/trace
raw_context.c
raw_context.h
raw_private.h
raw_pt_so_emit.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>
raw_pt_fetch_shade_pipeline_llvm.c
|
438d7ac146dc89d1c2943610c662c57e11a47382 |
12-Nov-2011 |
Brian Paul <brianp@vmware.com> |
util/draw: replace assertions with conditionals in util_draw_max_index() Don't assert/die if a VBO is too small. Return zero instead. For debug builds, emit a warning message since this is an unusual situation that might indicate that there's a bug in the app. Note that util_draw_max_index() now returns max_index+1 instead of max_index. This lets us return zero to indicate that one of the VBOs is too small to draw anything. Fixes a failure with the new piglit vbo-too-small test. Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw_pt.c
|
9e29cdbe95810de8658dfd1cabf1a7d87264c2f7 |
09-Nov-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Handle failure to allocate aligned_constant_storage. Also, actually update const_storage_size, therefore avoiding to unnecessarily reallocate aligned_constant_storage every single time draw_vs_set_constants() is called. Reviewed-by: Brian Paul <brianp@vmware.com>
raw_vs.c
|
aa661306828b8c76c1511f05e0fae577f06477b8 |
10-Nov-2011 |
Brian Paul <brianp@vmware.com> |
draw: handle out of memory conditions If the vbuf backend fails to allocate a vertex buffer, don't crash or assert.
raw_pipe_vbuf.c
|
1462114475709c9460a3cb0c58ae684c5843f5cd |
10-Nov-2011 |
Brian Paul <brianp@vmware.com> |
draw/llvm: silence uninitialized variable warnings
raw_llvm.c
|
4eb3225b38ce12cb34ab3d90804c9683bd7b4ed3 |
08-Nov-2011 |
José Fonseca <jose.r.fonseca@gmail.com> |
Remove tgsi_sse2. tgsi_exec is simple. llvm is fast. tgsi_sse2 ends up being neither.
raw_private.h
raw_vs.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
raw_vs_aos_machine.c
raw_vs_ppc.c
raw_vs_sse.c
|
e814d577253d3b618cc40e36f9d50b42fe61d6ed |
03-Nov-2011 |
Brian Paul <brianp@vmware.com> |
draw: assert that we have non-null fragment shader Instead of just segfaulting. Recently ran into this.
raw_pipe_pstipple.c
raw_pipe_wide_point.c
|
11938c87a3e5a5b0a16b22f1913567a64015a92d |
11-Oct-2011 |
Brian Paul <brianp@vmware.com> |
draw/llvm: set draw->pt.user.planes field in draw_set_clip_state() Previously it was getting set in draw_set_mapped_constant_buffer() but if there were no shader constants, that function wasn't called. So the pt.user.planes field was null and we died when we tried to access the clip planes in the LLVM-generated code. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41663 Note: This is a candidate for the 7.11 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw_context.c
|
e6c237cfd6f53ff569f68255d5d6da15148cd0f5 |
11-Oct-2011 |
Brian Paul <brianp@vmware.com> |
draw/llvm: fix hard-coded number of total clip planes Instead of 12 use DRAW_TOTAL_CLIP_PLANES. The max number of user-defined clip planes was increased to 8 so the total number of planes is 14. This doesn't fix any specific bug, but clearly the old code was wrong. Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw_context.c
raw_llvm.c
raw_llvm.h
raw_private.h
raw_pt_fetch_shade_pipeline_llvm.c
|
16f8308c3df020a786908be065d3dcb90c8ca2a5 |
24-Sep-2011 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
gallium: add polygon offset clamp state This is required for D3D1x and supported by hardware.
raw_pipe_offset.c
|
9f61e43b4903c6cf0ac03a479ec9ed7b15fd6ccf |
27-Sep-2011 |
Dave Airlie <airlied@redhat.com> |
gallium: move border color to be a color union EXT_texture_integer also specifies border color should be a color union, the values are used according to the texture sampler format. (update docs) Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
raw_llvm.c
|
102bf6e2a70f565f03d5e9c4995b29d61c0aa165 |
23-Sep-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Never allocate duplicate extra vertex attribs. Prevents mismatches when the VS outputs generic attributes not used by the FS. Reviewed-by: Brian Paul <brianp@vmware.com>
raw_context.c
raw_context.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_wide_point.c
|
fc31f9a3f255c5565ce2a3e9c73415bc17199e28 |
23-Sep-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Make copy of the TGSI tokens. There is no guarantee that the tokens TGSI will persist beyond the create_fs_state. The pipe driver (and therefore the draw module) is responsible for making copies of the TGSI tokens when it needs them. Reviewed-by: Brian Paul <brianp@vmware.com>
raw_pipe_aaline.c
raw_pipe_aapoint.c
|
ddfdea88d86bc9016dd51730b855ff6a9a53a4f3 |
22-Sep-2011 |
Brian Paul <brianp@vmware.com> |
draw/llvm: add additional null pointer checkin draw_pt_fetch_pipeline_or_emit_llvm()
raw_pt_fetch_shade_pipeline_llvm.c
|
4465efc3bf8d755a9afb7a4bb5382e2f5bf113e1 |
21-Sep-2011 |
Brian Paul <brianp@vmware.com> |
draw: add support for guard-band clipping
raw_cliptest_tmp.h
raw_context.c
raw_context.h
raw_private.h
raw_pt.h
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_post_vs.c
|
a5c0fb51c6b1d5f7e6ea8f089da921719ad1b6c4 |
14-Jul-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Reduce the number of vertex shader variants per context to 128.
raw_private.h
|
3c56280d330f50025fc948041f1413af55c50581 |
07-Mar-2011 |
Kurt Daverman <krd@vmware.com> |
draw: Respect max_indices from the renderer.
raw_pipe_vbuf.c
|
bc0037083235ea149d8a2708bd1a5d2559f07dc7 |
08-Sep-2011 |
Paul Berry <stereotype441@gmail.com> |
Gallium: remove unnecessary ifdef for MAX_CLIPPED_VERTICES. draw_pipe_clip.c contained an ifdef to ensure that its local definition of MAX_CLIPPED_VERTICES would not take effect if the global MAX_CLIPPED_VERTICES (defined in src/mesa/main/config.h) was already defined. This was unnecessary because draw_pipe_clip.c doesn't directly or indirectly include src/mesa/main/config.h. Removed the ifdef to reduce confusion. Reviewed-by: Brian Paul <brianp@vmware.com>
raw_pipe_clip.c
|
aa77df135571978bcda5a3254f67ca7e307b1960 |
10-Sep-2011 |
Brian Paul <brianp@vmware.com> |
draw/llvm: combine draw_llvm_generate() and draw_llvm_generate_elts() These two functions were nearly the same with lots of duplicated code. Now pass in a boolean 'elts' flag and use a few conditionals to implement the linear vs. indexed cases. Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw_llvm.c
|
3143e95353072523ff5d9c977a474a87fe3cbe57 |
16-Jul-2011 |
Tobias Droste <tdroste@gmx.de> |
llvmpipe: fix build with LLVM 3.0svn LLVM 3.0svn introduced a new type system. It defines a new way to create named structs and removes the (now not needed) LLVMInvalidateStructLayout function. See revision 134829 of LLVM. Signed-off-by: Tobias Droste <tdroste@gmx.de> Signed-off-by: Brian Paul <brianp@vmware.com>
raw_llvm.c
|
f67de2ed468ecbd09085746130a27bd2c2da911d |
04-Jul-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix fetch_max calculation. It should be max_index = start + count - 1 instead of max_index = count - 1
raw_llvm.c
|
7d39ff44a2256a08fac725ae0ee8a4475fbf9de5 |
30-Jun-2011 |
Micael Dias <kam1kaz3@gmail.com> |
Gallium: fix buffer overflow Signed-off-by: José Fonseca <jfonseca@vmware.com>
raw_llvm.c
|
5349b95920c82ab9187fe965f3921bd564fe6524 |
29-Jun-2011 |
Stéphane Marchesin <marcheu@chromium.org> |
Gallium:draw:aaline and aapoint: Restore the old hooks when we destroy our stage.
raw_pipe_aaline.c
raw_pipe_aapoint.c
|
f6572017b94a137a4102342ebf6cd20dedc90271 |
08-Jun-2011 |
Brian Paul <brianp@vmware.com> |
draw: fix edge flag handling in clipper (for unfilled tris/quads/polygons) Previously, we were errantly drawing some interior edges of clipped polygons and quads. Also, we were introducing extra edges where polygons intersected the view frustum clip planes. The main problem was that we were ignoring the edgeflags encoded in the primitive header's 'flags' field which are set during polygon/quad ->tri decomposition. We need to observe those during clipping. Since we can't modify the existing vert's edgeflag fields, we need to store them in a parallel array. Edge flags also need to be handled differently for view frustum planes vs. user-defined clip planes. In the former case we don't want to draw new clip edges but in the later case we do. This matches NVIDIA's behaviour and it just looks right. Finally, note that the LLVM draw code does not properly set vertex edge flags. It's OK on the regular software path though.
raw_pipe_clip.c
|
b3e75a61eed372cde15b56dcd51c251c129a22c8 |
07-Jun-2011 |
Brian Paul <brianp@vmware.com> |
draw: rename draw_vs_varient.c to draw_vs_variant.c
raw_vs_variant.c
raw_vs_varient.c
|
47f3d5d42d107b79c94b0713354c93b484c4c813 |
07-Jun-2011 |
Brian Paul <brianp@vmware.com> |
draw/llvm: whitespace, formatting fixes
raw_llvm.c
|
57f2f84f0e2a06313d30b3d9341229f6643683a1 |
06-Jun-2011 |
Brian Paul <brianp@vmware.com> |
draw: s/1/TRUE/
raw_context.c
|
5829332a9b814c5922f45b570c83565f8d35752d |
03-May-2011 |
Michel Dänzer <daenzer@vmware.com> |
gallium/draw: Fix enum type taken by draw_get_shader_param(). Pointed out by clang: src/gallium/auxiliary/draw/draw_context.h:251:41: warning: implicit conversion from enumeration type 'enum pipe_cap' to different enumeration type 'enum pipe_shader_cap' [-Wconversion] return tgsi_exec_get_shader_param(param); ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~
raw_context.h
|
cacdc42e36d27d49b6deb0f1ea57f564ad31c88f |
01-May-2011 |
Marek Olšák <maraeo@gmail.com> |
draw: remove set-but-unused variable
raw_vertex.c
|
931432fea69c29b4029ff23613468c8ad2c0181e |
22-Apr-2011 |
Brian Paul <brianp@vmware.com> |
draw: fix point/line/tri flushing bug in vbuf code Need to reset the point/line/tri functions to point to the "first" versions whenever we flush vertices. Fixes unfilled polygon rendering errors seen in demos/samples/logo.c. See comments for more info. NOTE: This is a candidate for the 7.10 branch.
raw_pipe_vbuf.c
|
08070cead0bb79d4441d8c5b900d1571bb63c670 |
31-Mar-2011 |
Fabian Bieler <der.fabe@gmx.net> |
llvmpipe: Take the sampler view's first_level into account when sampling.
raw_context.c
raw_context.h
raw_llvm.c
raw_llvm.h
raw_llvm_sample.c
|
dcbc9be38ecea30506198d0db037cbf532f070e4 |
05-Apr-2011 |
José Fonseca <jose.r.fonseca@gmail.com> |
draw: Fix thinko in debug warnings.
raw_pt_vsplit_tmp.h
|
3733da31e8b4405b65e1b6ca3b6599ecc5af5fe7 |
31-Mar-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Prevent out-of-bounds vertex buffer access. Based on some code and ideas from Keith Whitwell.
raw_private.h
raw_pt.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_vsplit.c
raw_pt_vsplit_tmp.h
|
3dedd39cdd198afa54ba5b53384d6be2040f9485 |
31-Mar-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Revert code reorg in previous change. Because fetch_count = max_index - min_index + 1 overflows for min_index = 0 and max_index = 0xffffffff. Fixes fdo 35815.
raw_pt_vsplit_tmp.h
|
5f996e2b1d09dad64c088ccabb1a4a53ebfb8102 |
16-Feb-2011 |
Luca Barbieri <luca@luca-barbieri.com> |
draw: implement vertex color clamping, and disable SSE and PPC paths (some little changes by Marek Olšák) Squashed commit of the following: commit 737c0c6b7d591ac0fc969a7590e1691eeef0ce5e Author: Luca Barbieri <luca@luca-barbieri.com> Date: Fri Aug 27 02:13:57 2010 +0200 draw: disable SSE and PPC paths (use LLVM instead) These paths don't support vertex clamping, and are anyway obsoleted by LLVM. If you want to re-enable them, add vertex clamping and test that it works with the ARB_color_buffer_float piglit tests. commit fed3486a7ca0683b403913604a26ee49a3ef48c7 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Thu Aug 26 18:27:38 2010 +0200 draw_llvm: respect vertex color clamp commit ef0efe9f3d1d0f9b40ebab78940491d2154277a9 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Thu Aug 26 18:26:43 2010 +0200 draw: respect vertex clamping in interpreter path
raw_llvm.c
raw_llvm.h
raw_vs.c
raw_vs_exec.c
|
dcad6fb670ccc533167d1ae360833989c1eb4823 |
30-Mar-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Forgot to remove one istart usage.
raw_pt_vsplit_tmp.h
|
713230ff39cd22a2082c12b937889c3ef81973ac |
29-Mar-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix bug when drawing ushort indices. When the condition min_index == 0 && sizeof(ib[0]) == sizeof(draw_elts[0]) was true, we were wrongly ignoring istart and processing indices 0. Reorder some statements to make the code easier to understand.
raw_pt_vsplit_tmp.h
|
b79b05e17e197a7cdc523deff8f7ea456a91e8d0 |
12-Mar-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix draw_variant_output::format's type.
raw_vs.h
raw_vs_aos_io.c
|
8a01cb8793485ea3bded1cc881189a0114270612 |
08-Mar-2011 |
Marek Olšák <maraeo@gmail.com> |
draw: remove unnecessary flush
raw_pipe_pstipple.c
|
4a4f6a390160d8c535e0a7ae96a203a99971f3c0 |
04-Mar-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Silence tgsi_emit_sse2 failed messages.
raw_vs_sse.c
|
e6f3e24330926b2ea04c39b5a60b9a20123e5bd4 |
01-Mar-2011 |
Brian Paul <brianp@vmware.com> |
draw: setup pipe's draw pointer for the aapoint stage The other draw stages like aaline and pstipple were already doing this. If the driver used the aapoint stage but not the others it would crash because of a null pipe->draw pointer.
raw_pipe_aapoint.c
|
1fa97ddb25c008c9edd0a137198eb89c3650d6fa |
17-Feb-2011 |
Brian Paul <brianp@vmware.com> |
draw: update comments, rename vars in pstipple code
raw_pipe_pstipple.c
|
cdca3c58aa2d9549f5188910e2a77b438516714f |
10-Jan-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: remove pipe_vertex_buffer::max_index This is redundant to pipe_draw_info::max_index and doesn't really fit in the optimizations I plan.
raw_llvm.c
raw_llvm.h
raw_pt.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
07eb660fc92b63213b542d47671b0d944286b77a |
14-Feb-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Don't define the last two mipmap levels in aa lines. Some hardware needs to make a seperate copy of all levels to obey max_lod, so simply do not define the last two levels instead of clamping.
raw_pipe_aaline.c
|
413511f7967260c61085a4fa61bebdcc385cf7ca |
09-Feb-2011 |
Brian Paul <brianp@vmware.com> |
draw: tweak AA line texture minimum alpha AA lines drawn as textured quads look a little better with this change. Conformance/piglit tests still pass.
raw_pipe_aaline.c
|
4586e6c8cb5b391536a370faa0c419c3fd541693 |
11-Feb-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Don't use the pipeline when drawing lines with fractional widths. Spotted by Jakob Bornecrantz.
raw_context.c
raw_pipe.c
raw_pipe_validate.c
|
92badb4c8c6f603ff823d4aeb87c27582648ba6d |
24-Jan-2011 |
José Fonseca <jfonseca@vmware.com> |
draw: Do not use LLVM's opaque types. Contrary what the name may suggest, LLVM's opaque types are used for recursive types -- types whose definition refers itself -- so opaque types correspond to pre-declaring a structure in C. E.g.: struct node; struct link { .... struct node *next; }; struct node { struct link link; } Void pointers are also disallowed by LLVM. So the suggested way of creating what's commonly referred as "opaque pointers" is using byte pointer (i.e., uint8_t * ).
raw_llvm.c
|
4c73030d47f39441d718157f7d9a59c136bbfac0 |
23-Jan-2011 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Init llvm if not provided
raw_context.c
raw_private.h
|
5700bc6bac8a1a7f8a82f667e561745804317bb8 |
16-Jan-2011 |
Brian Paul <brianp@vmware.com> |
draw: add missing LP_CHECK_MEMBER_OFFSET()
raw_llvm.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
|
abbb1c8f084c6739bc9d6f559caf26f3f71b2fab |
13-Jan-2011 |
Chia-I Wu <olv@lunarg.com> |
draw: Fix an off-by-one bug in a vsplit assertion. When use_spoken is true, istart (the first vertex of this segment) is replaced by i0 (the spoken vertex of the fan). There are still icount vertices. Thanks to Brian Paul for spotting this.
raw_pt_vsplit_tmp.h
|
3c9aa3a7b12cfe178c14fea93cfb64a32db0b8ad |
26-Dec-2010 |
Marek Olšák <maraeo@gmail.com> |
gallium: drivers should reference vertex buffers So that a state tracker can unreference them after set_vertex_buffers.
raw_context.c
|
b7e150605d402224cdd8fa3d186924bdee3c6c49 |
16-Dec-2010 |
Brian Paul <brianp@vmware.com> |
draw: s/varient/variant/
raw_pt_fetch_shade_emit.c
raw_vs.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_ppc.c
raw_vs_sse.c
raw_vs_varient.c
|
becc4bb90c46f754018ac596460e6c6a650d399c |
10-Dec-2010 |
Brian Paul <brianp@vmware.com> |
draw/llvm: don't flush in vs_llvm_delete() Fixes piglit glx-shader-sharing crash. When shaders are shared by multiple contexts, the shader's draw context pointer may point to a previously destroyed context. Dereferencing the context pointer will lead to a crash. In this case, simply removing the flushing code avoids the crash (the exec and sse shader paths don't flush here either). There's a deeper issue here, however, that needs examination. Shaders should not keep pointers to contexts since contexts might get destroyed at any time. NOTE: This is a candidate for the 7.10 branch (after this has been tested for a while).
raw_vs_llvm.c
|
70ca06445445060c75b55b6c5531973b7b2a1bf0 |
10-Dec-2010 |
Brian Paul <brianp@vmware.com> |
draw/llvm: remove redundant comment
raw_llvm.h
|
bd995cf6c053075833b53fae29773b15d948462e |
10-Dec-2010 |
Brian Paul <brianp@vmware.com> |
draw/llvm: remove extraneous conditional
raw_llvm.c
|
1d6f3543a063ab9e740fd0c149dcce26c282d773 |
09-Dec-2010 |
Brian Paul <brianp@vmware.com> |
gallivm/llvmpipe: implement system values and instanceID
raw_llvm.c
|
2d62fb6c3f7dd7261513253767cc63ff00fad9bb |
09-Dec-2010 |
Brian Paul <brianp@vmware.com> |
draw: setup instance ID for SSE generator
raw_vs_sse.c
|
0be042cb4d256393750f7060d79bdaa2cd47d72e |
09-Dec-2010 |
Brian Paul <brianp@vmware.com> |
draw: setup instance ID for VS interpreter
raw_vs_exec.c
|
4c7001462607e6e99e474d6271dd481d3f8f201c |
02-Dec-2010 |
Roland Scheidegger <sroland@vmware.com> |
gallium: support for array textures and related changes resources have a array_size parameter now. get_tex_surface and tex_surface_destroy have been renamed to create_surface and surface_destroy and moved to context, similar to sampler views (and create_surface now uses a template just like create_sampler_view). Surfaces now really should only be used for rendering. In particular they shouldn't be used as some kind of 2d abstraction for sharing a texture. offset/layout fields don't make sense any longer and have been removed, width/height should go too. surfaces and sampler views now specify a layer range (for texture resources), layer is either array slice, depth slice or cube face. pipe_subresource is gone array slices (or cube faces) are now treated the same as depth slices in transfers etc. (that is, they use the z coord of the respective functions). Squashed commit of the following: commit a45bd509014743d21a532194d7b658a1aeb00cb7 Merge: 1aeca28 32e1e59 Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Dec 2 04:32:06 2010 +0100 Merge remote branch 'origin/master' into gallium-array-textures Conflicts: src/gallium/drivers/i915/i915_resource_texture.c src/gallium/drivers/i915/i915_state_emit.c src/gallium/drivers/i915/i915_surface.c commit 1aeca287a827f29206078fa1204715a477072c08 Merge: 912f042 6f7c8c3 Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Dec 2 00:37:11 2010 +0100 Merge remote branch 'origin/master' into gallium-array-textures Conflicts: src/gallium/state_trackers/vega/api_filters.c src/gallium/state_trackers/vega/api_images.c src/gallium/state_trackers/vega/mask.c src/gallium/state_trackers/vega/paint.c src/gallium/state_trackers/vega/renderer.c src/gallium/state_trackers/vega/st_inlines.h src/gallium/state_trackers/vega/vg_context.c src/gallium/state_trackers/vega/vg_manager.c commit 912f042e1d439de17b36be9a740358c876fcd144 Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Dec 1 03:01:55 2010 +0100 gallium: even more compile fixes after merge commit 6fc95a58866d2a291def333608ba9c10c3f07e82 Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Dec 1 00:22:26 2010 +0100 gallium: some fixes after merge commit a8d5ffaeb5397ffaa12fb422e4e7efdf0494c3e2 Merge: f7a202f 2da02e7 Author: Roland Scheidegger <sroland@vmware.com> Date: Tue Nov 30 23:41:26 2010 +0100 Merge remote branch 'origin/master' into gallium-array-textures Conflicts: src/gallium/drivers/i915/i915_state_emit.c src/gallium/state_trackers/vega/api_images.c src/gallium/state_trackers/vega/vg_context.c commit f7a202fde2aea2ec78ef58830f945a5e214e56ab Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Nov 24 19:19:32 2010 +0100 gallium: even more fixes/cleanups after merge commit 6895a7f969ed7f9fa8ceb788810df8dbcf04c4c9 Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Nov 24 03:07:36 2010 +0100 gallium: more compile fixes after merge commit af0501a5103b9756bc4d79167bd81051ad6e8670 Author: Roland Scheidegger <sroland@vmware.com> Date: Tue Nov 23 19:24:45 2010 +0100 gallium: lots of compile fixes after merge commit 0332003c2feb60f2a20e9a40368180c4ecd33e6b Merge: 26c6346 b6b91fa Author: Roland Scheidegger <sroland@vmware.com> Date: Tue Nov 23 17:02:26 2010 +0100 Merge remote branch 'origin/master' into gallium-array-textures Conflicts: src/gallium/auxiliary/gallivm/lp_bld_sample.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_blitter.c src/gallium/auxiliary/util/u_inlines.h src/gallium/auxiliary/util/u_surface.c src/gallium/auxiliary/util/u_surfaces.c src/gallium/docs/source/context.rst src/gallium/drivers/llvmpipe/lp_rast.c src/gallium/drivers/nv50/nv50_state_validate.c src/gallium/drivers/nvfx/nv04_surface_2d.c src/gallium/drivers/nvfx/nv04_surface_2d.h src/gallium/drivers/nvfx/nvfx_buffer.c src/gallium/drivers/nvfx/nvfx_miptree.c src/gallium/drivers/nvfx/nvfx_resource.c src/gallium/drivers/nvfx/nvfx_resource.h src/gallium/drivers/nvfx/nvfx_state_fb.c src/gallium/drivers/nvfx/nvfx_surface.c src/gallium/drivers/nvfx/nvfx_transfer.c src/gallium/drivers/r300/r300_state_derived.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/r600/r600_blit.c src/gallium/drivers/r600/r600_buffer.c src/gallium/drivers/r600/r600_context.h src/gallium/drivers/r600/r600_screen.c src/gallium/drivers/r600/r600_screen.h src/gallium/drivers/r600/r600_state.c src/gallium/drivers/r600/r600_texture.c src/gallium/include/pipe/p_defines.h src/gallium/state_trackers/egl/common/egl_g3d_api.c src/gallium/state_trackers/glx/xlib/xm_st.c src/gallium/targets/libgl-gdi/gdi_softpipe_winsys.c src/gallium/targets/libgl-gdi/libgl_gdi.c src/gallium/tests/graw/tri.c src/mesa/state_tracker/st_cb_blit.c src/mesa/state_tracker/st_cb_readpixels.c commit 26c6346b385929fba94775f33838d0cceaaf1127 Author: Roland Scheidegger <sroland@vmware.com> Date: Mon Aug 2 19:37:21 2010 +0200 fix more merge breakage commit b30d87c6025eefe7f6979ffa8e369bbe755d5c1d Merge: 9461bf3 1f1928d Author: Roland Scheidegger <sroland@vmware.com> Date: Mon Aug 2 19:15:38 2010 +0200 Merge remote branch 'origin/master' into gallium-array-textures Conflicts: src/gallium/drivers/llvmpipe/lp_rast.c src/gallium/drivers/llvmpipe/lp_rast_priv.h src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_screen_buffer.c src/gallium/drivers/r300/r300_state_derived.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/r300/r300_texture.h src/gallium/drivers/r300/r300_transfer.c src/gallium/drivers/r600/r600_screen.c src/gallium/drivers/r600/r600_state.c src/gallium/drivers/r600/r600_texture.c src/gallium/drivers/r600/r600_texture.h src/gallium/state_trackers/dri/common/dri1_helper.c src/gallium/state_trackers/dri/sw/drisw.c src/gallium/state_trackers/xorg/xorg_exa.c commit 9461bf3cfb647d2301364ae29fc3084fff52862a Merge: 17492d7 0eaccb3 Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Jul 15 20:13:45 2010 +0200 Merge commit 'origin/master' into gallium-array-textures Conflicts: src/gallium/auxiliary/util/u_blitter.c src/gallium/drivers/llvmpipe/lp_rast.c src/gallium/drivers/llvmpipe/lp_surface.c src/gallium/drivers/r300/r300_render.c src/gallium/drivers/r300/r300_state.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/r300/r300_transfer.c src/gallium/tests/trivial/quad-tex.c commit 17492d705e7b7f607b71db045c3bf344cb6842b3 Author: Roland Scheidegger <sroland@vmware.com> Date: Fri Jun 18 10:58:08 2010 +0100 gallium: rename element_offset/width fields in views to first/last_element This is much more consistent with the other fields used there (first/last level, first/last layer). Actually thinking about removing the ugly union/structs again and rename first/last_layer to something even more generic which could also be used for buffers (like first/last_member) without inducing headaches. commit 1b717a289299f942de834dcccafbab91361e20ab Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Jun 17 14:46:09 2010 +0100 gallium: remove PIPE_SURFACE_LAYOUT_LINEAR definition This was only used by the layout field of pipe_surface, but this driver internal stuff is gone so there's no need for this driver independent layout definition neither. commit 10cb644b31b3ef47e6c7b55e514ad24bb891fac4 Merge: 5691db9 c85971d Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Jun 17 12:20:41 2010 +0100 Merge commit 'origin/master' into gallium-array-textures Conflicts: src/gallium/docs/source/glossary.rst src/gallium/tests/graw/fs-test.c src/gallium/tests/graw/gs-test.c commit 5691db960ca3d525ce7d6c32d9c7a28f5e907f3b Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Jun 17 11:29:03 2010 +0100 st/wgl: fix interface changes bugs commit 2303ec32143d363b46e59e4b7c91b0ebd34a16b2 Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Jun 16 19:42:32 2010 +0100 gallium: adapt code to interface changes... commit dcae4f586f0d0885b72674a355e5d56d47afe77d Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Jun 16 19:42:05 2010 +0100 gallium: separate depth0 and array_size in the resource itself. These fields are still mutually exclusive (since no 3d array textures exist) but it ultimately seemed to error-prone to adapt all code accept the new meaning of depth0 (drivers stick that into hardware regs, calculate mipmap sizes etc.). And it isn't really cleaner anyway. So, array textures will have depth0 of 1, but instead use array_size, 3D textures will continue to use depth0 (and have array_size of 1). Cube maps also will use array_size to indicate their 6 faces, but since all drivers should just be fine by inferring this themselves from the fact it's a cube map as they always used to nothing should break. commit 621737a638d187d208712250fc19a91978fdea6b Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Jun 16 17:47:38 2010 +0100 gallium: adapt code to interface changes There are still usages of pipe_surface where pipe_resource should be used, which should eventually be fixed. commit 2d17f5efe166b2c3d51957c76294165ab30b8ae2 Author: Roland Scheidegger <sroland@vmware.com> Date: Wed Jun 16 17:46:14 2010 +0100 gallium: more interface changes In particular to enable usage of buffers in views, and ability to use a different pipe_format in pipe_surface. Get rid of layout and offset parameter in pipe_surface - the former was not used in any (public) code anyway, and the latter should either be computed on-demand or driver can use subclass of pipe_surface. Also make create_surface() use a template to be more consistent with other functions. commit 71f885ee16aa5cf2742c44bfaf0dc5b8734b9901 Merge: 3232d11 8ad410d Author: Roland Scheidegger <sroland@vmware.com> Date: Mon Jun 14 14:19:51 2010 +0100 Merge commit 'origin/master' into gallium-array-textures Conflicts: src/gallium/auxiliary/util/u_box.h src/gallium/drivers/nv50/nv50_surface.c src/gallium/drivers/nvfx/nvfx_surface.c src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/r300/r300_transfer.c src/gallium/drivers/r600/r600_blit.c src/gallium/drivers/r600/r600_screen.h src/gallium/include/pipe/p_state.h commit 3232d11fe3ebf7686286013c357b404714853984 Author: Roland Scheidegger <sroland@vmware.com> Date: Mon Jun 14 11:40:04 2010 +0100 mesa/st: adapt to interface changes still need to fix pipe_surface sharing (as that is now per-context). Also broken is depth0 handling - half the code assumes this is also used for array textures (and hence by extension of that cube maps would have depth 6), half the code does not... commit f433b7f7f552720e5eade0b4078db94590ee85e1 Author: Roland Scheidegger <sroland@vmware.com> Date: Mon Jun 14 11:35:52 2010 +0100 gallium: fix a couple of bugs in interface chnage fixes commit 818366b28ea18f514dc791646248ce6f08d9bbcf Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:42:11 2010 +0200 targets: adapt to interface changes Yes even that needs adjustments... commit 66c511ab1682c9918e0200902039247793acb41e Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:41:13 2010 +0200 tests: adapt to interface changes Everything needs to be fixed :-(. commit 6b494635d9dbdaa7605bc87b1ebf682b138c5808 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:39:50 2010 +0200 st: adapt non-rendering state trackers to interface changes might not be quite right in all places, but they really don't want to use pipe_surface. commit 00c4289a35d86e4fe85919ec32aa9f5ffe69d16d Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:38:48 2010 +0200 winsys: adapt to interface changes commit 39d858554dc9ed5dbc795626fec3ef9deae552a0 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:26:54 2010 +0200 st/python: adapt to interface changes don't think that will work, sorry. commit 6e9336bc49b32139cec4e683857d0958000e15e3 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:26:07 2010 +0200 st/vega: adapt to interface changes commit e07f2ae9aaf8842757d5d50865f76f8276245e11 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:25:56 2010 +0200 st/xorg: adapt to interface changes commit 05531c10a74a4358103e30d3b38a5eceb25c947f Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:24:53 2010 +0200 nv50: adapt to interface changes commit 97704f388d7042121c6d496ba8c003afa3ea2bf3 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:24:45 2010 +0200 nvfx: adapt to interface changes commit a8a9c93d703af6e8f5c12e1cea9ec665add1abe0 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:24:01 2010 +0200 i965g: adapt to interface changes commit 0dde209589872d20cc34ed0b237e3ed7ae0e2de3 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:22:38 2010 +0200 i915g: adapt to interface changes commit 5cac9beede69d12f5807ee1a247a4c864652799e Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:20:58 2010 +0200 svga: adapt to interface changes resource_copy_region still looking fishy. Was not very suited to unified zslice/face approach... commit 08b5a6af4b963a3e4c75fc336bf6c0772dce5150 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:20:01 2010 +0200 rbug: adapt to interface changes Not sure if that won't need changes elsewhere? commit c9fd24b1f586bcef2e0a6e76b68e40fca3408964 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:19:31 2010 +0200 trace: adapt to interface changes commit ed84e010afc5635a1a47390b32247a266f65b8d1 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:19:21 2010 +0200 failover: adapt to interface changes commit a1d4b4a293da933276908e3393435ec4b43cf201 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:19:12 2010 +0200 identity: adapt to interface changes commit a8dd73e2c56c7d95ffcf174408f38f4f35fd2f4c Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:18:55 2010 +0200 softpipe: adapt to interface changes commit a886085893e461e8473978e8206ec2312b7077ff Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:18:44 2010 +0200 llvmpipe: adapt to interface changes commit 70523f6d567d8b7cfda682157556370fd3c43460 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:18:14 2010 +0200 r600g: adapt to interface changes commit 3f4bc72bd80994865eb9f6b8dfd11e2b97060d19 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:18:05 2010 +0200 r300g: adapt to interface changes commit 5d353b55ee14db0ac0515b5a3cf9389430832c19 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:17:37 2010 +0200 cell: adapt to interface changes not even compile tested commit cf5d03601322c2dcb12d7a9c2f1745e2b2a35eb4 Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:14:59 2010 +0200 util: adapt to interface changes amazing how much code changes just due to some subtle interface changes? commit dc98d713c6937c0e177fc2caf23020402cc7ea7b Author: Roland Scheidegger <sroland@vmware.com> Date: Sat Jun 12 02:12:40 2010 +0200 gallium: more interface fail, docs this also changes flush_frontbuffer to use a pipe_resource instead of a pipe_surface - pipe_surface is not meant to be (or at least no longer) an abstraction for standalone 2d images which get passed around. (This has also implications for the non-rendering state-trackers.) commit 08436d27ddd59857c22827c609b692aa0c407b7b Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Jun 10 17:42:52 2010 +0200 gallium: fix array texture interface changes bugs, docs commit 4a4d927609b62b4d7fb9dffa35158afe282f277b Author: Roland Scheidegger <sroland@vmware.com> Date: Thu Jun 3 22:02:44 2010 +0200 gallium: interface changes for array textures and related cleanups This patch introduces array textures to gallium (note they are not immediately usable without the associated changes to the shader side). Also, this abandons pipe_subresource in favor of using level and layer parameters since the distinction between several faces (which was part of pipe_subresource for cube textures) and several z slices (which were not part of pipe_subresource but instead part of pipe_box where appropriate for 3d textures) is gone at the resource level. Textures, be it array, cube, or 3d, now use a "unified" set of parameters, there is no distinction between array members, cube faces, or 3d zslices. This is unlike d3d10, whose subresource index includes layer information for array textures, but which considers all z slices of a 3d texture to be part of the same subresource. In contrast to d3d10, OpenGL though reuses old 2d and 3d function entry points for 1d and 2d array textures, respectively, which also implies that for instance it is possible to specify all layers of a 2d array texture at once (note that this is not possible for cube maps, which use the 2d entry points, although it is possible for cube map arrays, which aren't supported yet in gallium). This should possibly make drivers a bit simpler, and also get rid of mutually exclusive parameters in some functions (as z and face were exclusive), one potential downside would be that 3d array textures could not easily be supported without reverting this, but those are nowhere to be seen. Also along with adjusting to new parameters, rename get_tex_surface / tex_surface_destroy to create_surface / surface_destroy and move them from screen to context, which reflects much better what those do (they are analogous to create_sampler_view / sampler_view_destroy). PIPE_CAP_ARRAY_TEXTURES is used to indicate if a driver supports all of this functionality (that is, both sampling from array texture as well as use a range of layers as a render target, with selecting the layer from the geometry shader).
raw_pipe_aaline.c
raw_pipe_pstipple.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
raw_context.c
raw_context.h
raw_llvm.c
raw_llvm.h
raw_llvm_sample.c
raw_llvm_translate.c
raw_private.h
raw_pt_fetch_shade_pipeline_llvm.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.
raw_llvm.c
|
69a07be3e527dbc2148a4e20c50e60266225f5f2 |
22-Oct-2010 |
Brian Paul <brianp@vmware.com> |
Merge branch 'primitive-restart-cleanup' Conflicts: docs/relnotes-7.10.html This branch is a re-do of the primitive-restart branch with all the intermediate/temporary stuff cleaned out.
|
0eaaceb218b2cfdb3fcfb420eca3220e74e53d4a |
22-Oct-2010 |
Brian Paul <brianp@vmware.com> |
draw: implement primitive splitting for primitive restart
raw_pt.c
|
154d91cad907ba5643fb3e39717a8f7c5a76049a |
21-Oct-2010 |
Brian Paul <brianp@vmware.com> |
draw: fix typo in comment
raw_llvm.c
|
3a54195679b5a9ed12127c85ca03e5546643d63d |
21-Oct-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary header.
raw_llvm.c
|
c492066071c17e55740f3eed69b3344e6f1793ff |
20-Oct-2010 |
Brian Paul <brianp@vmware.com> |
draw: use float version of LLVM Mul/Add instructions LLVM 2.8 is pickier about int vs float instructions and operands.
raw_llvm.c
|
f36346c11662901cc2f2b2239d9adb38bbdc54b6 |
20-Oct-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe/draw: always enable LLVMAddInstructionCombiningPass() We were working around an LLVM 2.5 bug but we're using LLVM 2.6 or later now. This basically reverts commit baddcbc5225e12052b3bc8c07a8b65243d76574d. This fixes the piglit bug/tri-tex-crash.c failure.
raw_llvm.c
|
289900439f0f327910496f6bc362b95930eebb53 |
20-Oct-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Move loop variable declaration outside for loop. Fixes MSVC build.
raw_llvm.c
|
05921fd4e5305da68bb269748cb0ef059e1db417 |
20-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: make sure viewport gets updated in draw llvm shader The viewport state was being baked in at compile time (oops...)
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
|
cd6a31cd4a9ea6deef4778c2eaef2d47240c3a6e |
20-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
Merge branch 'llvm-cliptest-viewport'
|
ab2e1edd1fc6fbfd4f7d1949aa0d40cdb7142bd6 |
18-Oct-2010 |
Hui Qi Tay <tayhuiqithq@gmail.com> |
draw: corrections to allow for different cliptest cases
raw_llvm.c
|
b5236f3da482665567a9d53264e6203092120c31 |
18-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: clean up fields in draw_llvm_variant_key
raw_llvm.c
raw_llvm.h
|
c1d6b318661de2acdee38254d3750ed8dfc09e8b |
16-Oct-2010 |
Hui Qi Tay <tayhuiqithq@gmail.com> |
draw: corrections for w coordinate
raw_llvm.c
|
26ff7523b69ddb377ade29296d20abfc46e69489 |
14-Oct-2010 |
Hui Qi Tay <tayhuiqithq@gmail.com> |
draw: sanitize llvm variant key Fixes recompilation, but seems to be broken with llvm 2.8.
raw_llvm.c
raw_llvm.h
|
048a90c1cb926fdeae47392582cb91b0a689905f |
13-Oct-2010 |
Brian Paul <brianp@vmware.com> |
draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS There's no apparent reason for the former to exist. And they didn't even have the same value.
raw_context.c
raw_context.h
raw_llvm.c
raw_llvm.h
|
08f890d4c3b8376d1840f90474f7c56329432d95 |
10-Oct-2010 |
delphi <tayhuiqithq@gmail.com> |
draw: some changes to allow for runtime changes to userclip planes
raw_context.c
raw_llvm.c
raw_llvm.h
raw_private.h
raw_pt_fetch_shade_pipeline_llvm.c
|
25bb05fef075a87ec6e5f2a989049faff2afedd2 |
04-Oct-2010 |
delphi <tayhuiqithq@gmail.com> |
draw: added userclip planes and updated variant_key
raw_llvm.c
raw_llvm.h
|
66992463ac294b1a106090250ad2af305f9d8a10 |
01-Oct-2010 |
Brian Paul <brianp@vmware.com> |
draw: check for null sampler pointers http://bugs.freedesktop.org/show_bug.cgi?id=30516
raw_llvm.c
|
0cb545a7f2e823c85309013c4c41e9461f297d06 |
29-Sep-2010 |
Brian Paul <brianp@vmware.com> |
draw: pass sampler state down to llvm jit state Fixes a regression caused from the change to make min/max lod dynamic state. https://bugs.freedesktop.org/show_bug.cgi?id=30437
raw_context.c
raw_llvm.c
raw_llvm.h
|
3744d1c7d30543520cede8a6c580f26985978953 |
28-Sep-2010 |
Hui Qi Tay <tayhuiqithq@gmail.com> |
draw: added viewport and cliptest flags Corrections in store_clip to store clip coordinates in AoS form. Viewport & cliptest flag options based on variant key. Put back draw_pt_post_vs and now 2 paths based on whether clipping occurs or not.
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
|
94f65d095a1365b69a041302b473e40c6ccae3c3 |
28-Sep-2010 |
Hui Qi Tay <tayhuiqithq@gmail.com> |
draw: cliptest and viewport done in a single loop in vertex shader Cliptesting now done at the end of vs in draw_llvm instead of draw_pt_post_vs. Added viewport mapping transformation and further cliptesting to vertex shader in draw_llvm.c Alternative path where vertex header setup, clip coordinates store, cliptesting and viewport mapping are done earlier in the vertex shader. Still need to hook this up properly according to the return value of "draw_llvm_shader" function.
raw_llvm.c
raw_llvm.h
|
998cf11e1387b3b0f774426eb7b52abfebbb20d3 |
25-Sep-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state
raw_llvm.c
raw_llvm.h
raw_llvm_sample.c
|
440129521c36bc2c2e59c462a94394b2f42a847e |
26-Aug-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Prevent clipped vertices overflow. Some pathological triangles cause a theoritically impossible number of clipped vertices. The clipper will still assert, but at least release builds will not crash, while this problem is further investigated.
raw_pipe_clip.c
|
8b597b4ea4290301bd97587db5389f151cb5f25f |
23-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: don't apply flatshading to clipped tris with <3 verts If a triangle was completely culled by clipping, we would still try to fix up its provoking vertex.
raw_pipe_clip.c
|
b3a647276e5fae570628826961c9b86612c2a2c6 |
21-Sep-2010 |
Brian Paul <brianp@vmware.com> |
draw: new draw_fs.[ch] files
raw_fs.c
raw_fs.h
|
77af10955462819d973a395270777c5b8217f6ae |
20-Sep-2010 |
Brian Paul <brianp@vmware.com> |
draw: check bitshift against PIPE_MAX_SHADER_OUTPUS
raw_pipe_wide_point.c
|
a7ea4d11fb5a2a39daaad8752706291ac93013f7 |
20-Sep-2010 |
Brian Paul <brianp@vmware.com> |
draw: fix test for using the wide-point stage As it was, we weren't obeying the draw->pipeline.point_sprite state. Fixes point sprites in llvmpipe driver.
raw_pipe_validate.c
|
e22e3927b056806e9bbb089734132ad0bcb98df1 |
18-Sep-2010 |
Brian Paul <brianp@vmware.com> |
gallium: rework handling of sprite_coord_enable state Implement the pipe_rasterizer_state::sprite_coord_enable field in the draw module (and softpipe) according to what's specified in the documentation. The draw module can now add any number of extra vertex attributes to a post-transformed vertex and generate texcoords for those attributes per sprite_coord_enable. Auto-generated texcoords for sprites only worked for one texcoord unit before. The frag shader gl_PointCoord input is now implemented like any other generic/texcoord attribute. The draw module now needs to be informed about fragment shaders since we need to look at the fragment shader's inputs to know which ones need auto-generated texcoords. Only softpipe has been updated so far.
raw_context.c
raw_context.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_wide_point.c
raw_private.h
|
00118c4077ceee6d1f8b33713cf8587609969d45 |
16-Sep-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary header.
raw_llvm_translate.c
|
a508d2dddcc67d0f92cc36b9ed6f36a9bbfc579d |
05-Sep-2010 |
Luca Barbieri <luca@luca-barbieri.com> |
gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3) Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested
raw_context.h
|
451dfe541393c553e78c9c037a907c1214d3b4ed |
10-Sep-2010 |
Brian Paul <brianp@vmware.com> |
draw: minor reformatting
raw_pipe_aaline.c
|
619e899a422297fbbc9bfc837d48fb6986f896ee |
03-Sep-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Include missing headers in draw_vs_aos.h. Include tgsi_exec.h for TGSI_EXEC_NUM_TEMPS. Include draw_vs.h for draw_vs_varient.
raw_vs_aos.h
|
9112e531d4c26ea88a31c05fe2bc8cc613b76b65 |
28-Aug-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Include missing header in draw_vs_llvm.c. Include p_screen.h for completely type to pipe_screen.
raw_vs_llvm.c
|
6c0dc4bafbdbdc0cb4b6e5934fe064226dbd47ec |
20-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: specialized cliptesting routines
raw_cliptest_tmp.h
raw_context.c
raw_context.h
raw_pipe_validate.c
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_post_vs.c
|
d29d7807c1e2c53336b1adaf0ecdeb3e35b39969 |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Remove UNDEFINED_VERTEX_ID checks in emit pathes. UNDEFINED_VERTEX_ID is used by draw_pipe_vbuf to decide whether a vertex has been emitted or not. The non-pipeline pathes do not use it (they tell the frontend the max vertex count when prepare() is called).
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
22f6026324f63c142925244ff575fefc29a90389 |
25-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
gallium: Use draw_set_index_buffer and others. Update all drivers to use draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. Remove draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range.
raw_context.c
raw_context.h
raw_pt.c
|
4f024e0f642f4f743e4d051ec71c00e45bfd361f |
25-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Add draw_set_index_buffer and others. This commit adds draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. The idea behind the new functions is that an index buffer should be a state. draw_arrays and draw_set_mapped_element_buffer are preserved, but the latter will be removed soon.
raw_context.c
raw_context.h
raw_private.h
raw_pt.c
raw_pt_vsplit_tmp.h
|
a1de6f48c3fa79bbc8f2514da19b3e01138e7093 |
21-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: reduce the size of the llvm variant key
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
raw_vs_llvm.c
|
ae34a6393e6519dc32e53fa8407155e8679fc257 |
22-Aug-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Don't assert if indices point outside vertex buffer. This is valid input, and asserting here does causes the test suites that verify this to crash. Also, the assert was wrongly accepting the case max_index == vert_info->count which, IIUC, is the first vertex outside the buffer. Assuming the vert_info->count is precise (which often is not the case).
raw_pipe.c
|
f201217c1d87919572a3b1cf7de94f580f20e5f0 |
15-Aug-2010 |
Luca Barbieri <luca@luca-barbieri.com> |
draw_llvm: fix segfaults on non-SSE2 CPUs where it is disabled (v2) Changes in v2: - Change function name Currently draw_llvm refuses to create itself on non-SSE2 CPUs due to an alleged LLVM bug. However, this is implemented improperly, because other parts of draw still attempt to access draw->llvm, resulting in segfaults. Instead, put the check in debug_get_option_draw_use_llvm, check that before calling draw_llvm_create, and then check whether draw->llvm is non-null everywhere else.
raw_context.c
raw_llvm.c
raw_pt.c
|
9271059b361128070c68b3d1a7982b4f9f151546 |
16-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
drwa: Fix polygon edge flags. Fix a copy-and-paste error introduced by f141abdc8fdbff41e16b0ce53fa3fa8fba32a7f9.
raw_decompose_tmp.h
|
aaf51ed7c24a5d9488f8225972e5d5d108c6c197 |
09-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: No need to make max_vertices even. Triangle strip alternates the front/back orientation of its triangles. max_vertices was made even so that varray never splitted a triangle strip at the wrong positions. It did not work with triangle strips with adjacencies. And it is no longer relevant with vsplit.
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
|
c3fee80f2b35f6a7e48d6015bfc759c66b7e1a2c |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Remove DRAW_PIPE_MAX_VERTICES and DRAW_PIPE_FLAG_MASK. The higher bits of draw elements are no longer used for the stipple or edge flags.
raw_gs.c
raw_pipe.c
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_so_emit.c
|
a072f0e186522f9de2848989422ad0244f65c961 |
13-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
drwa: Add PRIMITIVE macro to vsplit. PRIMITIVE is used by the indexed path to flush the entire primitive with custom vertex count checks. It replaces the existing fast path.
raw_pt_vsplit_tmp.h
raw_split_tmp.h
|
7b3beb22405ee2de0cf02951b6547964a2989ee5 |
09-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: last_vertex_last is always true for GS and SO. That is, OpenGL decomposition rule is assumed. There should be a pipe_context state to specify the rules.
raw_gs_tmp.h
raw_so_emit_tmp.h
|
a97419a3ba86fd112a22b5786c4f34f8d8a54f2d |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Remove varray and vcache. They have been deprecated by vsplit.
raw_pt.h
raw_pt_elts.c
raw_pt_varray.c
raw_pt_varray_tmp.h
raw_pt_varray_tmp_linear.h
raw_pt_vcache.c
raw_pt_vcache_tmp.h
|
5a085c623faebf957be3fae2f82dc89ef6214585 |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Replace vcache by vsplit. vcache decomposes primitives while vsplit splits primitives. Splitting is generally easier to do and is faster. More importantly, vcache depends on flatshade_first to decompose. The outputs may have incorrect vertex order which is significant to GS.
raw_pipe.c
raw_private.h
raw_pt.c
|
5b6bf799e637e9020af3a4bebe514b53d7c38eca |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Replace varray by vsplit. vsplit is a superset of varray. It sets the split flags comparing to varray.
raw_private.h
raw_pt.c
|
04bc530dbdbe5d004219c9100e35f5d56cfedd80 |
06-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Add vsplit frontend. vsplit is based on varray. It sets the split flags when a primitive is splitted. It also has support for indexed primitives. For indexed primitives, unlike vcache, vsplit splits the primitives instead of decomposes them.
raw_pt.h
raw_pt_vsplit.c
raw_pt_vsplit_tmp.h
raw_split_tmp.h
|
56213a64fe9e4270fd7886675b1e8224b2d88794 |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Add new util function draw_pt_trim_count. draw_pt_trim_count is renamed from trim in draw_pt.c.
raw_pt.c
raw_pt.h
raw_pt_util.c
|
9d2be38fad109d9a10942fddde0b9dc3824c329c |
18-Jul-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Simplify frontend interface a little. The run method is simplified to take the start vertex and the vertex count.
raw_pt.c
raw_pt.h
raw_pt_varray_tmp_linear.h
raw_pt_vcache.c
raw_pt_vcache_tmp.h
|
f132498347c41294042db0cc6830abe928d827de |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Add prim flags to middle ends. Update the middle end interface to pass the primitive flags from the frontends to the pipeline. No frontend sets the flags yet.
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_varray.c
raw_pt_vcache.c
|
f141abdc8fdbff41e16b0ce53fa3fa8fba32a7f9 |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Add flags to draw_prim_info. A primitive may be splitted in frontends. The splitted primitives should convey certain flag bits so that the decomposer can correctly decide the stipple or edge flags. This commit adds flags to draw_prim_info and updates the decomposer to honor the flags. Frontends and middle ends will be updated later.
raw_decompose_tmp.h
raw_gs.c
raw_gs_tmp.h
raw_pipe.c
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_vcache_tmp.h
raw_so_emit_tmp.h
|
b9a21fd6ca036763500e72ce5783867fdfb340e5 |
08-Aug-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Remove unused variable.
raw_llvm.c
|
445e59057f69131fc0f1585f22c5f281d1d0f4a3 |
06-Aug-2010 |
nobled <nobled@dreamwidth.org> |
draw: Use the correct type for integers Two integers were being operated on as a vector of floats in draw_llvm_generate(). This bug got uncovered by fixing this bug: http://bugs.freedesktop.org/29407
raw_llvm.c
|
e34c52da87990b1ec64602a20418cdb274deefa9 |
06-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Add an assertion to varray's version of trim(). Assert that "first" is always smaller than "count" and add reasoning. It would be better to simply fix trim(), but it is used in tight loops right now.
raw_pt_varray_tmp_linear.h
|
600cd858d446bc1698a9b28f714f3fd6145316fb |
06-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Fix draw_pt_split_prim for primitives with adjacency. Some primitives with adjacency have their "incr" wrong.
raw_pt_util.c
|
6ae39f6dca8f0968902642f04f1deb6f573edb6d |
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Assert that only the first vetex may have flags set. 642d5ba79abc6a231a5fdabb3454b9b082b0d7f8 removed flags masking for vertices other than the first one. Add assertions to be on the safe side.
raw_pipe.c
|
d38afcd2f286e924e0f9b7f484712ac19e3f98fc |
06-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Avoid mixed declarations and code. Do not expand LOCAL_VARS to void expression. Otherwise, declarations and code will be mixed when more variables are declared in FUNC_ENTER. This fixes fdo bug #29416.
raw_decompose_tmp.h
raw_pt_decompose.h
raw_pt_vcache_tmp.h
|
642d5ba79abc6a231a5fdabb3454b9b082b0d7f8 |
04-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Remove unnecessary vertex flag ANDs. Vertex flags are a contract between vcache and the pipeline. They are set only for the first vertex of a primitive.
raw_pipe.c
|
f1fc444bb05421404f42e8d08e9085c6fb6ce7a9 |
04-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Mask out vertex flags in GS and stream output. This fixes out-of-bound access to the vertices.
raw_gs.c
raw_pt_so_emit.c
|
eb3c6ddafb7a1b544243e9dec991cc24d16940ea |
01-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Include draw_decompose_tmp.h in draw_pt_decompose.h. Use draw_decompose_tmp.h to replace pipeline primitive decomposer.
raw_pipe.c
raw_pt_decompose.h
|
94d256591d83ac1330f7237e865784618d124d09 |
01-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Include draw_decompose_tmp.h in draw_so_emit_tmp.h. Use draw_decompose_tmp.h to replace stream out primitive decomposer.
raw_pt_so_emit.c
raw_so_emit_tmp.h
|
23176779f88c5cff7365698f391194141e11e64c |
01-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Include draw_decompose_tmp.h in draw_gs_tmp.h. Use draw_decompose_tmp.h to replace GS primitive decomposer.
raw_gs.c
raw_gs_tmp.h
|
8a41b18b7d731b5db2df5523dbe26143ae171c3a |
01-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Include draw_decompose_tmp.h in draw_pt_vcache_tmp.h. Use draw_decompose_tmp.h to replace vcache primitive decomposer. As the new decomposer supports primitives with adjacency, vcache_triangle_adj and vcache_line_adj (and their variants that have flags) are added.
raw_pt_vcache.c
raw_pt_vcache_tmp.h
|
524b2626c2d018f330ae7423c858ef73ea0424b5 |
01-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Add draw_decompose_tmp.h. Including draw_decompose_tmp.h defines a primitive decomposer. It is intended to replace the existing vcache/so/gs/pipe decomposers. This is based on draw_pt_vcache_tmp.h.
raw_decompose_tmp.h
|
988e86762f07eb8b685eef6f3302566f604db2a6 |
04-Aug-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Fix return type of draw_translate_vinfo_size. Fixes typo from commit b609cfc7c9c38f26e7e6d6f7dd5dd6d38f4ed209.
raw_vertex.h
|
5c2f01bbb076af8b8ae6e1803d95a9ae678c2d1c |
04-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Fix the edge flags of flatshade_first polygons. This bug can be triggered by rendering polygons with glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
raw_pt_vcache_tmp.h
|
48268e0f2a5e65b63586398db3a58523a8c7a7a0 |
04-Aug-2010 |
Brian Paul <brianp@vmware.com> |
draw: check for instance divisors in vcache_check_run() When we have instance divisors we don't really know which vertex elements we'll be fetching ahead of time. This fixes a bug in instanced drawing which was exposed by the new draw_vbo() code because of max_index not being ~0 as often as it used to be. The test for max_index >= DRAW_PIPE_MAX_VERTICES often hid this problem before.
raw_pt_vcache.c
|
8c3cc83432bbbc190b0f71f87e3e9583ae11f0b2 |
04-Aug-2010 |
Brian Paul <brianp@vmware.com> |
draw: added a comment
raw_pt_emit.c
|
0e7b53c75be6051b2a935e65f4dbc02449714ee1 |
03-Aug-2010 |
Brian Paul <brianp@vmware.com> |
draw: use instance divisor in draw_print_arrays()
raw_pt.c
|
f94e7e25d101a8691a5276a5aa0eb97d2f4eebbc |
03-Aug-2010 |
Brian Paul <brianp@vmware.com> |
draw: add assertion, rearrange debug code
raw_pt.c
|
aef4500ca4ae9e5bc57560c6f9a32d9ad892975b |
02-Aug-2010 |
Dave Airlie <airlied@redhat.com> |
draw: fix warning in sse code. Not sure if this will actually fix the issue, but it fixes the warning.
raw_vs_sse.c
|
dd406cf34196a5a60362d8e1928b1308b56dd3f8 |
30-Jul-2010 |
Zack Rusin <zackr@vmware.com> |
draw: actually a noop, rather than not implemented we just have nothing to do in it right now
raw_gs.c
|
078eff659a7ef90691966d983f35ed9e4ce63901 |
30-Jul-2010 |
Vinson Lee <vlee@vmware.com> |
llvmpipe: Fix implicit declaration of lp_func_delete_body warnings.
raw_llvm.c
|
042018a943a403a4d9887b400deb3b3c83ee40c0 |
27-Jul-2010 |
Zack Rusin <zackr@vmware.com> |
llvmpipe: delete function bodies after generating machine code
raw_llvm.c
|
b4c8de1ff24d4d5e2fe550da54249934320acab4 |
30-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: do bounds checking of array elements (debug only) Make sure that all the element indexes actually lie inside the vertex buffer. Also, rename pipe_run() to pipe_run_elts() to be more specific. And assert/check the vertex count for the non-indexed case.
raw_pipe.c
|
d88b6e19c14900f4cad94cf7a28d159369463108 |
29-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: assorted clean-ups in clipper code
raw_pipe_clip.c
|
ba2cc3b8e6ad161181b67fd2575c6bc768584d23 |
29-Jul-2010 |
Brian Paul <brianp@vmware.com> |
gallium: implement bounds checking for constant buffers Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
raw_context.c
raw_gs.c
raw_gs.h
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_vs.c
raw_vs.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_varient.c
|
8a2933f3663177f32f5ee45bb696463b8549dcbb |
29-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: add vertex buffer offset in draw_print_arrays()
raw_pt.c
|
111902f2c47377f7d7ea41af6a2a29a087350f17 |
26-Jul-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Also emit EMMS on generated LLVM IR.
raw_llvm.c
|
da30209afdd77199c98694ef64c6eaea557d0918 |
28-Jul-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Fix VMware spelling.
raw_gs.c
raw_gs.h
raw_pt_fetch_shade_pipeline_llvm.c
|
41e7347a173693e9cf9ec41151a38e89627ed54f |
23-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: add small ybias factor for drawing wide points Fixes minor rasterization error detected by some tests.
raw_pipe_wide_point.c
|
815e79e72c1f4aa849c0ee6103621685b678bc9d |
23-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: re-order optimization passes depending on LLVM version, 32/64-bit This is a work-around for an apparent bug in LLVM seen with piglit's glsl-vs-sqrt-zero test.
raw_llvm.c
|
ca3238f3fce89b4641833d1722d03c5d23b3e081 |
22-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: added new assertions to clipping code
raw_pipe_clip.c
|
9ca48de1068d4ebce81853d29455c83b4898e25e |
21-Jul-2010 |
Marek Olšák <maraeo@gmail.com> |
draw: disable depth clipping if depth clamp is enabled
raw_context.c
raw_private.h
raw_pt_post_vs.c
|
aa9003e20e91213bb97269bcd35961f0c2e9791b |
21-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: tweak aa line width threshold and sampling Set sampler max_lod to avoid sampling the 1x1 and 2x2 mipmap levels. Fixes piglit line-aa-width test, fd.o bug 29160.
raw_pipe_aaline.c
|
6921a6dd4ed2df2e4b635b329f66b1664a092923 |
21-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: whitespace clean-up
raw_pt_vcache.c
|
691c1fb074144395aa441b3102923d8f92136c37 |
20-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: correctly handle max_index=0xffffffff case in vcache code If max_index=0xffffffff and elt_bias > 0 the test for elt_bias + max_index >= DRAW_PIPE_MAX_VERTICES was wrong. Check earlier if max_index=0xffffffff and do the "fail" case. This fixes the piglit draw-elements-base-vertex test (and probably some other things).
raw_pt_vcache.c
|
37692e5dc9bbcf4f48b4401255d47f724a602978 |
20-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: fix incorrect instancing divisor in LLVM code
raw_llvm.c
|
80e07c41907cc0ac43d68aeb3abf9de8435e70fd |
16-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: updated debug/dump code
raw_pt.c
|
959a458ea01d5fa4274bdd439da114b42d3b86d3 |
16-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: added array element debug / bounds checking code (disabled)
raw_pt_vcache.c
|
fab4ac9e942465cb184a74b3abc57c2e5353c5bf |
16-Jul-2010 |
Zack Rusin <zackr@vmware.com> |
draw/llvm: adjust the instance id at run time fixes instancing in draw llvm
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
|
b77f5024ca2926404d701276eafc72f5769daa32 |
16-Jul-2010 |
Zack Rusin <zackr@vmware.com> |
draw: use the instance id when fetching vertex data
raw_llvm.c
|
839608a8be2dbcb759626b629f98176e4125e0a2 |
15-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: update comments for drawing functions
raw_pt.c
|
5c0f6bf13b49d38fc41632ef5a0bbada98195398 |
15-Jul-2010 |
Brian Paul <brianp@vmware.com> |
draw: move prototype, update comment
raw_context.h
|
f52f8e9a8c24e54f27a1841e382fd8f6dfe17b6d |
11-Jul-2010 |
Zack Rusin <zackr@vmware.com> |
draw: fix decomposition to work with adjacency primitives
raw_pt_varray.c
|
425870c5fdb40f7daf2e25323fa28c90c4367bae |
10-Jul-2010 |
Zack Rusin <zackr@vmware.com> |
mesa: get the translation from mesa 2d regs to tgsi working first working version of arb_geometry_shader4
raw_pt.c
|
f8f1c629d6b2f86e65c5c0997b140cf8db8f616e |
09-Jul-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Fix off-by-one error in assert. textures is an array of size PIPE_MAX_VERTEX_SAMPLERS.
raw_llvm.c
|
9ead6c129fd77ce5426a1ff2fe71bbf17127cfff |
07-Jul-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary header.
raw_llvm_sample.c
|
ca88683459016d2cdc82175c718ee429e9440cf0 |
06-Jul-2010 |
Zack Rusin <zackr@vmware.com> |
draw: make sure softpipe doesn't crash with vertex tex sampling softpipe doesn't implement the draw's llvm tex sampling interface so make sure draw can handle the cases where the driver doesn't implement the interface
raw_llvm.c
|
01eebfe1b6de2e36dd3af0952fc8329b7073a100 |
14-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: implement vertex texture sampling using llvm
raw_context.c
raw_context.h
raw_llvm.c
raw_llvm.h
raw_llvm_sample.c
raw_private.h
raw_pt_fetch_shade_pipeline_llvm.c
|
7071eefdb2ef2a1f644a2bbed9685847b60ff6c4 |
02-Jul-2010 |
José Fonseca <jfonseca@vmware.com> |
gallivm: Support multiple pixels in lp_build_fetch_rgba_aos(). This allows to do the unpacking of formats that fit in 4 x unorm8 in parallel, 4 pixels at a time.
raw_llvm_translate.c
|
8d93f360c582297b9ced11c234ab4bd53103a8a6 |
01-Jul-2010 |
José Fonseca <jfonseca@vmware.com> |
gallivm: Support 4 x unorm8 in lp_build_fetch_rgba_aos(). Uses code and ideas from Brian Paul.
raw_llvm_translate.c
|
87d2c77ed3861390d2250788e8b654a504a78c28 |
30-Jun-2010 |
Brian Paul <brianp@vmware.com> |
draw: fix out of memory handling in polygon stipple stage
raw_pipe_pstipple.c
|
bb6ca7b3f74b63d45532108730b5c93a57926662 |
29-Jun-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Add inline keyword to inline function. Otherwise gcc will warn about unusued functions.
raw_llvm.h
|
3443b581fb3ac139955fcfc61924a87d7ff6018f |
26-Jun-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary header.
raw_vs_llvm.c
|
4503bd33dac04bb925780852e49f2ffa501ebc0a |
26-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: deleted by mistake
raw_pt_post_vs.c
|
a5c44986a3f19936df448fe4ae47ca77ece9b0ce |
26-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: initialize headers in the none post paths as well
raw_pt_post_vs.c
|
8ebfcf31eb905b7d47e520c04420620ae21bdf4e |
26-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: limit the number of vertex shader variants kept around we used to create and cache unltimited number of variant, this change limits the number of variants kept around to a fixed number. the change is based on a similar patch by Roland for llvmpipe fragment shaders.
raw_llvm.c
raw_llvm.h
raw_private.h
raw_pt_fetch_shade_pipeline_llvm.c
raw_vs.c
raw_vs.h
raw_vs_llvm.c
|
5cf1921e6d7ba36e6e882094d3280e3cd363df61 |
24-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: initialize vertex header
raw_pipe.c
raw_pt_fetch.c
raw_pt_post_vs.c
|
7a9246c5d72290ed8455a426801b85b54374e102 |
25-Jun-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Work around an invalid write. SSE vertex shader does not seem to honor the execution mask. Pad the output array as a workaround.
raw_pt_fetch_shade_pipeline.c
|
bf2d2772a21748b6279c1fc3397ab75450aff74e |
23-Jun-2010 |
Brian Paul <brianp@vmware.com> |
draw: use gallium's TRUE/FALSE
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
|
64682da8ab7aff7b4ce651db99a32ed1fd8b178c |
23-Jun-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: don't try to precalculate the pipeline output primitive We were previously calculating a value which was either the geometry shader output primitive or the application's input primitive, and passing that to the various front/middle/back components for use as the ultimate rendering primtive. Unfortunately, this was not correct -- if the vcache decomposition path is active and geometry shaders are *not* active, we can end up with a third primitive -- specifically the decomposed version of the input primitive. Rather than trying to precalculate this, just let the individual components inform their successors about which primitive type they are recieving.
raw_pt.c
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_varray.c
raw_pt_vcache.c
|
292eecca8c4284cbb343d954b76586fcaa26de2a |
23-Jun-2010 |
Brian Paul <brianp@vmware.com> |
draw: mask off DRAW_PIPE_FLAG_MASK bits in prim decompose code Any elt may potentially have flags bits set so mask off those bits everywhere. Fixes crashes with demos/gamma.c, redbook/polys.c, etc. but polygon stippling is still broken.
raw_pipe.c
|
e433b73dd256577b022bf38c8499c7ea4eda9845 |
22-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
gallium: add a timestamp disjoint query allows application to not only request the frequency of the TIME_ELAPSED clock but also to detect if that frequency was consistent throughout the entire bracketed range of graphics commands.
raw_gs.c
|
4320a451a313bbf4e145809ffb11c829ae84aa98 |
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: implement triangle strips with adjacency in geometry shader
raw_gs_tmp.h
|
f542a2770a5ac3eb487cd3723cf98a383779a98d |
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: implement triangle lists with adjacency support in gs
raw_gs.c
raw_gs_tmp.h
|
06b854752f8a550ddd299610e0e22c8f929109e2 |
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: fix a silly error
raw_gs_tmp.h
|
eb33dd69540d9d14acc42102f14dcc7d0075943f |
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: implement line strip adjacency
raw_gs_tmp.h
|
dc8f64c537a72d82c4c3d9e3bf6bf1e4a07c3b53 |
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: implement lines with adjacency in geometry shaders
raw_gs.c
raw_gs_tmp.h
|
91862051f98e646647906bb15aec5c5d537f87e4 |
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: validate stream output buffers fixes a crash.
raw_pt_so_emit.c
|
c85971da31276f17f90fe7d7596c24b5daa204f9 |
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: fix some unsigned issue spotted by Vinson
raw_pt_so_emit.c
|
638a80bc075a4b58123cb9ba03993bd8bfd024cd |
16-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: make sure we correctly iterate over output buffers on stream out we kept overwriting the first attribute of a vertex in a single-stream- out-buffer case
raw_pt_so_emit.c
|
0b8e1980276a3935e6748e2f459313ffd2681146 |
16-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: add stream output decomposition file
raw_so_emit_tmp.h
|
287531772ccea82c8a6c4dab5656d751a8943524 |
16-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: rewrite stream output to handle all the dark corners register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics.
raw_gs.c
raw_pt.h
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_so_emit.c
raw_vbuf.h
|
51729b5119df450f2f80c4e648b99fa35b9ec32d |
16-Jun-2010 |
Alan Hourihane <alanh@vmware.com> |
draw: add alloc check
raw_llvm.c
|
1c377cea1094c0b5414c663adf2fd393bf41ddfb |
16-Jun-2010 |
Alan Hourihane <alanh@vmware.com> |
draw: handle some out of memory conditions
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_pstipple.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
|
88308ea1730df07beadd81cbce942a3aecb5d873 |
16-Jun-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary headers.
raw_pt_fetch.c
raw_pt_post_vs.c
|
3560652ccf0d88bcc23c326ea99bbc7091b45f39 |
15-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
gs: make sure we end primitives when finishing executing shaders
raw_gs.c
raw_private.h
|
215e10ac2615359065cc264c68f08f39533bafd4 |
15-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw/gs: make sure gs works with elts and doesn't overrun the buffer
raw_gs.c
raw_gs_tmp.h
|
bf577393c7334ed8e11584984138285ae0faac93 |
15-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: run the pipeline with the correct number of verts verts per primitive, not total count
raw_pipe.c
|
9cf5e814b943d38750cdc6d27a9e25856454c853 |
15-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: fix primitive indexing in the pipeline spotted by Keith
raw_pipe.c
|
a192b5eeafae80f9f9e7e7e442abc5b44d583d1a |
15-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: finish the new pipeline setup Keith came up with a new way of running the pipeline which involves passing a few info structs around (for fetch, vertices and prims) and allows us to correctly handle cases where we endup with multiple primitives generated by the pipeline itself.
raw_gs.c
raw_gs.h
raw_gs_tmp.h
raw_private.h
raw_pt.h
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_post_vs.c
raw_pt_so_emit.c
|
b85a361ccbac956d2842251395c048a4b3f4c440 |
14-Jun-2010 |
Keith Whitwell <keithw@vmware.com> |
draw wip
raw_gs.c
raw_gs.h
raw_pipe.c
raw_private.h
raw_pt.h
raw_pt_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_so_emit.c
|
db05972807c5cb7911b5745df00fa13130cf919e |
12-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw/gs: copy the outputs only if we emitted something
raw_gs.c
|
53bd9796a1395e4acde884ff55cb7ee18586595a |
11-Jun-2010 |
Zack Rusin <zack@kde.org> |
gallium/softpipe/draw: support samplers in geometry shaders
raw_context.c
raw_context.h
|
9896b7ebebfb36f12948b28c773ddba356d48e0d |
10-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: forgot to add a file
raw_gs_tmp.h
|
29639932f7d42ce3eb2f4b487366c67bb0bc910b |
10-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: rewrite geometry shader pipeline done to handle strips correctly as inputs - we need to decompose the strips
raw_gs.c
raw_gs.h
|
4d0baa73c9e1a40b4ac089c786af79dc7f1ff219 |
10-Jun-2010 |
Zack Rusin <zack@kde.org> |
draw: geometry shader fixes don't overwrite the inputs and make sure the correct primitive is used on entry
raw_gs.c
raw_gs.h
raw_private.h
raw_pt_fetch_shade_pipeline.c
|
9ef6d34f7e03f3d33c0ebad4191f3300a9062c4a |
10-Jun-2010 |
Zack Rusin <zack@kde.org> |
draw: make sure that the gs never outputs more data than we allocated for
raw_pt_fetch_shade_pipeline.c
|
1d11eac93f408053a0807783b434624a6dfcb3fb |
09-Jun-2010 |
Zack Rusin <zack@kde.org> |
draw: make sure geometry shader correctly iterates the output buffer
raw_gs.c
raw_pt_fetch_shade_pipeline.c
|
da4185ca77395b9dddc362891d8f7bbc2fa924cd |
09-Jun-2010 |
Zack Rusin <zack@kde.org> |
draw: make sure the buffer is big enough to fit everything emitted by the gs
raw_gs.c
raw_pt_fetch_shade_pipeline.c
|
04490ad31d0d763a0a1da7b521da55f5ea14e1cd |
09-Jun-2010 |
Zack Rusin <zack@kde.org> |
draw: fix geometry shader which emit multiplie primitives
raw_gs.c
|
d4ef0f6c67aefe06d8dd647acf8d9005df39a709 |
09-Jun-2010 |
Zack Rusin <zack@kde.org> |
geometry shaders: make gs work with changable primitives and variable number of vertices lots and lots of fixes for geometry shaders. in particular now we work when the gs emits a different primitive than the one the pipeline was started with and also we work when gs emits more vertices than would fit in the original buffer.
raw_gs.c
raw_gs.h
raw_pt.c
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_post_vs.c
raw_pt_varray.c
raw_pt_vcache.c
|
c217d94cca357d38e244754747a1bd15e9cf2557 |
09-Jun-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary headers.
raw_pt_emit.c
raw_pt_so_emit.c
|
b5d2fc2b48ffb09b21eb3148218a73806af22f09 |
07-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
gallium: scream when one of two unimplemented features in draw is used plus used the correctly specified stride
raw_pt_so_emit.c
|
2c22b8e61dc4adab658c6198feea30c006aa6c58 |
01-Jun-2010 |
Zack Rusin <zack@kde.org> |
gallium: make draw auto work and add relevant caps and docs
raw_pt_so_emit.c
raw_vbuf.h
|
c9db97c8229689060fab0edee7df717f804b99ce |
31-May-2010 |
Zack Rusin <zack@kde.org> |
gallium: a lot more complete implementation of stream output interface wise we have everything needed by d3d10 and gl transform feedback. the draw module misses implementation of some corner cases (e.g. when stream output wants different number of components per output than normal rendering paths)
raw_pt.h
raw_pt_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_so_emit.c
|
a45b7f47ee0e38b288cc8fc4f6a1c013e8c227bc |
28-May-2010 |
Zack Rusin <zack@kde.org> |
gallium: basic and initial implementation of the stream output interface aka transform feedback
raw_context.c
raw_context.h
raw_private.h
raw_pt_emit.c
|
045174b6853608f1f17194115da570067b4ce121 |
07-Jun-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: don't use llvm engine when geometry shaders active They aren't implemented for llvm.
raw_pt.c
|
4b29da1226133f2578557c0e8fa8b859061bf88b |
30-May-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Use pointer_to_func() instead of custom wrappers.
raw_llvm.c
|
ef9b4d20d78a748e653a61286d83f33dc6c46184 |
21-May-2010 |
Keith Whitwell <keithw@vmware.com> |
Merge branch 'gallium-front-ccw'
|
5ebd2fa7dacee1b517e50ac89af66800fe47af22 |
15-May-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: fix front/back error in unfilled pipeline stage
raw_pipe_unfilled.c
|
7813d12e05e654d12e2cf6c47a7e73eb0310493c |
15-May-2010 |
Keith Whitwell <keithw@vmware.com> |
draw: fix typo checking for unfilled polygons
raw_pipe_validate.c
|
0bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72c |
14-May-2010 |
Keith Whitwell <keithw@vmware.com> |
gallium: convert rasterizer state to use gl-style front/back concepts Use front/back instead of cw/ccw throughout. Also, use offset_point/line/fill instead of offset_cw/ccw. Brings gallium representation of this state into line with its main user, and also what turns out to be the most common hardware representation. This fixes a long-standing bias in the interface towards the architecture of the software rasterizer.
raw_context.c
raw_pipe_cull.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_validate.c
|
56da0cb7ac1c22c8029028ed804bdbd1972d0d8b |
13-May-2010 |
Brian Paul <brianp@vmware.com> |
draw: silence casting warnings
raw_llvm.c
|
8ad3e0b55df50beac8ba3c5cafa0be79641a4977 |
09-May-2010 |
José Fonseca <jfonseca@vmware.com> |
gallivm: Add an alternative to LLVMDumpValue that works with Windows GUI apps.
raw_llvm.c
|
74fb08018ac740e8189cee5f9aa8e429d50496e4 |
08-May-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: additional comments in the clipping code
raw_pipe_clip.c
|
4d52a25326506f8a3e876ded029ff4db7749f8a9 |
06-May-2010 |
Török Edwin <edwintorok@gmail.com> |
gallivm: Require SSE2 for draw_llvm/llvmpipe due to LLVM PR6960. Note that this also requires X86 for llvm, if llvmpipe/draw_llvm works on PPC then the condition should be extended to include && x86. Signed-off-by: Török Edwin <edwintorok@gmail.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
raw_llvm.c
|
fca24899cbf5217cee5f884bac267c43f9897197 |
06-May-2010 |
Brian Paul <brianp@vmware.com> |
gallium: still more provoking vertex fixes This fixes edge flags for polygons and provoking vertex for filled quads.
raw_pt_vcache.c
raw_pt_vcache_tmp.h
|
eaad99d230c2c265b2cc20df0bf1f6f4a7837a67 |
06-May-2010 |
Brian Paul <brianp@vmware.com> |
gallium: added edge flag print/debug code (disabled)
raw_pipe_unfilled.c
|
740e50c60f03d194aafab93d5251699964800979 |
05-May-2010 |
Brian Paul <brianp@vmware.com> |
gallium: rename draw() to draw_elements() in vbuf code Now we have draw_elements() and draw_arrays() to be consistent with the pipe_context drawing functions.
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_vbuf.h
|
cb136a93aba4dc64db7e446b0fbc36c9172e4017 |
06-May-2010 |
Brian Paul <brianp@vmware.com> |
gallium: rework provoking vertex code Builds on commit ddb0e18f6c5582d4d2cc59ffd16ad9c4639ed059 and fixes regressions in glean clipFlat test. We assume that Gallium drivers observe flatshade_first for all triangles and that all the assorted per-triangle calls in the 'draw' module also follow flatshade_first. Everything else builds on those rules. Gallium does not use follow flatshade_first for GL quads, quad strips and polygons; the "last" vertex is always the provoking vertex for those prims. So now there are separate QUAD_FIRST_PV and QUAD_LAST_PV macros in the draw primitive decomposition code instead of one QUAD macro.
raw_pipe.c
raw_pipe_clip.c
raw_pipe_vbuf.c
raw_pt_decompose.h
raw_pt_vcache.c
|
e768d11ca0f118f06b96e4779a917ded26eeaef2 |
05-May-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary header.
raw_pt_fetch_shade_pipeline_llvm.c
|
ddb0e18f6c5582d4d2cc59ffd16ad9c4639ed059 |
05-May-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Preserve the provoking vertex both when decomposing and clipping. Based on John Lawless' feedback.
raw_pipe_clip.c
raw_pt_decompose.h
|
dc1c33b448c830c5775e4f3fb6510830694a4177 |
05-May-2010 |
Brian Paul <brianp@vmware.com> |
draw: Adjust wideline vertex coords for D3D.
raw_pipe_wide_line.c
|
15af543f106db9e6ff840828905df4978e68f715 |
03-May-2010 |
Török Edwin <edwintorok@gmail.com> |
Reorder LLVM passes, running mem2reg earlier. This gives a ~30% shader optimization time improvement on blender. Tested by comparing the dumped LLVM modules. Current ordering: time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -constprop -instcombine -mem2reg -gvn -simplifycfg real 0m1.126s user 0m1.108s sys 0m0.012s With this patch: time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -mem2reg -constprop -instcombine -gvn -simplifycfg real 0m0.885s user 0m0.880s sys 0m0.000s The overall improvement in blender is ~15%. Blender without the patch takes 1m13s: edwin 5934 87.6 11.5 729440 458296 pts/5 SLl+ 17:35 1:13 blender Blender with the patch takes 1m3s: edwin 5726 94.2 11.2 716424 446168 pts/5 SLl+ 17:32 1:03 blender It is still slow with the patch, but better (most of the optimization time is taken up by GVN, see LLVM PR7023). Signed-off-by: Török Edwin <edwintorok@gmail.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
raw_llvm.c
|
caede7528d2afad478c49afb98eb96088e1c41cc |
03-May-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Remove draw_pt_fetch_prepare call from llvm middle end. Unneeded since we code generate the vertex fecthes.
raw_pt_fetch_shade_pipeline_llvm.c
|
d44c8ee568878899e4ce5d8e1d0fcf523aa62199 |
03-May-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Disable rtasm compilation when using LLVM. Saves time and trouble.
raw_vs.c
|
e7c0b4de172acd297ebe2e616c3c8fd7d7d4c40e |
15-May-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Use GALLIVM_DEBUG opt.
raw_llvm.c
|
e9bf09a98a624e594bdea2503326bb693b8cf9b8 |
30-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix memory leaks in llvm code.
raw_llvm.c
raw_pt_fetch_shade_pipeline_llvm.c
|
b7618c89b11a13de98f1e784338a4e02a8db0fd2 |
28-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: stay in bounds even if fetch_count % 4 != 0 if fetch_count % 4 != 0 then on the last iteration we fetch garbage. this patch makes sure we stay within bounds
raw_llvm.c
|
7327a84b18140f30f2a4254066ae8ed025a8dfc0 |
29-Apr-2010 |
Michel Dänzer <daenzer@vmware.com> |
gallium/draw: Fix PPC compiler warning.
raw_vs_ppc.c
|
63d1134c862ea83435e492a53f70b2902a6645a9 |
29-Apr-2010 |
Michel Dänzer <daenzer@vmware.com> |
gallium/draw: Fix PPC build failure.
raw_vs_ppc.c
|
0e4f0e8725cd93fc1e51e4caa09aadf340add11a |
28-Apr-2010 |
Brian Paul <brianp@vmware.com> |
draw: remove extra semicolons
raw_pt.c
raw_vs.c
|
18d1d59484d2aa8b4f965558f18e13657e4812a9 |
28-Apr-2010 |
Brian Paul <brianp@vmware.com> |
draw: use a cast wrapper
raw_vs_aos.c
|
35883f42967a6dd31939e5653a818233c2e34abf |
28-Apr-2010 |
Brian Paul <brianp@vmware.com> |
draw: put 'create' in the vs varient create function names
raw_vs.h
raw_vs_aos.c
raw_vs_exec.c
raw_vs_sse.c
raw_vs_varient.c
|
dd3b98bdf67df9a5b1127bf7d50bbb6691597bfb |
28-Apr-2010 |
Brian Paul <brianp@vmware.com> |
draw: add missing function parameter
raw_vs_aos.c
|
52f145a186b8e47439fb4a96d04a099d439477b7 |
26-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw/llvm: implement fetch elts paths we were only running the llvm paths when the input elts were linear, now we can handle abritrary fetch elts arrays. we do this by generating two paths - linear and fetch_elts one and just selecting the right one at run time.
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
|
6ecbbc3c056d177174c97ac4d1a57abed3ac3177 |
26-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Always use the llvm middle end when available & enabled.
raw_private.h
raw_pt.c
|
2a30d3d74a0b87f8066659952628ccd072a4e2b0 |
26-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Pass-through pipe_buffer::max_index to translate. max_index must be observed to prevent crashes due to bad index data. I've been using this patch for some time without regressions. Some places, where we use internal vertex buffer, it is not entirely clear what max_index should be, so passing just ~0 to avoid regressions for now.
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_vs.h
raw_vs_varient.c
|
4dd1a568404dcf068cb111db04bb6e904b91d7bd |
25-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Respect pipe_vertex_buffer::max_index in llvm generated code. Everybody should respect max_index, specially llvm generated code, which likes to eat vertices 4 at a time, so it may end up chew a bit a bit more than actually exists.
raw_llvm.c
raw_llvm.h
|
06441af657a1956a5b2a700a70a2b59b0488ee84 |
23-Apr-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: remove old comment
raw_pipe_wide_line.c
|
1820d240cd0b517ca1d73f1e8e0a528ca8d5b092 |
22-Apr-2010 |
Jakob Bornecrantz <jakob@vmware.com> |
gallium: Convert some uses of get option to static
raw_pt.c
raw_vs.c
|
c09f3705196f1472871782d23d588e9fd14a50c7 |
23-Apr-2010 |
Stephen Johnson <sjohnson@vmware.com> |
draw: use FREE() instead of free()
raw_llvm.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.
raw_llvm.c
|
5c364b3ef78cd36a41c43a771efe5b631ea9559b |
21-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Make LLVM integration work without llvmpipe too (e.g. sofptipe). Prevents the assertion failure.
raw_context.c
|
8cb223eb020560d59c8f73e09b832cef477933b7 |
21-Apr-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: fix point sprite handling New draw API function to indicate whether or not to convert points to quads for sprite rasterization. Fix point-to-quad conversion regression in the wide-point stage. We need to check the pipe_rasterizer_state::point_quad_rasterization flag.
raw_context.c
raw_context.h
raw_pipe.c
raw_pipe_validate.c
raw_pipe_wide_point.c
raw_private.h
|
d30ab4394e7c6b1f3508eb68d673fbf315907781 |
21-Apr-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: use local var to simplify code
raw_pipe_validate.c
|
ec8d9523d465554e3ffaa1aeef46bfff868281d3 |
20-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
gallivm: Universal format support on lp_build_fetch_rgba_aos via util_format_description::fetch_rgba_float This therefore adds support to half float vertex buffers.
raw_llvm_translate.c
|
2cb0a20f67e3f47a96980271e6548318fc8539c1 |
20-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Fallback to gallivm for translation of A8R8G8B8/B8G8R8A8/R10G10B10X2/R10G10B10X2 and other formats. These need swizzles, and bitshifts.
raw_llvm_translate.c
|
373f03efe70b9fb47dda9955d9c0437dae0edbff |
20-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Remove draw_vs_llvm.c. To silence some warnings. Super-seeded by Zack's new llvm middle end.
raw_vs.c
raw_vs.h
raw_vs_llvm.c
|
a6171a9dd99713266091982215bf1008c9ac8e64 |
20-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
Merge branch 'gallium-index-bias'
|
3dcdca433a5d6cde1c0b4d69ff0aa3a5eee26473 |
20-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: No need to rebase for elt_bias. As we are rebasing to min_index + elt_bias, and the vertex buffer has no elt_bias. I still don't know how to exercise this code. I hope this is now right.
raw_pt_vcache.c
|
4e8154e8666ec9375936bbe3fa2ca925ff9be5df |
20-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix cache elt_bias implementation.
raw_pt_vcache.c
|
f1d3f42c47ee0d3c5f13f5b30e6b113d6b542f64 |
20-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix typo resulting from bad regular expression in index bias addition.
raw_pt_vcache_tmp.h
|
49ba607abab17cc07e9f163f5415636474fd7940 |
20-Apr-2010 |
Vinson Lee <vlee@vmware.com> |
draw llvm: Move dereference of pointer after NULL check.
raw_context.c
|
11913e97987ee116e12299d57d85c8676d892120 |
20-Apr-2010 |
Vinson Lee <vlee@vmware.com> |
draw llvm: Remove unnecessary header.
raw_llvm.c
|
7dfde3aadc7f776abf828e4c45dbce2177564a53 |
19-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: make sure use_llvm isn't used when not defined
raw_pt.c
|
e3e5faba89996c64f6d5b5a00b9028900ddbd64f |
19-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix typo (boolean, not bool)
raw_private.h
|
4df3e76949e1ca7b29f844ad9a715b442396a024 |
19-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: allow runtime switching of pipelines (yes/no to llvm) use DRAW_USE_LLVM to disable or enable (default) llvm
raw_private.h
raw_pt.c
|
7c4208c3a0f48955720f41b3cb320a120c505ba6 |
19-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix constructor mess use just one constructor to figure out whether to use llvm.
raw_context.c
raw_context.h
raw_llvm.c
|
2197fac47cb1f87387820678357cc67c9a2536b9 |
19-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Implement index bias.
raw_context.c
raw_context.h
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_varray_tmp_linear.h
raw_pt_vcache.c
raw_pt_vcache_tmp.h
|
62c958738545bbaf4283303613146e6a04f1793a |
17-Apr-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: use a local var to simplify some code
raw_pipe_wide_point.c
|
8f3bdeaad610d7d5a5c6e73e1e9c721219595754 |
19-Apr-2010 |
Brian Paul <brianp@vmware.com> |
Merge branch '7.8' Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/drivers/llvmpipe/lp_context.c
|
e3a34cc7f6c9f959cdc2af4486e84587fab4d0d7 |
19-Apr-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: use correct rasterization state for wide/AA points/lines When points or lines are decomposed into triangles, we need to be sure to disable polygon culling, stippling, "un-filled" modes, etc. This patch sets the rasterization state to disable those things prior to drawing points/lines with triangles, then restores the previous state afterward. The new piglit point-no-line-cull test checks this problem & solution.
raw_context.c
raw_context.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
raw_private.h
|
b609cfc7c9c38f26e7e6d6f7dd5dd6d38f4ed209 |
18-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Cosmetic cleanups and comments.
raw_context.c
raw_pipe.c
raw_pipe_vbuf.c
raw_vertex.h
|
f6f78fac9ed78bf3d6600401200be724a74bdfb6 |
17-Apr-2010 |
Vinson Lee <vlee@vmware.com> |
draw llvm: Remove unnecessary header.
raw_llvm_translate.c
|
b7c5e9b33675249c261f365280a854ee1f97d867 |
16-Apr-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: fix breakage from moving lp_bld_* files
raw_llvm.c
raw_llvm_translate.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
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
9f39d3240b41639cbaa5b6c438a76c34d3f23444 |
13-Apr-2010 |
Vinson Lee <vlee@vmware.com> |
draw llvm: Initialize variable.
raw_llvm.c
|
911fa4a4a16e7cb099107ecf79d9ed8f63139236 |
12-Apr-2010 |
Dave Airlie <airlied@redhat.com> |
ffvertex: don't touch tex coords if coord replace is enabled. The fixed function vertex program shouldn't need to deal or touch tex coords if stuffing is enabled. Though I'm not 100% this won't break assumption made elsewhere it seems like the correct thing to do, and makes r300g point sprites a lot easier to implement. draw: fix point-sprite when vertex program is used. This commit regressed draw, so fix it as well to help bisection. Signed-off-by: Dave Airlie <airlied@redhat.com>
raw_pipe_wide_point.c
|
ea532f0e725bd68e7784189c9b7f6f7bf7f9d901 |
10-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
scons: Make LLVM a black-white dependency. Now that draw depends on llvm it is very difficult to correctly handle broken llvm installations. Either the user requests LLVM and it needs to supply a working installation. Or it doesn't, and it gets no LLVM accelerate pipe drivers.
raw_context.h
raw_llvm.h
raw_private.h
raw_pt.c
raw_vs_llvm.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
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
074084d5639dc0eba93d3497a5618e018b8b7433 |
08-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: hook up the generated function into the draw elts path we were only using the jited function in the linear case, now drawelts correctly uses the same path. it results in a significant gain in real world apps (openarena went from 23fps to 29fps)
raw_pt_fetch_shade_pipeline_llvm.c
|
3ceafcf143d2e0cf73ecf116a2391e540873ca18 |
08-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix vertex buffer indexation.
raw_llvm.c
|
01ec162d5305c7dc1b20b7c54a0cc163a1ea1bcf |
08-Apr-2010 |
Vinson Lee <vlee@vmware.com> |
draw llvm: Remove unnecessary header.
raw_llvm.c
|
821abff8c03031603111abc17dabe7cfa28a31e1 |
07-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: highly reduce the compilation times for draw llvm our code resets pipe_vertex_buffer's with different offsets when rendering vbo, meaning that we kept creating insane number of shaders even for simple apps e.g. geartrain had 54 shaders and it was taking almost 27 seconds just to compile them. this patch passes pipe_vertex_buffer's to the jit function and lets it to the stride/buffer_offset computation at run time. the slowdown at runtime is largely unnoticable but the we go from 54 shaders to 3, and from 27 seconds to less than 1.
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
|
a46ca64562aeaa11a53baa1407226901f2ce0fd9 |
07-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Fix MSVC build (snprintf->util_snprintf).
raw_llvm.c
|
78fd65fd2c9b537b88bf35454b98323029ee1bb3 |
07-Apr-2010 |
Brian Paul <brianp@vmware.com> |
draw: init draw->pt.middle.general = NULL just to be safe This field should be null from the initial calloc() of the draw context, but let's be safe (and improve understanding of the code).
raw_pt.c
|
da17623c33cddf96c0f63b32e25ebc33b04a2b14 |
07-Apr-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Fix USE_DRAW_LLVM build. Use lp_build_engine.
raw_context.h
raw_llvm.c
|
95bfd0067c55859b311feab3109851deb88dbda2 |
07-Apr-2010 |
Vinson Lee <vlee@vmware.com> |
draw llvm: Remove unnecessary headers.
raw_llvm_translate.c
raw_pt_fetch_shade_pipeline_llvm.c
|
1570760a9756234978ff56a9db4c781a630fe6ce |
07-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: disable printing of the LLVM ir
raw_llvm.c
|
45c89091487a9cd3999362cdb486299c4a0f24c6 |
07-Apr-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: add additional DRAW_LLVM check Fixes build breakage.
raw_pt.c
|
06bda76c08618eaf68de70f4f776329e6ef1f196 |
06-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: disable debugging output
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_post_vs.c
|
323fdd8ae5baf16df6c57754e58adc8e22d28e10 |
06-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: implement simple pipeline caching using variants
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
|
1e0bf24139f6047f505b138392fc0f1d6584d6bc |
06-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix iteration for larger vertex arrays we were trying to store the outputs starting at the same offset we were using for the input arrays, which was writing beyond the end of the output array.
raw_llvm.c
|
de0647dbad96db222b5643d03b3f61b093e7ef76 |
06-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: iterate with the correct stop over the outputs it's whatever the var step is (4 usually) not an unconditional 1
raw_llvm.c
|
aeaf2cf18fc74f2d65fcadfad8c19f244ccd4206 |
06-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix draw arrays we don't index within the outputs but only within the inputs
raw_llvm.c
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_post_vs.c
|
9dd70e7b85ddbc73bd976c4dab81476aa36c557e |
06-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix loop iteration and vertex header offsets the loop was doing a NE comparison which we could have skipped if the prim was triangles (3 verts) and our step was 4 verts. also fix offsets in conversion to aos.
raw_llvm.c
raw_pt_fetch_shade_pipeline_llvm.c
|
1b0bab167cd541f70c32249ca3e70da88b8c93c5 |
05-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: when generating the vertex_header struct adjust its name change the name to not clash and accuretly represent the number of inputs we store in the data member
raw_llvm.c
|
cb31d3b5fec6260142ed27cc37f7155915ecfe89 |
03-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix storing of outputs for the rest of the pipeline there's no good way of aligning the output's, and since the vertex_header is variable sized in the first place we need to extract elements from a vector and store them individually into an array. this gets the basic examples working again
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
raw_pt_post_vs.c
|
557b75248a3ebc6daabe3c2b69ac24d409aaa1e0 |
02-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix translation of formats with variable components
raw_llvm_translate.c
|
ab5c09738760bc1b665b9809eaf921f4ac27057e |
02-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: a lot better storing implementation
raw_llvm.c
raw_llvm.h
raw_pt_fetch_shade_pipeline_llvm.c
|
ae5487d4276007e466b6a7c783d6fb740f9539c5 |
01-Apr-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix iteration over buffers fetching was converting garbage
raw_llvm.c
raw_llvm_translate.c
|
880e3fb09b538f6f0b6fad2db7e0e10e9df43555 |
31-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
Merge remote branch 'origin/master' into gallium_draw_llvm
|
93e342574f5fc95789028dbe7cf637257562e9bb |
31-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix a warning
raw_llvm.c
|
b0f946e90069f34e69a0492caa7a2867ae184e9a |
30-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: actually set the constant buffers on the context
raw_llvm.c
raw_pt_fetch_shade_pipeline_llvm.c
|
8bc07fc83e344c9e693bdec4148009320a1731f1 |
30-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: fix some silly mistakes the vs_type selection isn't ideal, but for now both llvmpipe's fs and vs do the same thing which is operate on 4xfloat vector as the base type
raw_llvm.c
raw_llvm_translate.c
|
6f34339af421d4001dcc01114be462d2ea381f16 |
30-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: we translate between pointers, not values directly
raw_llvm_translate.c
|
1963112f9d0a2ed8e237641eef8eb384365d1375 |
30-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvm: various fixes for the translation code the from translation isn't quite right yet
raw_gs.c
raw_llvm.c
raw_llvm.h
raw_llvm_translate.c
|
f44af927ff90a9fe1256d8c6f4869a39a55043d3 |
29-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
draw llvmpipe: lots of fixes for fetch/emit the values passed are still not right, but the general scheme is looking good.
raw_llvm.c
raw_llvm.h
raw_llvm_translate.c
raw_pt_fetch_shade_pipeline_llvm.c
|
fe306e7ea5e789adc955653d9be8cd7f8af47264 |
25-Mar-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Add EMIT_4UB_BGRA format Needed for i915g, also fixed swizzle in draw_vs_aos_io.
raw_vertex.c
raw_vertex.h
raw_vs_aos_io.c
|
84a8347b9f6ef0c1b2519e9bd5fef2ce3c85afb7 |
25-Mar-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Use translate function instead of switch cases
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_vertex.c
raw_vertex.h
|
275c4bd3643d773210780cb8d578ca84f2604684 |
15-Mar-2010 |
Zack Rusin <zackr@vmware.com> |
Merge remote branch 'origin/master' into gallium_draw_llvm
|
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
|
d35ecca5ee231c072687578642e0c22c6c0590b1 |
11-Mar-2010 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove pipe_context member from pipe_transfer There was very little use for this beyond permitting the pipe_context::tex_transfer_destroy() function to omit the pipe_context argument. This change adds the pipe_context argument into tex_transfer_destroy() so that it looks like other pipe_context functions, and removes the pipe_context pointer from pipe_transfer.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
b43c182f19c6291c88420fa12714f952c2b461fb |
11-Mar-2010 |
Keith Whitwell <keithw@vmware.com> |
Squashed commit of gallium-context-transfers: commit 7a2ee04629681e59ea147b440856c4f9a33ae9f8 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 11 14:19:17 2010 +0000 nv: convert to context transfers commit 188a3f5331c8e5966729fd59d02975afb7324adc Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 11 14:11:10 2010 +0000 nouveau: remove unused variable commit 5c8e880ab4dc020358c08728b8adb1637d2dc5bc Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 11 12:31:21 2010 +0000 mesa/st: fix compilation after merge commit c552595333f860c2a4807e195596acdf5d6a5ef8 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 11 12:31:06 2010 +0000 util: fix compilation after merge commit e80836878a3617b0e350d2a8f92311832a1476cb Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 11 12:30:47 2010 +0000 r300g: fix compilation after merge commit 0e4883e9511b9db4e75a4dbc78d7bb970badc15d Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 11 12:18:45 2010 +0000 i965g: fix incorrect merge commit 17d74133d8168eebf93bf1390de79930fc8da231 Merge: cb81c79 aa311ae Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 11 12:08:32 2010 +0000 Merge commit 'origin/master' into gallium-context-transfers Conflicts: src/gallium/drivers/i965/brw_screen_texture.c src/gallium/drivers/r300/r300_screen.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/svga/svga_screen_texture.c src/gallium/state_trackers/egl/x11/native_ximage.c commit cb81c79098bc3a92a4d2a3dcc0edc972dfb407be Author: Keith Whitwell <keithw@vmware.com> Date: Tue Mar 2 16:04:01 2010 +0000 egl/x11: hack for context transfers There is a better approach to this in the winsys-handle branch, but for now avoid using transfers at all by always allocating our own backing store directly. commit f44a24e1d4ad7563f3eedd6b3a5688f53a36265c Author: Keith Whitwell <keithw@vmware.com> Date: Tue Mar 2 16:03:16 2010 +0000 llvmpipe: context transfers commit 4d7475ef8104b3b478c7c6ce77cd3506c57e25d1 Author: Keith Whitwell <keithw@vmware.com> Date: Tue Mar 2 16:02:50 2010 +0000 llvmpipe: disable testprogs build Not working. commit a9bf98c4d36bd92a76f81e83747eb9b8f0a0515f Merge: ee0f97e 0c616da Author: Keith Whitwell <keithw@vmware.com> Date: Tue Mar 2 15:28:25 2010 +0000 Merge commit 'origin/master' into gallium-context-transfers Conflicts: src/mesa/state_tracker/st_cb_accum.c src/mesa/state_tracker/st_cb_bitmap.c commit ee0f97e8d9fd5ef57211a8e1268f505c9829e246 Merge: a7f078e 828f545 Author: Keith Whitwell <keithw@vmware.com> Date: Fri Feb 19 13:00:29 2010 +0000 Merge commit 'origin/master' into gallium-context-transfers Conflicts: src/gallium/auxiliary/util/u_debug.h src/gallium/drivers/i915/i915_context.h src/gallium/drivers/llvmpipe/lp_flush.c src/gallium/drivers/nv30/nv30_screen.h src/gallium/drivers/nv40/nv40_context.h src/gallium/drivers/nv40/nv40_screen.h src/gallium/drivers/nv50/nv50_context.h src/gallium/drivers/r300/r300_screen.c src/gallium/drivers/r300/r300_winsys.h src/gallium/drivers/softpipe/sp_context.c src/gallium/drivers/trace/tr_context.c src/gallium/state_trackers/dri/dri_context.c src/gallium/state_trackers/egl/common/egl_g3d.c src/gallium/state_trackers/python/st_device.c src/gallium/winsys/drm/radeon/core/radeon_drm.c commit a7f078e16d851b53ef316066dcced46eb39ebe24 Author: Keith Whitwell <keithw@vmware.com> Date: Fri Feb 5 14:16:11 2010 +0000 gallium: move texture transfers to pipe_context commit 7b2ffc2019d72e833afea7eebf3e80121187375d Merge: 51e190e c036d13 Author: Keith Whitwell <keithw@vmware.com> Date: Fri Feb 5 09:55:02 2010 +0000 Merge commit 'origin/master' into gallium-screen-context Conflicts: src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c This branch has got a pretty tortured history now, I expect a squash merge will be appropriate when it is done. commit 51e190e95acf120f72768fafb29e9721e358df1b Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 17:58:02 2010 +0000 gallium: fix some build issues commit f524bdaa723fb181637ad30c6ad708aeedabe25b Merge: f906212 3aba0a2 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 17:51:32 2010 +0000 Merge commit 'origin/master' into gallium-screen-context commit f9062126883199eabf045714c717cd35f4b7b313 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 17:17:12 2010 +0000 gallium/docs: small description of screen::create_context commit efcb37bd3d5ed37f06c6105bd2d750b374ec0927 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:42:42 2010 +0000 drm/radeon: more dead create_context wrapper removal commit 6badc0dd9e06cf2ec936940bcf12b9ef5324b301 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:42:30 2010 +0000 drm/i965: more dead create_context wrapper removal commit cf04ebd5a54b18b2d894cfdab2b0f2fd55626ffc Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:42:05 2010 +0000 st/python: more dead create_context wrapper removal commit 444f114c3516abf71c430e6e9d0d2ae3b80679d3 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:37:58 2010 +0000 idenity: wrapped context creation commit 5a6d09cb9e468d1ee6c8d54b887618819d8d94f2 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:28:47 2010 +0000 ws/gdi: remove dead context_create wrapper commit 132b55f4bec39386ac625f09aaa11f609664024c Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:27:52 2010 +0000 ws/gdi: remove dead context_create wrapper commit 56d2d21a0cdcb197a364049d354c2f15a4fc026a Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:25:38 2010 +0000 st/xorg: use screen::context_create commit 838c5cfe56b2af6c644909bed3c5e7cdd64c336a Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:23:20 2010 +0000 glx/xlib: simplify creation of trace-wrapped contexts Trace screen knows how to properly wrap context creation in the wrapped screen, so nothing special to do here. commit c99404c03ebaec4175f08a2f363e43c9085f2635 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:18:24 2010 +0000 st/python: no need to special case context creation for trace commit 193a527a682b6877bb1faecd8092df4dfd055a18 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:15:30 2010 +0000 drm/radeon: remove dead create_context declaration commit bb984eecc25cf23bc77e1c818b81165ba1a07c9a Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:14:58 2010 +0000 nv/drm: remove dead create_context ref commit e809313a44287dc4e16c28e9e74ef3b2b5271aa1 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:12:51 2010 +0000 st/egl: remove a layer of wrappers around screen::create_context commit 39caa6672a04122f185c22e17aab86d1c40938bf Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:05:28 2010 +0000 r300g: fill in screen::context_create commit 407f12556d16ba0656774d8a1d9ebda22f82f473 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 16:04:04 2010 +0000 cell: adapt for screen::create_context, untested commit d02b0c6ce321a04c76fdabb09e0e4380ce1c1376 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:50:24 2010 +0000 drm/nv: adapt for screen::create_context All contexts now created directly through the screen, so remove equivalent code here. Remove apparently un-needed array of contexts in the winsys. commit 53eec5b1349aa1b6892a75a7bff7e7530957aeae Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:50:08 2010 +0000 stw: adapt for screen::create_context, untested commit c6a64de3eb381bc9a88e9fbdecbf87d77925aaf5 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:49:20 2010 +0000 trace: expose the wrapped context's priv data If we are going to keep this priv idea, really want an accessor function for it so that trace and other drivers can wrap that. commit 75d6104e11d86ec2b0749627ed58e35f856ee6eb Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:47:55 2010 +0000 nv30: adapt to screen::context_create commit 12f5deb6ed9723e9b5d34577052b8365813ca14e Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:44:47 2010 +0000 nv40: adapt to screen::context_create commit 14baccaa3b6bbb3b91056126f6521828e786dc62 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:35:27 2010 +0000 nv50: adapt to screen::create_context Not build tested. Need to figure out how to build nouveau. commit a0e94505ccd2d7f3e604465a2ac302f1286b73b6 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:22:27 2010 +0000 llvmpipe: update for screen::create_context, untested commit 0eae17107c950346030e4f7e0ec232f868d3893d Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 15:16:57 2010 +0000 xlib/llvmpipe: remove dead winsys context creation path commit 2f69f9ffaa7e2a01d2483277246ed13051ae4ca3 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 14:58:27 2010 +0000 gallium: convert most code to use screen::create_context I wish I could build all of gallium at once to find breakages. commit d7b57f4061b82322cbcae176125913d9f0dea6c1 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 12:46:21 2010 +0000 glx: permit building with older protocol headers I'd like to be able to build mesa on current distro releases without having to upgrade from the standard dri2proto and glproto headers. With this change I'm able to build on ancient releases such as Ubuntu 9-10... In general, it would be nice to be able to build-test mesa to check for unintended breakages without having to follow the external dependencies of every group working on the codebase. commit 57adedd6fb06c98572ed8d4aef19203df4c4eea2 Merge: da71847 e1906ae Author: Keith Whitwell <keithw@vmware.com> Date: Thu Feb 4 11:38:15 2010 +0000 Merge commit 'origin/master' into gallium-screen-context Conflicts: src/gallium/drivers/softpipe/sp_video_context.h src/gallium/drivers/trace/tr_context.c src/gallium/state_trackers/wgl/shared/stw_context.c src/gallium/winsys/gdi/gdi_softpipe_winsys.c commit da71847ea6414d7e352c6094f8963bb4eda344dc Author: José Fonseca <jfonseca@vmware.com> Date: Sat May 2 08:57:39 2009 +0100 wgl: Use pipe_screen::context_create. commit 2595a188f93fd903600ef5d8517737ee0592035d Author: José Fonseca <jfonseca@vmware.com> Date: Sat May 2 08:56:47 2009 +0100 trace: Implement pipe_screen::context_create. commit f3640e4ae37a5260cbfba999d079f827de0a313a Author: José Fonseca <jfonseca@vmware.com> Date: Sat May 2 08:56:17 2009 +0100 softpipe: Implement pipe_screen::context_create. commit 347266bddc8bd39c711bacb2193793759d0f3696 Author: José Fonseca <jfonseca@vmware.com> Date: Sat May 2 08:55:31 2009 +0100 gallium: New pipe_screen::context_create callback.
raw_pipe_aaline.c
raw_pipe_pstipple.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
|
685340a53e1dcb2a888e634ee71ba24356befe69 |
09-Mar-2010 |
Roland Scheidegger <sroland@vmware.com> |
Merge branch 'gallium-vertexelementcso' Conflicts: src/gallium/auxiliary/cso_cache/cso_context.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/drivers/i915/i915_context.h src/gallium/drivers/i965/brw_draw_upload.c src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_context.h src/gallium/drivers/r300/r300_render.c src/gallium/drivers/r300/r300_state_derived.c src/mesa/state_tracker/st_cb_bitmap.c src/mesa/state_tracker/st_cb_clear.c
|
f3365bceb881b7a5cdd47e6c102ca37454453ce9 |
09-Mar-2010 |
Marek Olšák <maraeo@gmail.com> |
draw: quads never provoke the first vertex
raw_pt_decompose.h
raw_pt_vcache_tmp.h
|
2998cad9ce0c2c60078a28e6a0f3f3bbda3a6535 |
02-Mar-2010 |
José Fonseca <jfonseca@vmware.com> |
Merge branch 'gallium-format-cleanup'
|
4ca70c489baed3e23dbf5e5e5794385113e22252 |
02-Mar-2010 |
Michal Krol <michal@vmware.com> |
Merge branch 'gallium-no-rhw-position' Conflicts: src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_state_derived.c
|
7a61722f693a39cdeb4f5ab2e905f563f742d2e3 |
01-Mar-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Rename pipe formats.
raw_pipe_vbuf.c
raw_pt_emit.c
raw_vs_aos_io.c
|
6da07e45b3e5cb37b63afafb650569d3d275e608 |
23-Feb-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove dead code.
raw_pipe_offset.c
|
c5c5cd7132e18f4aad8e73d8ee879f8823c4c1e7 |
23-Feb-2010 |
Zack Rusin <zackr@vmware.com> |
gallium/draw: initial code to properly support llvm in the draw module code generate big chunks of the vertex pipeline in order to speed up software vertex processing.
raw_context.c
raw_context.h
raw_llvm.c
raw_llvm.h
raw_llvm_translate.c
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch_shade_pipeline_llvm.c
raw_vs_llvm.c
|
63cb6f59eac91ba34cf80ff3736568e40b094fe1 |
22-Feb-2010 |
Michal Krol <michal@vmware.com> |
gallium: Remove bypass_vs_clip_and_viewport from rasteriser state. Needs testing.
raw_context.c
raw_pt.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
|
d89de9c13fe6cd1f2f1a82d8bc0988d06e629def |
21-Feb-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove dead code.
raw_pipe_aapoint.c
|
464a72dd4154f314e08c9d0c4d07417e2bf255f0 |
17-Feb-2010 |
Roland Scheidegger <sroland@vmware.com> |
gallium: remove redundant nr_components field from pipe_vertex_element This is a property of the associated src_format pipe format. Hence use util_format_get_nr_components to query this when necessary instead.
raw_pt.c
|
6536cdf1836a302d334f7380d1723e8f0bc396be |
15-Feb-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Add assert to check input of memcpy.
raw_vs.c
|
13701aae40d8edb5b38be5fb04739f74c1fc8001 |
14-Feb-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Use util_format_name().
raw_pt.c
|
653a83445f94620673f747a4ace6847a2c7fdb4d |
09-Feb-2010 |
Roland Scheidegger <sroland@vmware.com> |
Merge branch 'gallium-nopointsizeminmax' Conflicts: src/gallium/drivers/nv10/nv10_state.c src/gallium/drivers/nv20/nv20_state.c src/gallium/drivers/nv50/nv50_program.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.
raw_private.h
raw_vs_llvm.c
|
68f93ea3eb83cfad014b8ec93cec3564c1aa9833 |
04-Feb-2010 |
Roland Scheidegger <sroland@vmware.com> |
gallium: add point_quad_rasterization bit to rasterizer state This determines if points should be rasterized according to GL point rules or as normal quads (GL point sprites / d3d points / d3d point sprites).
raw_pipe_wide_point.c
|
45dac0d82a5a69166e86dce77c2550f7512c541e |
03-Feb-2010 |
José Fonseca <jfonseca@vmware.com> |
Merge branch 'gallium-embedded'
|
4a4daa75a85db22cd37ebd533ebbccb427e07077 |
03-Feb-2010 |
Roland Scheidegger <sroland@vmware.com> |
gallium: clean up point sprite rasterizer state Don't need sprite coord origin per coord. Also, don't need separate sprite enable bit - if all coords have it diabled, then there are no point sprites (technically, there's a distinction in pre-GL3, but it only differs in having more leniency in clamping to max size, something the state tracker would need to handle and the hardware won't bother anyway). Also, use packed field for the per-coord enables. All in all, should save 3 dwords in rasterizer state (from 10 down to 7).
raw_pipe_validate.c
raw_pipe_wide_point.c
|
6f2e9651a1a460a1f564d30844cb2c9bced71da5 |
03-Feb-2010 |
Brian Paul <brianp@vmware.com> |
draw: remove old hard-coded shader length limits
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
c173eb990a20611ac47c1727e1fb11d7fd3aa0c4 |
03-Feb-2010 |
Brian Paul <brianp@vmware.com> |
draw: re-implement free_bit() with ffs()
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
3d5e26ebecd2cce4dd6ad7d479a968e1859e11df |
03-Feb-2010 |
Brian Paul <brianp@vmware.com> |
draw: comments and var renaming
raw_pipe_aapoint.c
|
256f7f5ab2123bae9549e4f572276e200dc1ae76 |
03-Feb-2010 |
Brian Paul <brianp@vmware.com> |
draw: add const qualifiers, fix return types
raw_context.c
raw_private.h
|
c740a7da6142a9d7c4affddba519b75d47de24fd |
03-Feb-2010 |
Brian Paul <brianp@vmware.com> |
draw: new, updated comments Try to avoid future confusion between different, but similar functions.
raw_context.c
|
2aaca1df9df6980ec88180c8866c8987b31db91a |
02-Feb-2010 |
José Fonseca <jfonseca@vmware.com> |
gallium: Move p_thread.h and p_atomic.h out of gallium interfaces. Into os/os_thread.h and util/u_atomic.h respectively.
raw_pt_util.c
|
38f6f23fcf37247fd709d1c612d08bfa9b124e69 |
02-Feb-2010 |
José Fonseca <jfonseca@vmware.com> |
gallium: Make pipe_atomic a regular int32_t.
raw_pipe.c
|
28486880ca3ec39419ccee0cb1a3bedc9ef7117c |
02-Feb-2010 |
José Fonseca <jfonseca@vmware.com> |
gallium: pipe/p_inlines.h -> util/u_inlines.h
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
06f198285dd1de8aa122a33413f01b573d47b8b6 |
01-Feb-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Add missing includes.
raw_vertex.h
|
7c5f255201f42303188137f56ea8acc030444f0e |
25-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.
raw_context.c
raw_gs.c
raw_gs.h
raw_private.h
raw_vs.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_ppc.c
raw_vs_sse.c
|
9851644435f991a1a1bbb145333a97601627b37d |
25-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Enable multiple constant buffers for vertex and geometry shaders.
raw_context.c
raw_context.h
raw_gs.c
raw_gs.h
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_vs.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_machine.c
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_ppc.c
raw_vs_sse.c
raw_vs_varient.c
|
835bab0143e11ab98551a061043f944fd6eab456 |
19-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Implement 2D constant buffers for fragment shader in softpipe.
raw_gs.c
raw_vs_exec.c
|
83d2b4d4a65958172cf3e30b314d4bffdebefd0b |
28-Jan-2010 |
Vinson Lee <vlee@vmware.com> |
gallium/draw: Remove unnecessary headers.
raw_context.c
raw_pt_fetch_shade_pipeline.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
|
64871747bb7b611ffe429fbf1724bd98ee25dd84 |
22-Jan-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: apply DRAW_PIPE_FLAG_MASK to all vertex elements Depending on first/last provoking vertex either the first or last element/index may have the extra DRAW_PIPE_x flags. Mask off those bits for all vertex elements to be safe (esp. for the quad case). This may be overly cautious, but it's a cheap operation. Fixes a segfault caused by large/bogus vertex indexes otherwise.
raw_pipe.c
|
5ab0d49a07fb81b7545463310c91ada596e26e72 |
22-Jan-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: added comments, whitespace fixes
raw_pipe.c
|
5023a7f53f4b11cdea1ed90d7e856b6eda6dd68e |
21-Jan-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: fix-up comments, whitespace
raw_pipe_cull.c
|
3c31b1b6d15dc5424babd5b4b54cd380d88be84a |
21-Jan-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: replace int with boolean
raw_pipe_validate.c
|
dc544ad9c6e6e24fd2f19dfe83aa294d218f7310 |
22-Jan-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary headers.
raw_context.c
raw_pt.c
raw_pt_fetch.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_post_vs.c
raw_vs_varient.c
|
dee52d5bd31c7bd70883fd7fe496445bb49aad1f |
16-Jan-2010 |
Chia-I Wu <olvaffe@gmail.com> |
gallium: Fix uninitialized instance divisor and index.
raw_pt_fetch_shade_pipeline.c
|
a5c03bd6f16517bf35c273741080492d70d64c29 |
16-Jan-2010 |
Jakob Bornecrantz <jakob@vmware.com> |
draw: Fix memory leak in gs code
raw_context.c
raw_gs.c
raw_private.h
|
b96976cc7c74f601f60d90a23a099bb2605f2edb |
15-Jan-2010 |
Michal Krol <michal@vmware.com> |
draw: Add missing header include.
raw_vs.c
|
f7748d72b46465d807cf4209892d73af62485738 |
15-Jan-2010 |
Luca Barbieri <luca@luca-barbieri.com> |
draw: Add GALLIUM_DUMP_VS environment variable. Add GALLIUM_DUMP_VS to dump the vertex shader to the console like GALLIUM_DUMP_FS in softpipe.
raw_private.h
raw_vs.c
|
5184b02b0793136a15b7edf309d79a1efe1bc73d |
14-Jan-2010 |
Michal Krol <michal@vmware.com> |
Merge branch 'instanced-arrays' Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c
|
bc1b38af71c312d4d109090c51c3fd507b115d81 |
14-Jan-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: s/clipper/clip_stage/ to be consistant with other stages
raw_pipe_clip.c
|
c87361340352850ba793a481c969081b6ecfc0c6 |
14-Jan-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: whitespace and comments
raw_pipe_clip.c
|
ee343feba126c0915983699f729c77891082df6a |
14-Jan-2010 |
Brian Paul <brianp@vmware.com> |
gallium/draw: remove always-true conditional
raw_pipe_clip.c
|
a407636efb6c32cee81b9a1525dbc804aacd957b |
12-Jan-2010 |
Roland Scheidegger <sroland@vmware.com> |
gallium: remove point_size_min and point_size_max from rasterizer state The state tracker is responsible for clamping to any graphics API enforced size min/max limits for both the static point_size setting as well as per vertex point size (in the vertex shader). Note that mesa state tracker didn't actually use these values.
raw_pipe_wide_point.c
|
5dfd5ed5e7d23d4ee8572669af2673c3a1315763 |
12-Jan-2010 |
José Fonseca <jfonseca@vmware.com> |
gallium: Simplify PIPE_ALIGN_VAR. gcc allows pre-fix variable attributes. Suggested by Ian Romanick.
raw_vs_ppc.c
|
86bfe974b880dc2cbf40b91ba0fde34e8a9c756e |
10-Jan-2010 |
José Fonseca <jfonseca@vmware.com> |
gallium: Generalize the alignment macros to other compilers and any alignment.
raw_vs_ppc.c
|
76ff89d2de3807f316954aa97ffdbb51bb3b6966 |
05-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Handle InstanceID as a true 32-bit uint.
raw_pt_fetch.c
|
9b21b3c52a8a7d58d08151d1a6bf25c472dec213 |
05-Jan-2010 |
Michal Krol <michal@vmware.com> |
Merge branch 'master' into instanced-arrays Conflicts: src/gallium/auxiliary/tgsi/tgsi_dump.c src/gallium/include/pipe/p_shader_tokens.h
|
c847a13d38d4e8c5f4c386d060dcc8ec09e491a3 |
01-Jan-2010 |
José Fonseca <jfonseca@vmware.com> |
gallium: Generate a single library for auxiliaries with Make too.
akefile
|
f8f4757d46627fb453f08dc63fde3d7f458eafe2 |
31-Dec-2009 |
José Fonseca <jfonseca@vmware.com> |
scons: Aggregate all tiny libraries in a single library. Makes integration of gallium into out of tree components much easier. No pratical change for components in this tree,
Conscript
|
543b9566bdaa48fea2df1866fa1310c1cdbcde27 |
30-Dec-2009 |
Michal Krol <michal@vmware.com> |
Add lame support for instanceID to draw module. It's all screaming for integer support -- fake it with float for now.
raw_pipe_vbuf.c
raw_pt.h
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_pipeline.c
raw_vs_varient.c
|
6481f40eec0a6c5dea4a74a11b83415478f2c814 |
30-Dec-2009 |
Michal Krol <michal@vmware.com> |
draw: Implement draw_arrays() in terms of draw_arrays_instanced().
raw_pt.c
|
5007e39f76c897b8f3aa4acf6086c8b7ac30bdef |
30-Dec-2009 |
Michal Krol <michal@vmware.com> |
Implement instanced indexed draw.
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_vs_varient.c
|
7ca0ce38340144794267609646048b3820d594ab |
29-Dec-2009 |
Michal Krol <michal@vmware.com> |
Implement draw_arrays_instanced() in softpipe. Modify the translate module to respect instance divisors and accept instance id as a parameter to calculate input vertex offset.
raw_context.h
raw_pipe_vbuf.c
raw_private.h
raw_pt.c
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_vs.h
raw_vs_varient.c
|
fb0a9aa5e0476d8ca332753f52a9e56f9cfa8dfa |
24-Dec-2009 |
Zack Rusin <zackr@vmware.com> |
gallium: remove TGSI_SEMANTIC_VERTICES it's a leftover from an early version of geometry shading support. geometry shaders now encode the primitive size in the PROPERTY token and don't need special input with their size.
raw_gs.c
|
b0bc582db761ea3f47580dd2908a227987177dc2 |
24-Dec-2009 |
Zack Rusin <zackr@vmware.com> |
draw: disable some debugging output coming from the geometry shaders
raw_gs.c
|
49155c3264d019869fadde50ff6167a369e966b6 |
24-Dec-2009 |
Zack Rusin <zackr@vmware.com> |
draw/tgsi: fix geometry shader input/output swizzling
raw_gs.c
|
89d8577fb3036547ef0b47498cc8dc5c77f886e0 |
14-Dec-2009 |
Zack Rusin <zackr@vmware.com> |
gallium: add geometry shader support to gallium
akefile
Conscript
raw_context.c
raw_context.h
raw_gs.c
raw_gs.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_offset.c
raw_pipe_stipple.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_pt_post_vs.c
raw_pt_util.c
raw_pt_varray_tmp_linear.h
raw_vs_varient.c
|
35e8283c69d80debb44b05ea79dc5f67303a7432 |
22-Dec-2009 |
Roland Scheidegger <sroland@vmware.com> |
Merge branch 'gallium-edgeflags' Conflicts: src/mesa/state_tracker/st_draw.c
|
16c6dce013f089d072256652f012b3b604781bfd |
17-Dec-2009 |
Michal Krol <michal@vmware.com> |
Merge branch 'master' into pipe-format-simplify Conflicts: src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/auxiliary/draw/draw_pipe_pstipple.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/auxiliary/util/u_surface.c src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c src/gallium/drivers/cell/ppu/cell_texture.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_tile_cache.c src/gallium/drivers/svga/svga_state_vs.c src/gallium/include/pipe/p_format.h src/gallium/state_trackers/dri/dri_drawable.c src/gallium/state_trackers/egl/egl_surface.c src/gallium/state_trackers/python/p_device.i src/gallium/state_trackers/python/st_softpipe_winsys.c src/gallium/state_trackers/vega/api_filters.c src/gallium/state_trackers/vega/image.c src/gallium/state_trackers/vega/mask.c src/gallium/state_trackers/vega/paint.c src/gallium/state_trackers/vega/renderer.c src/gallium/state_trackers/vega/vg_tracker.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/gallium/state_trackers/xorg/xvmc/surface.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_buffer.c src/gallium/winsys/egl_xlib/sw_winsys.c src/gallium/winsys/g3dvl/xlib/xsp_winsys.c src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c src/gallium/winsys/gdi/gdi_softpipe_winsys.c src/gallium/winsys/xlib/xlib_cell.c src/gallium/winsys/xlib/xlib_llvmpipe.c src/gallium/winsys/xlib/xlib_softpipe.c src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_cb_texture.c src/mesa/state_tracker/st_texture.c
|
50caff5675888c0063c73fa64b88129db7aa11dd |
16-Dec-2009 |
Roland Scheidegger <sroland@vmware.com> |
gallium: edgeflags change fixes use correct number of vertex inputs fix not running pipeline in case of edgeflags changes to mesa to tgsi translation still very broken
raw_pt_post_vs.c
|
a0127b6ced257919180ba3a1bf534b68d9c750be |
14-Dec-2009 |
Roland Scheidegger <sroland@vmware.com> |
gallium: more work for edgeflags changes fixes, cleanups, etc. not working yet
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch.c
raw_pt_fetch_shade_pipeline.c
raw_pt_post_vs.c
raw_vs.c
raw_vs.h
|
f6106566081978f663cf08e54bb8908cb58a5316 |
19-Feb-2010 |
Michal Krol <michal@vmware.com> |
gallium: WIP: Introduce sampler views.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
a08e348a84f57ed5e8bf5888f1ce13934d2ce8fa |
09-Dec-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: first steps to treat edgeflags as regular vertex element The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
raw_context.c
raw_context.h
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch.c
raw_pt_fetch_shade_pipeline.c
raw_pt_post_vs.c
|
9c6a9363ef96c00dd0ad63e340b32479e43fea45 |
04-Dec-2009 |
Roland Scheidegger <sroland@vmware.com> |
Merge branch 'gallium-noblocks' Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
|
6df42d80234d13676fc3207cf44f0e371e3372b5 |
03-Dec-2009 |
Michal Krol <michal@vmware.com> |
Move pf_get_block() to u_format auxiliary module.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
87eec80c1120d2cd9749ee360b77922feabf7f10 |
01-Dec-2009 |
Keith Whitwell <keithw@vmware.com> |
Merge commit 'origin/tgsi-simplify-ext' Conflicts: src/gallium/drivers/r300/r300_vs.c
|
f33c064f32bf3635becd1b2019f670abe7a35ab3 |
01-Dec-2009 |
Michal Krol <michal@vmware.com> |
draw: Update for renamed sampler/texture state setters.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
ac400ffce62be47fc77e8d10cabcd39b92b6c627 |
30-Nov-2009 |
Roland Scheidegger <sroland@vmware.com> |
gallium: interface cleanups, remove nblocksx/y from pipe_texture and more This patch removes nblocksx, nblocksy arrays from pipe_texture (can be recalculated if needed). Furthermore, pipe_format_block struct is gone completely (again, contains just derived state). nblocksx, nblocksy, block are also removed from pipe_transfer, together with the format enum (can be obtained from the texture associated with the transfer).
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
c95cbd45c657ac47e908a4d99d118737034bde43 |
27-Nov-2009 |
Roland Scheidegger <sroland@vmware.com> |
Merge branch 'width0' Conflicts: src/gallium/drivers/r300/r300_texture.c src/gallium/state_trackers/xorg/xorg_exa.c src/mesa/state_tracker/st_cb_texture.c
|
3bae72e20493aeb683e16297d67648e59a817b76 |
26-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: Fix max_index check. We want to fallback to draw splitting when vertex element indices might be too high for atomic draw path (currently limited to 4095).
raw_pt_vcache.c
|
91a4e6d53f83c45c1da9240b6325011d96b61386 |
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_src_register to reduce verbosity SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
raw_vs_aos.c
|
5b0824dfe5eaf59fa87134e7482b3d147b262901 |
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_dst_register to reduce verbosity DstRegister -> Register DstRegisterInd -> Indirect
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
raw_vs_aos.c
|
fe2b31e4a896167a33d267822b36eb2de0ceecba |
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_declaration to reduce verbosity DeclarationRange -> Range
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
7d6c8f980d1e23ad6f557d650e89c715861a3b0c |
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosity InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
raw_vs_aos.c
|
763426a0256f0ab06f8af53947bd630f8600183a |
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: reduce repetition of structure name in its members Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8 |
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: simplify tgsi tokens further Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
ea98e9820d7117f7a187f355445796b1ef5d9e0c |
21-Nov-2009 |
Vinson Lee <vlee@vmware.com> |
draw: Initialize variable in draw_pt.c.
raw_pt.c
|
683e35f726a182ed9fc6b6d5cb07146eebe14dea |
19-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: don't use arrays for texture width,height,depth
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
b7ab7d362764bfc646e7d801fdba5c7c79c7c04f |
27-Oct-2009 |
Vinson Lee <vlee@vmware.com> |
draw: Fix memory leak. This would only be hit if we got and invalid index_size.
raw_pt_vcache.c
|
b9cb74c7f826dfd320f5e5b54aa933898f7ddd3d |
23-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove the swizzling parts of ExtSwizzle These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
raw_vs_aos.c
|
55770d09c18c4d33403abb97dfef4f897efbbe2a |
05-Oct-2009 |
Brian Paul <brianp@vmware.com> |
Merge branch 'mesa_7_6_branch' Conflicts: src/gallium/auxiliary/util/u_cpu_detect.c
|
389021220d27c376b81a6221a31d0ee33c24e67f |
02-Oct-2009 |
Brian Paul <brianp@vmware.com> |
gallium: replace // comments with /* */
raw_pt_post_vs.c
raw_vs_aos.c
|
337480e1f85844b7bd4a4d47cef93a217e3ad464 |
02-Oct-2009 |
Brian Paul <brianp@vmware.com> |
gallium: remove // comment and extra whitespace
raw_pt_fetch_shade_emit.c
|
cd362334adfee077faa3b7cb4e0d7994d5a5cf56 |
24-Sep-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: fix warning
raw_pt_post_vs.c
|
5c5364a0f6ebcc0ff30baffdb6195be9f4ad7f83 |
13-Aug-2009 |
José Fonseca <jfonseca@vmware.com> |
draw: Remove unused variable.
raw_pipe.c
|
bf57eda0ecf1996bc2d188ef0b51a8f3ec993412 |
13-Aug-2009 |
Keith Whitwell <keithw@vmware.com> |
Merge branch 'mesa_7_5_branch'
|
1ce3f5a806f6efb29c231157987e3495c7b41022 |
13-Aug-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: cope with more primitives in draw_pipeline_run This previously was used only for decomposed (POINT/LINE/TRI) primitives, but for some time a full range of primitives could end up in here. Fixes trivial/lineloop-clip on softpipe, among others. (cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)
raw_pipe.c
|
23c0e812bc27e6735f8e7dc48616d90a4b375b28 |
31-Jul-2009 |
Brian Paul <brianp@vmware.com> |
draw: fix-ups for point coord attribute progs/glsl/pointcoord.c works again
raw_pipe_wide_point.c
|
aa99a765c15392d06e3a33d4eda377c58bc6afec |
23-Jul-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: correct address for machine struct in llvm path This changed after a recent commit.
raw_vs_llvm.c
|
ede9f3b52ecb27ada81fee06a943bb595c60eaee |
12-Jun-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove multiple aliases for TGSI opcodes This is a source of ongoing confusion. TGSI has multiple names for opcodes where the same semantics originate in multiple shader APIs. For instance, TGSI includes both Mesa/GLSL and DX/SM30 names for opcodes with the same semantics, but aliases those names to the same underlying opcode number. This makes it very difficult to visually inspect two sets of opcodes (eg in state tracker & driver) and check if they implement the same functionality. This patch arbitarily rips out the versions of the opcodes not currently favoured by the mesa state tracker and leaves us with a single name for each distinct operation.
raw_vs_aos.c
|
fd31f92cea0ce8613a22d8f4b3c75b340bcc5689 |
22-Jul-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: simplify tgsi_full_immediate struct Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
raw_pipe_pstipple.c
raw_vs_aos.c
|
cad82cd0636b4b74597ae2c6bab83a3e94006bf8 |
20-Jul-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: get texturing working in vertex shader sse2 path Missing file from previous commit.
raw_vs_sse.c
|
04dd8b71b48f69fdcef9ad559b57e1e665695b64 |
16-Jul-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: fix ppc build regression Found by x.org tinderbox, reported by Chris Ball.
raw_vs_ppc.c
|
ebc4a9bf2eff7d2c0d89785e865a1df23733e64b |
16-Jul-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
tgsi: reduce x86 reg usage in tgsi_sse generated programs Pass the tgsi_exec_machine struct in directly and just hold a single pointer to this struct, rather than keeping one for each of its internal members.
raw_vs_sse.c
|
c202fe187cf7a08d60e23ce617a5820a8bc510fd |
16-Jul-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: reduce recursive include of tgsi_exec.h A lot of draw code no longer needs to see this header.
raw_private.h
raw_vs.c
raw_vs_exec.c
raw_vs_sse.c
|
6175653d0bceedba1f599d27111bab14f312f134 |
16-Jul-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: proper constructor and destructor for tgsi_exec_machine Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
raw_private.h
raw_vs.c
raw_vs_exec.c
raw_vs_sse.c
|
423f45d18a665423e319dcea08c11ff9f5646a80 |
29-Jun-2009 |
Brian Paul <brianp@vmware.com> |
gallium/draw: sketch out some missing pointcoord code The gl_PointCoord attribute is currently expected to be in the fog coord register's z/w components. This was never totally fleshed out though. This is just some placeholder code.
raw_pipe_wide_point.c
|
21bfd0f4bdd4222346c7f2db956e7fc1645d2130 |
18-Jun-2009 |
José Fonseca <jfonseca@vmware.com> |
draw: Replace pointer arithmetic with cast. Using uintptr_t as intermediate type for pointer -> integer conversions is easier to understand and does not cause any size mismatch warnings. uintptr_t is part of C99, and we already provide a suitable replacement definition for all platforms we care about.
raw_pt_elts.c
|
a04af335a42ce3b28e59ff9b85b2bd433a9d7b12 |
24-Jun-2009 |
Brian Paul <brianp@vmware.com> |
Merge branch 'mesa_7_5_branch' Conflicts: src/mesa/drivers/dri/i915/i915_tex_layout.c src/mesa/drivers/dri/i965/brw_wm_glsl.c src/mesa/drivers/dri/intel/intel_buffer_objects.c src/mesa/drivers/dri/intel/intel_pixel_bitmap.c src/mesa/drivers/dri/intel/intel_pixel_draw.c src/mesa/main/enums.c src/mesa/main/texstate.c src/mesa/vbo/vbo_exec_array.c
|
d2e4643767ce2a1f30e6ef1c86c2aa225c025c32 |
19-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: use u_reduced_prim() function
raw_pt.c
raw_pt.h
raw_pt_util.c
raw_pt_vcache.c
|
9038b6c8bbda49c544d777c7cf7b107887421c77 |
19-Jun-2009 |
Brian Paul <brianp@vmware.com> |
Merge branch 'ext-provoking-vertex' Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
|
0ddc4dbe43422211e6f3fb3278e7b2f55a25976b |
19-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: use flatfirst variable
raw_pt_decompose.h
|
9205a871e75f66de3501519018e76b6f49d2cce8 |
19-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: remove debug code
raw_pt_decompose.h
|
af5fff9c232d30a54b7a15c4a4c128f30afde751 |
19-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: fix first provoking vertex mode for quads, quad strips and polygons
raw_pt_vcache_tmp.h
|
950171be3c8032d590fde3247bf12992aa9139c8 |
19-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: fix first provoking vertex mode for unfilled quads
raw_pt_vcache.c
|
c70a529d7c8dfbb7fbb194261c60aeeb75f5ee35 |
19-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: clean up indentation
raw_pipe.c
|
8b45c9ce6e17f9b74f49d308eda3da1c768bc726 |
10-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: implement flatshade_first for drawing pipeline
raw_pipe_vbuf.c
raw_pt_decompose.h
|
9d58724c51c387c360d2423e29b80ddc0bfa66b7 |
04-Jun-2009 |
Brian Paul <brianp@vmware.com> |
Merge branch 'mesa_7_5_branch' Conflicts: src/mesa/main/context.c
|
1aef032d438aaa40ec28bf279ad5c089370773f0 |
02-Jun-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium/draw: Free specialized versions of driver shaders The pstipple, aaline and aapoint code would create specialized versions of shaders and upload them to the driver -- but never free them.
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
003cfd4dd2491675058c53a8f59553f2443be349 |
02-Jun-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: free more token arrays The AA line and point code also needs to free token arrays after building driver shaders.
raw_pipe_aaline.c
raw_pipe_aapoint.c
|
69a765df1c3bf6acc549a5a6a047bbde16988721 |
02-Jun-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: avoid leaking tokens when building pstipple fragment shader Add missing FREE() after MALLOC().
raw_pipe_pstipple.c
|
9f6ec50f8c79283583eeebdebd16bf7dcd134816 |
01-Jun-2009 |
Brian Paul <brianp@vmware.com> |
Merge branch 'mesa_7_5_branch'
|
427554211b5b8ab2c6afcd5bd574ac97fb3457da |
01-Jun-2009 |
Brian Paul <brianp@vmware.com> |
draw: reset extra_vp_outputs.slot to zero in widepoint_flush() Fixes a crash when clearing the window with a quad after drawing large points. We were asking the draw module how many vertex shader outputs there were and got 3 instead of 2. This led to creating vertices with too many attributes and trying to read invalid memory. We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's flush functions already. This omission was just an oversight in the wide_point stage.
raw_pipe_wide_point.c
|
713b636a0e0356266b714548886b66864b830fff |
28-May-2009 |
Mike Kaplinksiy <mike.kaplinskiy@gmail.com> |
draw: Fix assertion failure at fetch_emit_prepare
raw_pt_fetch_emit.c
|
af09ba96e9e2d783fb0538a82513716c1c9aed3b |
30-Apr-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium/draw: cope with unused vertex_elements
raw_pt.h
raw_pt_fetch.c
raw_pt_fetch_shade_pipeline.c
|
c6b3c2f34b5fdc30e679068d4e6130ba30efc1e4 |
30-Apr-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium/draw: cope with unused vertex_elements
raw_pt.h
raw_pt_fetch.c
raw_pt_fetch_shade_pipeline.c
|
986d4a9ec60ee52067b2d6f81c05f8ec3b8dc8b1 |
02-May-2009 |
Brian Paul <brianp@vmware.com> |
draw: added some inf/nan debug code (disabled)
raw_vs_exec.c
|
eb979cef8535914f428d2462e78f713da558fc18 |
28-Apr-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium/draw: add ability to print out active pipeline stages
raw_pipe.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_pstipple.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_validate.c
raw_pipe_vbuf.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
|
13be57df3ac00a4bdfdafb10605c3be7056a21a5 |
10-Apr-2009 |
Michal Krol <michal@vmware.com> |
draw: Silence pointer-to-integer cast warning.
raw_pt_varray_tmp_linear.h
|
f4cc0692e6f285515e6a86367cf771be30665797 |
10-Apr-2009 |
Michal Krol <michal@vmware.com> |
draw: Fix vertex_header initialisation.
raw_pt_fetch.c
|
5f31890861981d431607b2361ecde04e19726f1e |
09-Apr-2009 |
Michal Krol <michal@vmware.com> |
draw: Fix LIT instruction.
raw_vs_aos_machine.c
|
ef6f1027ff0b6027976a7467b8461ffdd53ce2a8 |
01-Apr-2009 |
Brian Paul <brianp@vmware.com> |
draw: added Nan/Inf assertion in debug code
raw_vs_exec.c
|
079be0fd3f1d0f52f26a95756809ac4a2325ccb1 |
25-Mar-2009 |
José Fonseca <jfonseca@vmware.com> |
draw: Use size_t (for x86_64).
raw_vertex.h
|
d0d5e6a22cca4aae487be6828d1dd87621929a7d |
23-Mar-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: update aa points shader comment
raw_pipe_aapoint.c
|
5488fe84f97b839287abc39727d60ef680f9dd5c |
18-Mar-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: use AOS_ERROR rather than clash-prone ERROR() macro
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
|
683e7091a953204c9aee1410ac44be3b69bae9fc |
13-Mar-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: consolidate bypass_vs and bypass_clipping flags The draw module provides a similar interface to the driver which is retained as various bits of hardware may be able to take on incremental parts of the vertex pipeline. However, there's no need to advertise all this complexity to the state tracker. There are basically two modes now - normal and passthrough/screen-coords.
raw_context.c
raw_pt.c
raw_pt.h
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_post_vs.c
|
45bde75bd67e7e920f0113842d1fa58613ccc3ec |
04-Mar-2009 |
Michel Dänzer <daenzer@vmware.com> |
gallium: Remove some superfluous instances of #include "p_inlines.h".
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
5e27cd46c04a9e7b5904cc014bffd0f4daae31fe |
04-Mar-2009 |
Michel Dänzer <daenzer@vmware.com> |
gallium: Unify reference counting. The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
d9602e5144bc76b9791fa3382ca38c880df96198 |
20-Feb-2009 |
Jakob Bornecrantz <jakob@vmware.com> |
gallium: Improve makefiles for libraries The template makefile that most libraries in gallium included was based on dri and had a bunch unrelevant junk in it. Update it and improve the depending makefiles.
akefile
|
480bb4c2170790d6d04183be33004f83ed9aa630 |
14-Feb-2009 |
Jakob Bornecrantz <jakob@vmware.com> |
draw: Fix segfault if rast is null
raw_context.c
|
3bd7c5ceffc88a052c5e8e114df2f2c7549ddb4a |
18-Feb-2009 |
Michel Dänzer <daenzer@vmware.com> |
Merge branch 'gallium-texture-transfer' Conflicts: src/gallium/drivers/softpipe/sp_tile_cache.c
|
76d8951fd3adbb91b2f71d461eec0f304619ca0b |
18-Feb-2009 |
Keith Whitwell <keithw@vmware.com> |
Merge commit 'origin/gallium-0.1' Conflicts: src/gallium/auxiliary/draw/draw_vs_aos.c
|
8ef377d76b721f2f62ca30a073fcfd312c155e95 |
17-Feb-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: Reuse xmm registers.
raw_vs_aos.c
|
59d54334c96f44ed1d8bf660dc96221362a77d04 |
16-Feb-2009 |
Keith Whitwell <keithw@vmware.com> |
Merge branch 'master' into gallium-texture-transfer Conflicts: src/mesa/state_tracker/st_cb_accum.c src/mesa/state_tracker/st_cb_drawpixels.c
|
89e2b9c6c24e1a0b7690b9a7502b0ea198069d10 |
18-Feb-2009 |
Keith Whitwell <keithw@vmware.com> |
Merge commit 'origin/draw-vbuf-interface'
|
ea4bf267e4b023b08043f91ac44592fed1736e7f |
18-Feb-2009 |
José Fonseca <jfonseca@vmware.com> |
util: Move p_debug.h into util module. The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
raw_pipe_vbuf.c
raw_vs_aos.c
|
c706ea4f454b5885d9dc71a605853ee21e527285 |
18-Feb-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: Reuse xmm registers.
raw_vs_aos.c
|
b9de2089b1ffafd7d072d78f716c9e39bab06627 |
16-Feb-2009 |
Alan Hourihane <alanh@vmware.com> |
gallium: fix glean's vertProg1 RSQ test 2 (reciprocal square toot of negative value)
raw_vs_aos.c
|
1c4f67b980b6bec5788336a9cdd18c4fcec5e492 |
17-Feb-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: second argument to unmap is max, not count
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
befa4ff50ec4728de70c04532f8c7342fbd70147 |
17-Feb-2009 |
Keith Whitwell <keithw@vmware.com> |
draw: add map/unmap directives for swtnl driver interface Previously draw module asked for a pointer into (mapped) vertex data, which it would incrementally fill and emit draw commands against. This was hard for the drivers to deal with, especially in the case where a draw command would force a flush and thus an unmap of the vertex data. With this change, the draw module explicitly maps & then unmaps vertex data prior to emitting draw commands.
raw_pipe_vbuf.c
raw_pt.h
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_vbuf.h
|
874f364e9ea3a03d29ae4b6e1c7e2843ef8b9e79 |
11-Feb-2009 |
José Fonseca <jfonseca@vmware.com> |
draw: Cap max vertices instead of failing assert.
raw_pipe_vbuf.c
|
e3028baff2a313baac4a5aea494532605bb8f37a |
10-Feb-2009 |
Michal Krol <michal@vmware.com> |
draw: Fix build -- rename Size to NrTokens.
raw_pipe_pstipple.c
raw_vs_aos.c
|
4617981ec72f7985941bee4b03c534d97ff96bc6 |
05-Feb-2009 |
Michel Dänzer <daenzer@vmware.com> |
gallium: No longer allow CPU mapping surfaces directly. Instead, a new pipe_transfer object has to be created and mapped for transferring data between the CPU and a texture. This gives the driver more flexibility for textures in address spaces that aren't CPU accessible. This is a first pass; softpipe/xlib builds and runs glxgears, but it only shows a black window. Looks like something's off related to the Z buffer, so the depth test always fails.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
872b515e8f0bb1be5bad85fd9d01529c71f07ba2 |
26-Jan-2009 |
Zack Rusin <zack@tungstengraphics.com> |
gallium: standardize on stride instead of pitch in the interface
raw_pt.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
27e5097e2aa6ee2b9cc8dbc5129fa7f4c8eb283c |
27-Jan-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: silence some warnings
raw_vs_aos.c
|
f6759724281a46723d372ba0f73cb626b7f869f0 |
26-Jan-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: queiten compiler warnings
raw_vs_aos.c
|
2ebd969f0f0d0e45e6ac462059cf322f037775f1 |
10-Jan-2009 |
Brian Paul <brianp@vmware.com> |
gallium: code to dump/debug PPC code (disabled)
raw_vs_ppc.c
|
7844b4e730604e613a88f536c4aeee5c02d300fd |
09-Jan-2009 |
José Fonseca <jfonseca@vmware.com> |
draw: Add missing include.
raw_vbuf.h
|
395edbc5151b2ce9dd77a22d104ce886e9326354 |
08-Jan-2009 |
José Fonseca <jfonseca@vmware.com> |
draw: Predeclare struct.
raw_vbuf.h
|
a3ee0aa1bb7c3f9dfc5b13b4e72522c10a22ad05 |
08-Jan-2009 |
José Fonseca <jfonseca@vmware.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.2 Conflicts: src/gallium/auxiliary/tgsi/tgsi_exec.c src/gallium/drivers/cell/spu/spu_command.h src/gallium/include/pipe/p_shader_tokens.h src/mesa/main/config.h src/mesa/main/mtypes.h src/mesa/shader/prog_execute.c src/mesa/shader/slang/slang_emit.c src/mesa/state_tracker/st_program.c src/mesa/state_tracker/wgl/stw_wgl.h src/mesa/state_tracker/wgl/stw_wgl_pixelformat.h
|
2f24bc698412b4635422a52f9d7073ce7854dceb |
30-Dec-2008 |
José Fonseca <jfonseca@vmware.com> |
draw: Avoid integer overflow converting pointers on 64bit archs. Not really an error, as we only care for the lower 4 bits.
raw_vs.c
|
72f993b5b11174c2917af29ef7a86e7866d681fb |
30-Dec-2008 |
José Fonseca <jfonseca@vmware.com> |
draw: Do not specify types in bitfields. As advised by gcc -pedantic.
raw_vertex.h
|
f5d4274b4a8effc70c238060c3728aea629663df |
23-Dec-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: allow driver-override of draw_need_pipeline()
raw_pipe_validate.c
raw_vbuf.h
|
d7e9b0e33a72d282e9326434daf01c61244d9ef1 |
16-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: fix some asserts
raw_pt_varray.c
|
8abc860bd46a6cd584f9a64cb4613be76f82db06 |
15-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.2 Conflicts: src/gallium/winsys/gdi/SConscript
|
9106a18f46cd83180b17f4b30f54bd2d5b437db1 |
11-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: catch vertex overflow higher up
raw_pt_vcache.c
|
401a18a0c64bf8995c2c888b155a711b6187eba5 |
11-Dec-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Silencium compiler warnings on Windows.
raw_pipe_offset.c
|
ce3436795c0ddc110d83a5658e5ff10c202a4490 |
11-Dec-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added missing brace to fix broken build
raw_pt_fetch_emit.c
|
0c31661e73dd2979df22a275452efc71c7064f81 |
11-Dec-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.2
|
d0bc5293d6e1e9c34fa822b7c2928932ed22462c |
11-Dec-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added draw_set_mrd() function to fix polygon offset The Minimum Resolvable Depth factor depends on the driver and can't just be computed from the number of Z buffer bits. Glean's polygon offset test now passes with softpipe. Still need to determine the MRD factor for other gallium drivers, if they use the draw module's polygon offset stage...
raw_context.c
raw_context.h
raw_pipe_offset.c
raw_private.h
|
b716de47798defa7d22b0f15b201af6fba27f0b9 |
10-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: change 65535 to UNDEFINED_VERTEX_ID
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
7519107a9787970f9b3b8ec317a2b4526e217290 |
09-Dec-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add const qualifiers
raw_context.c
raw_context.h
|
a8e7852b05f95cc695f3a05692a6ccd36298faf7 |
10-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: more vertex count checks
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
e3f5370d637f367dbfe7d21f726e84185ad1e07d |
10-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: temporary check for > 65535 vertices
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
|
f2bccfd3c806a879abf0c40858806ec3825d0628 |
03-Dec-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added draw_texture_samplers() to support texture fetches from vertex shaders This may only be practical for the softpipe driver at this time.
raw_context.c
raw_context.h
raw_private.h
raw_vs_exec.c
|
0ee92d6ed9c6aae47d990c9ac004034ded5003f1 |
12-Nov-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Add missing include.
raw_pt.c
|
a983f2a6ac04edc2b3407b44c2a1b5bc970c4ce3 |
12-Nov-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Add missing include.
raw_pt.c
|
399da3a337932c6074a69ac73e711138271308eb |
09-Nov-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics only This allows us to use SSE codegen with debug builds again. When PIPE_ARCH_SSE is set (w/ gcc -msse -msse2) we will also use the gcc SSE intrinsic functions.
raw_vs_sse.c
|
a7d9fde24cb8ecc59b0a6fc610135d851806295b |
06-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.2
|
6c3e7365d5245cfad597cd69e2f8f689e62546b9 |
06-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: debug code to print vertex array data (disabled)
raw_pt.c
|
80a718a63bf2fa817e346f0f5731ee9ef2e0e68b |
05-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.2 Conflicts: src/gallium/auxiliary/rtasm/rtasm_execmem.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_log.c src/mesa/state_tracker/st_atom_framebuffer.c
|
f0debbb0bb951bfc6dc0ae467564b3b1230324cf |
05-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL code This prevents vertex shaders from referencing invalid memory locations when the shader is operating on less than four vertices or fragments.
raw_vs_exec.c
raw_vs_sse.c
|
05a17f83b0a6549fde41540f9075505e81ab08d3 |
05-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added some debug code (disabled)
raw_pt.c
|
fc3b361191c35d2b0b072c08e39b1e5b26d7e2a6 |
05-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: disable some debug output
raw_vs_aos.c
|
7115b79b77e541f3eb81db00f6f0c34a0f224feb |
05-Nov-2008 |
michal <michal@quad.(none)> |
draw: Implement TGSI_OPCODE_TRUNC.
raw_vs_aos.c
|
5a0299875c7a4a9a0cb2cf55777c92c1b17d528b |
05-Nov-2008 |
michal <michal@quad.(none)> |
draw: Implement TGSI_OPCODE_TRUNC.
raw_vs_aos.c
|
725ba94ce5701aa8690c7ab2ea792dda86cbbe7a |
29-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: no longer pass max_inst to ppc_init_func()
raw_vs_ppc.c
|
75b92764a7820558fb2b6cd27a2ab0487ef2f9ba |
29-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: clean-ups
raw_vs_ppc.c
|
a045b92511eb43ff89e9c0536464af7866956168 |
29-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: remove old code
raw_vs_ppc.c
|
f4e9526addc617dc78af9b1af781ffe09ce62504 |
29-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: ppc: don't replicate/smear immediate values, use vspltw instruction as with constants
raw_vs_ppc.c
|
6b69e3c71741d99a54c6f4dcb605a3c241239aeb |
23-Oct-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
scons: ppc support.
Conscript
|
abbbe876ac98596b143da295abf6887e0a4e50d2 |
23-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: new PPC built-in constants array It's hard to form PPC vector immediates so load them from an array.
raw_vs_ppc.c
|
7b1d08738f30d0fec2f07568b16e08c4fdddeeac |
22-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
cell: turn on PPC assembly vertex transform gears runs with it now (3x faster FPS than before).
raw_vs_ppc.c
|
ba4faef7c07c47ad4f71f3e6ba94cb54217c56ed |
22-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: temporarily disable PPC vertex shader until more things run
raw_vs_ppc.c
|
b7da4c3dc199ee382bb9924ac86a3485deccc62d |
22-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: PPC vertex shader support Works, but dead code lingering, debug code present, etc.
akefile
raw_vs.c
raw_vs.h
raw_vs_ppc.c
|
05a8f203cdea768466e5faf1dec4155e1e945c78 |
15-Oct-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix the test in vs_exec_prepare() to avoid redundant bindings Fixes regressions seen in progs/samples/prim.c, progs/demos/ray.c
raw_vs_exec.c
|
13f46fa1b9c3009395a0d7f30ebef127f5937451 |
07-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't assume output buffer pointer is aligned (cherry picked from commit 23cc303994eb630c56b1224dfdac51dcea41ed03)
raw_vs_aos_io.c
|
d7f1cb5b5a134b63227d5746a2dd1f05597c5c2f |
10-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.2 Conflicts: src/gallium/auxiliary/gallivm/instructionssoa.cpp src/gallium/auxiliary/gallivm/soabuiltins.c src/gallium/auxiliary/rtasm/rtasm_x86sse.c src/gallium/auxiliary/rtasm/rtasm_x86sse.h src/mesa/main/texenvprogram.c src/mesa/shader/arbprogparse.c src/mesa/shader/prog_statevars.c src/mesa/state_tracker/st_draw.c src/mesa/vbo/vbo_exec_draw.c
|
ca5224945ae11d3c2e80fd39b7e08464d019bbdd |
10-Oct-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: silence warning
raw_private.h
|
23cc303994eb630c56b1224dfdac51dcea41ed03 |
07-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't assume output buffer pointer is aligned
raw_vs_aos_io.c
|
c48da7d78b4e7bdbe056b3c9668756d49019be06 |
06-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add switch for drivers to force vertex data passthrough
raw_context.c
raw_context.h
raw_private.h
raw_pt.c
|
4d7394f89292131323fc8e39efa511a2eeb8cc60 |
07-Oct-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Introduce PIPE_ARCH_SSE define for SSE support. Besides meaning x86 and x86-64 architecture, it also depends on SSE2 support enabled on gcc. This fixes the linux-debug build.
raw_vs_sse.c
|
9b827018133868e84ddc0998a5b5387584c7478c |
06-Oct-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Fix compiler errors on Windows.
raw_vertex.h
|
53d4706c6c0922160f310834daaec5718ff1c511 |
10-Sep-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
make draw's vertex_info struct smaller/quicker to compare with memcmp()
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_vertex.c
raw_vertex.h
|
22eb067c8863cbd9078f136706effd5df3375dbb |
02-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: modify prefetching slightly
raw_vs_aos_io.c
|
21f98ad30aaeab5085d12278830f485e61b47cc1 |
01-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't keep refetching constant inputs
raw_pt_fetch_shade_emit.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
raw_vs_varient.c
|
a15699c3f54edb5d5b42960e7568e587b752e407 |
01-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add streamlined paths for fetching linear verts
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
|
3f477e111a96493ff2863af06a98e8849ffbc6d8 |
28-Sep-2008 |
Stephane Marchesin <marchesin@icps.u-strasbg.fr> |
Gallivm: make it compile again, add some opcodes.
raw_vs_llvm.c
|
918a444913435bdee33214e25811875100f873b0 |
02-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: modify prefetching slightly
raw_vs_aos_io.c
|
af9cfea9cc80411351f9879d8eeb525bf7b4ca50 |
01-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't keep refetching constant inputs
raw_pt_fetch_shade_emit.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
raw_vs_varient.c
|
dd7e5a498066e4ebdb7ad40773de48e5bc993164 |
01-Oct-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add streamlined paths for fetching linear verts
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
|
ab74b8e3549838c0c480555134f5451949bac59f |
28-Sep-2008 |
Stephane Marchesin <marchesin@icps.u-strasbg.fr> |
Gallivm: make it compile again, add some opcodes.
raw_vs_llvm.c
|
a8d1521f30766b6a4707aa9966e1f2f9c0b3ac00 |
18-Sep-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.2 Conflicts: src/mesa/shader/slang/slang_link.c
|
a06d38a74e865a0373a7314aad26b25c27ef8c57 |
18-Sep-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix wide point / point coord semantic info (generic, not fog)
raw_pipe_wide_point.c
|
e852232ebf256d1587ae0d456c366553749fd275 |
14-Sep-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Silence compiler warnings on Windows.
raw_vs_exec.c
|
9defef29c59c580da1f6312f737822cd2efc9e28 |
12-Sep-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec path tgsi_exec_machine_bind_shader() isn't cheap so avoiding unecessary calls is a big win. A similar change should be done for softpipe's fragment exec path but extra care needs to be taken with the texture sampler state/params.
raw_vs_exec.c
|
82086f5d21295d5ceffb0fd9963de7de4112964b |
03-Sep-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Describe the steps in emit_load_R32G32B32A32.
raw_vs_aos_io.c
|
feea0c9d958bc1645b09b288cd4d4756d0d6e61a |
03-Sep-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix out of bounds array errors in SSE execution 1. #define MAX_INPUTS/OUTPUTS/TEMPS/etc with better values. 2. Add assertions in aos_get_x86() to check register file indexes 3. Assert that constant regs haven't changed after running SSE code.
raw_vs_aos.c
raw_vs_aos.h
|
f4d707b40e8dde8cdf68f5c4595b838c138fcf9b |
31-Aug-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Put INLINES where appropriate. In the hope of MSVC inline some more functions, but without much result.
raw_pt_vcache.c
|
e6887a5752774c18cf527477fdd3e57e4893ff3b |
25-Aug-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: attempt atomic submit of large drawelements calls
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_vcache.c
raw_vbuf.h
|
60ac76175b6457ecc1cd8bd7a25cb79b2d529434 |
25-Aug-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added const qualifiers on some draw funcs
raw_context.c
raw_context.h
|
4f25420bdd834e81a3e22733304efc5261c2998a |
25-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h Also, rename p_tile.[ch] to u_tile.[ch]
raw_context.c
raw_pipe.c
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_pstipple.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_util.c
raw_pipe_validate.c
raw_pipe_vbuf.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
raw_pt.c
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_post_vs.c
raw_pt_util.c
raw_pt_varray.c
raw_pt_vcache.c
raw_vbuf.h
raw_vs.c
raw_vs_aos.c
raw_vs_aos_io.c
raw_vs_aos_machine.c
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
raw_vs_varient.c
|
a13475ff0057f1de8e3bc08d6ca42b9e135a3f5a |
23-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: replace align_int() with align() The two functions are identical. Removed align_int() from p_util.h
raw_pt_fetch_shade_pipeline.c
|
120270def74149b240926f827b80ca073536d462 |
22-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: stop using FABSF() macro
raw_pipe_offset.c
raw_pipe_wide_line.c
|
1c2ff4d9e65563c071747a9c3bd907bd24706da0 |
22-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: use new util_fast_exp2(), _log2(), pow() functions New code surrounded with #if FAST_MATH to allow comparing against original code if we need to debug.
raw_vs_aos.c
|
f6abdb20437b1b8d27d8c45c0787017dfcad3497 |
20-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix typo in LINE() macro (replace i+1 with i1 var) We were sometimes referencing an invalid vertex. Fixes progs/trivial/line-clip.c test among others.
raw_pipe.c
|
63c0970dca9c13ab83ea24f108b41f75f2a290a7 |
20-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix an assertion
raw_vs_varient.c
|
0c8f4c25ff1cdf8d4cad21789e0c73b41aa29c98 |
13-Aug-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Use KIL instead of KILP.
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
22604727e469f4a9881f722be319670d5cde4519 |
11-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: emit sprite coords (gl_PointCoord)
raw_pipe_wide_point.c
|
c208a2c791fa24c7c5887fc496738cbddbfafc72 |
27-Jul-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Merge tgsi/exec and tgsi/util directories.
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
raw_private.h
raw_vs_aos.c
raw_vs_aos_io.c
raw_vs_aos_machine.c
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
92d711e9e6c1934e1cec774bfa4581869530cda6 |
13-Jul-2008 |
Stephane Marchesin <marchesin@icps.u-strasbg.fr> |
llvm: build fixes.
raw_vs_llvm.c
|
d25709df1d5d9dccdeb173b33a57018004fe849c |
09-Jul-2008 |
Zack Rusin <zack@tungstengraphics.com> |
draw: remove some debug output
raw_vs_aos_io.c
|
ba9e6339028c36269cb50bb8535e415fa8e6e4c9 |
04-Jul-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix trim() function bug when count < first If the user called glDrawArrays(GL_TRIANGLES, count=1), trim() returned a very large integer because of the unsigned arithmetic.
raw_pt.c
|
cc31eecbcb90dabacabac3e6be7c01cfe3a7a2a6 |
02-Jul-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
gallium: Allow draw module to work on non-x86 platforms again.
raw_vs.c
|
4ddd65967915ca4846f2831bc676c878a29dae4a |
27-Jun-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Drop pipe_texture->cpp and pipe_surface->cpp. The chars-per-pixel concept falls apart with compressed and yuv images, where more than one pixel are coded in a single data block.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
e2c3f06e9649b5b87fc9adbca7d1f07841bba895 |
22-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix non-i386 builds
raw_vs_aos_machine.c
|
aa816d114ee90d0c5b861f622c0063b54f7eb612 |
12-Jun-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Fix MSVC integer size conversion warning.
raw_pt_varray.c
|
f1401385587882bb9d18a5f5b01dcbb71ddf0a2f |
18-Jun-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: additional fixes to ensure even number of vertices per buffer
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_pipeline.c
|
7d7f3e2c9451b2233c196d82d523c50b5d2616cc |
18-Jun-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: split long prims into chunks with an even number of vertices This fixes culling "parity" errors when splitting long tri strips. Splitting strips into chunks with an odd number of vertices causes front/back-face orientation to get reversed and upsets culling.
raw_pt_fetch_shade_emit.c
raw_pt_varray.c
|
20ee00754d432cf6c9aca2ba61e004a83795e160 |
13-Jun-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: disable the codegen for TGSI_OPCODE_EXPBASE2 for now. The x86 code seems to fail for exponents of 4 or larger. See glean's vertProg1/EX2 test.
raw_vs_aos.c
|
08f1b8ac709105d42ec34f8b8a81421e3b0fbc81 |
13-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: fix SSE codegen for instructions that use both a CONSTANT and IMMEDIATE Fixes codegen for instructions like MUL dst, CONST[0], IMM[0]; the two operands would up getting aliased in the x86/sse code. Fixes glean/vertProg1/fogparams test.
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
|
2161b0fafcdc16703162dd489d2ec1e7114cce4c |
12-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't assume vertex position is in data[0]
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_offset.c
raw_pipe_stipple.c
raw_pipe_vbuf.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
raw_private.h
raw_pt_post_vs.c
raw_vs.c
raw_vs.h
raw_vs_aos.c
raw_vs_varient.c
|
807f8f177b3a2833806d84a70e71019f8849239f |
11-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: preserve specular alpha when flatshading -- may be FOGC
raw_pipe_flatshade.c
|
bd9264210097d08073a4ea3619ca25db56245280 |
11-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove another debug assert on failover to generic vs varient
raw_vs_aos.h
|
ab399b555c99c46958c421d900109f78901ddc99 |
11-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove debug assert on failover to generic vs varient
raw_vs_aos.c
|
aa7c21a45b90e6e502c4967f892f1691411d761f |
10-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Revert "draw: no need to rearrange most primitives in vcache for flatshade-first" This reverts commit ad44e68706877ab06929747e7a82c718c1c27e02.
raw_pt_fetch.c
raw_pt_vcache_tmp.h
|
ad44e68706877ab06929747e7a82c718c1c27e02 |
10-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: no need to rearrange most primitives in vcache for flatshade-first The driver/pipeline will still be applying flatshade-first state to the triangles emitted from vcache, so there's no need to rotate the vertices of most primitives. The only exception is POLYGON, as explained in the code.
raw_pt_fetch.c
raw_pt_vcache_tmp.h
|
14a13e3767f080a48a4ae01f803dd0bc8754f441 |
10-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix edgeflags on clipped poly emit
raw_pipe_clip.c
|
061e1c6c57703a92ac17b553f592c0c6114cb227 |
10-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: rework splitting of fan/loop prims in varray.c, fix flatshade issues
raw_pt_varray.c
raw_pt_varray_tmp_linear.h
|
a70684bf256c3d5bc3a729bf9e9cf1a64cb2064a |
10-Jun-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Deprecate GETENV. Replace by debug_get_bool_option. debug_get_bool_option will interpret "n", "no", "0", "f", or "false" as FALSE; and everything else as TRUE. The default value (used when the variable is not set) is received as a parameter.
raw_pt.c
|
1c316f1e824b094977059145a1abcdb50a391f1c |
09-Jun-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: disable a tgsi_dump() call
raw_vs_aos.c
|
a47c222803483c208f720e3fb5015050d4d0eaf4 |
07-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix temp vs output buffer typo in vsvg_run_elts
raw_vs_varient.c
|
463a47bf59398e850d5a6537da1186d855bd2919 |
06-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix intermediate buffer confusion in draw_vs_varient.c The final output buffer can't be used to hold intermediate results as the intermediate vertex size may be greater than the final vertex size, and in any case the output buffer may be uncached in hw drivers.
raw_pt_fetch_shade_emit.c
raw_pt_vcache_tmp.h
raw_vs_varient.c
|
0931b421d67b8ce471f17d43c183017f1eb92e31 |
06-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make sure middle-end primitive is uptodate in vcache
raw_pt_vcache.c
|
f27c7729a98937a761eacceabdfd03f9d694d257 |
06-Jun-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Compile draw_vs_aos only on x86.
raw_vs_aos.h
raw_vs_aos_machine.c
|
b98ac1d47257bf7b2661ae7c1a8904b7bc5d623c |
04-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: init vsvg draw pointer
raw_vs_sse.c
raw_vs_varient.c
|
0a4aea0e86a897d9afb9f2a0ec27f03faf8f1b21 |
02-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: respect driver's max vertex buffer size
raw_pipe_vbuf.c
raw_private.h
raw_pt.h
raw_pt_emit.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_varray.c
raw_pt_varray_tmp_linear.h
raw_pt_vcache.c
|
5b6ea6bfc80fe96755ca4569048b59baa561f22a |
03-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge branch 'gallium-tex-surfaces' into gallium-0.1
|
0a5df5bc7d711a766c9d0963fb2029d60cf70a8b |
03-Jun-2008 |
Michal Krol <michal@ubuntu-vbox.(none)> |
draw: Use register names more consistently.
raw_vs_aos.c
|
183d490ab139483c88d0b0f541714919de86235c |
03-Jun-2008 |
Michal Krol <michal@ubuntu-vbox.(none)> |
draw: Fix fetch_src(). Resurrect SSE version of DP3.
raw_vs_aos.c
|
58cccc8d6b49c75eeabe9b61055e69de824ff757 |
02-Jun-2008 |
Michal Krol <michal@ubuntu-vbox.(none)> |
draw: Fix DP3 implementation by replacing SSE with x87 version.
raw_vs_aos.c
|
6a39bcf3752df7c22cdd38b4645a885eb318add8 |
02-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fast element translate path without delta
raw_pt_vcache.c
|
e0860518dfb5a5c6ba6584e3c1b5d7b203277dac |
02-Jun-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Replace XSTDCALL by PIPE_CDECL.
raw_vs_sse.c
|
5b86ae60fe339ae0b813d16ec328a68ccb2b9514 |
29-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Fix MSVC warnings.
raw_pipe.c
raw_pt_decompose.h
raw_pt_varray.c
raw_vs.c
raw_vs_aos.c
raw_vs_aos_io.c
|
c2ff3a66a1d9fe0b5303ded0503323a73a6a7391 |
31-May-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Fix build after TGSI declaration interface changes.
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
|
a4abedc4f56e0442083aee9b39980900abf6ef40 |
31-May-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Remove const qualifier.
raw_vs_sse.c
|
13581958bd99396ab8ec314f10cf61f717b18a9b |
31-May-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Remove const qualifier.
raw_private.h
|
3b77f391db7827d1fb19a5dc3d8e8d3d705185ae |
31-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Eliminate stdio usage.
raw_vs_sse.c
|
1529a2c983f70ed7ff661ae6e8995cdfbca6d9cf |
30-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: trim incoming primitives
raw_pt.c
|
3869c3c87a40d9f41414082ad8dd3d747e6b34d8 |
30-May-2008 |
Jakob Bornecrantz <jakob@tungstengraphics.com> |
Merge branch 'gallium-tex-surfaces' into gallium-0.1 Conflicts: src/gallium/drivers/i915simple/i915_context.h
|
22be9ea4a63ff051604123de5e82cf4050792ef8 |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: quieten some debug
raw_pt_vcache.c
|
807e7c4ccfdaebf8e568357fb1fd8090ccae638c |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add more switches to turn FSE on/off
raw_private.h
raw_pt.c
|
8808d62f608d1397ee75d0087301d0b0a0278244 |
29-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: MSVC warning fixes. Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c src/gallium/auxiliary/draw/draw_pt_varray_tmp.h src/gallium/auxiliary/draw/draw_pt_vcache.c
raw_pipe_vbuf.c
raw_pt_varray_tmp.h
raw_pt_vcache_tmp.h
|
4a7198fdcfe3256bdefff5d1d766327ae7f18b35 |
29-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
psb: Make msvc happy. Conflicts: src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
raw_pt_fetch_shade_pipeline.c
|
8f887b4252208e60e7e86217ec3b72fb639a4e82 |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: michal's patch for calling powf... teapot still not quite right
raw_vs_aos.c
raw_vs_aos.h
|
a233f65f9b79734498c120e8052aa8d6255586e4 |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: better calculation of fetch_count
raw_pt_vcache.c
|
45eecb93920c5a33e71b3c152749273908cb62fd |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove printf
raw_pt_vcache.c
|
bb2e13b9e82b68ec3b9fc56a4c35e7ead8fd138f |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make sure constant buffer data is aligned before passing to aos.c
raw_context.c
raw_context.h
raw_private.h
raw_vs.c
raw_vs_aos.c
|
82605d7bcd533d7c96cc619c45970efd7229dc3b |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: draw_range_elements trial
raw_context.c
raw_context.h
raw_private.h
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_shade_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_vcache.c
|
cb87d7e44a6d6b1b4239b4e38c76c6bb848d2ef6 |
29-May-2008 |
Michal Krol <michal@tungstengraphics.com> |
scons: Remove duplicate entry.
Conscript
|
6945bcb89370501e0a218bc656e68e30e4dadcda |
29-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Put PIPE_CDECL in the right places. MSVC seems picky about this.
raw_vs_aos.h
raw_vs_aos_machine.c
raw_vs_varient.c
|
62628c4d3d497cbca73fde869c9069fa90e6453e |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: share machine
akefile
Conscript
raw_context.c
raw_private.h
raw_pt_fetch_shade_emit.c
raw_vs.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_machine.c
raw_vs_varient.c
|
728d1f7f43b6db9f4f42c2d16ba223c492d1147d |
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: enable FSE by default
raw_pt.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
raw_vs_sse.c
|
364f75d9dbc2b8e19c884b9cc74676ab6cbee60d |
28-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
draw: Use PIPE_CDECL.
raw_vs_aos.c
raw_vs_aos.h
|
25cec212d05b613a83eb2bc2167e3dab88da0967 |
28-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
scons: Add new files.
Conscript
|
e407e83966f2d7d6d9751fc0069ebacd4808d89d |
28-May-2008 |
Michal Krol <michal@tungstengraphics.com> |
scons: List missing files for draw module.
Conscript
|
ff44dd5cde47c81f90c5293b904e1c7edd006be5 |
28-May-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Decorate callbacks with PIPE_CDECL.
raw_vs_varient.c
|
7fd6cd9af31a6b02564359f820d478ceb970fc7d |
28-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge branch 'gallium-vertex-linear' into gallium-tex-surfaces
|
938d9d596324e411fde5312f2bb65b444c502c37 |
28-May-2008 |
Jakob Bornecrantz <jakob@tungstengraphics.com> |
Merge branch 'gallium-vertex-linear' into gallium-0.1 Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c
|
55d29a8d48663982a1aeea414f69a5896b97d1ea |
28-May-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Windows CE portability fixes.
raw_pt_elts.c
raw_pt_varray.c
raw_vs_sse.c
|
e38bb10824fc3dc194d7cc6987f3f4957784310e |
28-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: reset stipple counter whenever non-line prim encountered
raw_pipe_stipple.c
|
7b85ea19de09d4e7e077ca147528e90e52683690 |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: support psize in vs_varient paths Preserve the vinfo "EMIT_*" format descriptors in the varient key, and deal with PSIZE directly in each implementation.
raw_pt_fetch_shade_emit.c
raw_vertex.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
raw_vs_varient.c
|
fd20d1c7e8bbe2f40d73679b1514023772cfd8f6 |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add disabled debug code
raw_pt_emit.c
raw_pt_fetch_shade_emit.c
|
660fee8351542dadc0d5550164e753f7c2d67261 |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: ensure vs outputs mapped correctly to vinfo attribs
raw_pt_fetch_shade_emit.c
raw_vs.h
raw_vs_aos_io.c
|
2ec419d40dba43305c28fca9658ea00541f67821 |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix ABS aliasing bug
raw_vs_aos.c
|
f8762ba5234fd1b44e11e76bb5f58d2305c90572 |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: explicitly list nr_inputs, outputs in varient key
raw_pt_fetch_shade_emit.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos_io.c
raw_vs_varient.c
|
f64c44ad3e55467ce964871502445cf5a0fb46d6 |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove dead file
raw_pt_middle_fse.c
|
9f9f6c21be105de41a58128605b911e679efe8f0 |
27-May-2008 |
Jakob Bornecrantz <jakob@tungstengraphics.com> |
draw: Fixed typo in draw_pt_varray and added comments
raw_pt_varray.c
|
9752ebd99e16646fed3c14712fc0af2c34c9e48f |
27-May-2008 |
Jakob Bornecrantz <jakob@tungstengraphics.com> |
draw: Fix for EMIT_4UB case
raw_pt_fetch_shade_emit.c
|
a08c574bfcf72c7f7ffbeb35c10347b491ef87fb |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: hook up viewport / rhw emit to varient key state
raw_pt_fetch_shade_emit.c
raw_vs_aos.c
raw_vs_varient.c
|
50c1d329b95ad78e03ca4d537daee4d11f308c7a |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: restore extras path in draw_pt_vcache.c, keep pipeline flags out of non-pipeline elts
raw_pt_vcache.c
|
f7946bc7c0435ab2926cd729dfd8312222a3aa2a |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: dump individual instructions as they are processed
raw_vs_aos.c
|
5dc44184fa9f07465b7ff2be94394c55392ce5e9 |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix writemask/shufps confusion
raw_vs_aos.c
|
4e2567f0ab6afd701bea4c35e388663e90f5cb6c |
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: some possible fixes for spilling
raw_vs_aos.c
|
aa16e3a2750993afdba16c24237bb6d8d8e4d91a |
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: defensively flush pipeline backend when setting primitive
raw_pt_emit.c
|
93bfc94c351a2eafd43ac7a20b362d969f98d86a |
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: defensively reset render primitive some more
raw_pt_emit.c
|
d80c24a81a9a46c132fe877dde6919a57cacf8c0 |
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: defensively reset render primitive, which can get clobbered by clipping
raw_pt_emit.c
|
529762d5df6d9427f9fa0927e38b9886e412a6bc |
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add missing break
raw_pt_emit.c
|
351eca365c0ba488000c3826d5093de6170381e4 |
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: extend precision in RSQ opcode
raw_vs_aos.c
raw_vs_aos.h
|
721fb5597e687fc1446119002ab03cc428104b29 |
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: more aos tweaks
raw_vs_aos.c
|
9c7568965c00dcc2e9403a2f94f1cd09dcd783ae |
25-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: slight tweak for XPD opcode
raw_vs_aos.c
|
3afb7198e01516dba38bb3248d4c0161e54650fe |
25-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove EXP & LOG from vs_aos.c These don't get hit & look like bug magnets to me...
raw_vs_aos.c
|
ce331e3a5e2a0505e01637861bdd7f5e6cfbd041 |
25-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: special case for writing out scalar results
raw_vs_aos.c
|
caadc8d944c558e1fa9f23c3616d726337a19862 |
25-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: clean up some of the xmm register manipulation function names
raw_vs_aos.c
|
584a3dcf8e4042cc1a5d48d83ea63d0a3c9706c1 |
25-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add viewport support to generic vs varient code
raw_vs_varient.c
|
a6fca8acb5e8ce0e5e6ce91a524e2bb4c180d3ac |
25-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix input vs output typo in emit
raw_vs_aos_io.c
|
86e529ad90411d21bca3d70984b2db202e7a0cd6 |
24-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: use lookup tables to avoid calling pow() in LIT opcode
raw_vs_aos.c
raw_vs_aos.h
|
6172f1295cf812108d8ceba15a83ba87880360d3 |
24-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add a debug-print which can be called from inside generated shaders
raw_vs_aos.c
raw_vs_aos.h
|
3b41d619a1b7cc8c356c32af777486461ddd7926 |
23-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: faster LIT(), incorrect though
raw_vs_aos.c
|
7106da136069f865747e03c30ca245bc030b241b |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: correct but slow LIT() in aos varient
raw_vs_aos.c
|
43df4642f1d2f3d2673a1d5e4f5126f5175fb899 |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: tweak x87_emit_ex2 to avoid changing x87 fpu settings
raw_vs_aos.c
|
260001430bbd28ea17201f1980ab1ebed93b246f |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: use aligned movs within draw_vs_aos.c
raw_vs_aos.c
|
65cb09249e750b45ec3fc9a57670fc77250efc5e |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: for debug, do rhw divide in aos_sse viewport calcs
raw_vs_aos.c
|
6780a6dede31e7f2eb465e1d7b507b3e64fe6ec9 |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: shortcircuit shuffle in aos_sse when possible
raw_vs_aos.c
|
7b25c1a4032960752d8a8e950bdf75740b2de2e8 |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove FPU_MANIP ifdef
raw_vs_aos.c
|
05029c919d46299ca259ee8af880d0a65f95ce7c |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: clean up masked writes in aos sse, make some xmm function names clearer
raw_vs_aos.c
|
c684ffa02d8d43ee04b99ee63ccd1adb66e81c1a |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: clean up internal immediates in aos sse
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
|
a5c3b499fa40f46298389900e74f1db04f99166a |
22-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fse works with elts, remove assert
raw_pt_fetch_shade_emit.c
|
5b1bd30f22ffa3955150ec008631d0f4754d340f |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: when preloading args to x87 stack, need to use reverse order
raw_vs_aos.c
|
083f3f5c32a28d2993a8a5a8b4f5ef81224a5ec3 |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: avoid a pointless mov in many sse opcodes
raw_vs_aos.c
|
0a7a0d79f64de9794878c42bc5b79a04772d7ed8 |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix x87_ex2 and partially fix lit insn
raw_vs_aos.c
|
2302a5d3c1ea2c682dfc034012a054b8327a81de |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix fpu control word manipulations
raw_vs_aos.c
|
194a7be28f6eed502f2475d9a637cb3610ca75f6 |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix vs aos internal/machine state
raw_vs_aos.c
raw_vs_aos.h
|
889473b3f5a216bd753c357974d6bae29fe3c41d |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add viewport to varient state
raw_pt_fetch_shade_emit.c
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_sse.c
raw_vs_varient.c
|
1ba10e5ccf5cd0c990922e982e1e9bc6be48a5e4 |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add aos vertex shader varient
akefile
raw_vs.h
raw_vs_aos.c
raw_vs_aos.h
raw_vs_aos_io.c
raw_vs_sse.c
|
ba738a3135415de8b381cd8845cd6c435d5747a8 |
21-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: mark varient functions as PIPE_CDECL
raw_vs.h
|
7c99d7fe60e7bb0b7cf103a851aeef4614278ca6 |
15-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: create specialized vs varients incorporating fetch & emit
akefile
raw_private.h
raw_pt_fetch_shade_emit.c
raw_vs.c
raw_vs.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
raw_vs_varient.c
|
2f0d1396e4c1626b3b1ac799bd29e86a9530369e |
13-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move some state into a new 'vs' area
raw_context.c
raw_pipe.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_flatshade.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_wide_point.c
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_pt_middle_fse.c
raw_vs.c
raw_vs_exec.c
raw_vs_sse.c
|
b23706454bb165a62888d264e95a98a2e4cf139c |
13-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: get rid of fetch-shade-emit frontend hack The code is now living in it's intended place as a pt middle end.
akefile
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch_shade_emit.c
|
8b25b5256fad23e8ea11c6931ecac658ca60c0b0 |
13-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove disabled non-sse swizzle code
raw_vs_sse.c
|
d00c8a52f37347fc72982611f910e85cbadca029 |
19-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
Merge branch 'gallium-0.1' into gallium-tex-surfaces
|
21e614eabc5e6a502504f307f3710b4dd0417923 |
19-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix some texture object leaks
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
09900df42967a0ba61e78038304fd6c54934ad0d |
19-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-vertex-linear
|
a846b156b8a0d2ef63de8f905af440f54e5668c7 |
19-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
Merge branch 'gallium-0.1' into gallium-tex-surfaces
|
59007a811de2d76ea00164e8f1cacb4a375d1458 |
19-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
if x86_get_func() returns NULL, handle it properly instead of aborting
raw_vs_sse.c
|
54fbd8bbd4e5a484d59907bae852908e3a8b8f3c |
19-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
Merge branch 'gallium-0.1' into gallium-tex-surfaces
|
aeae57693b31bf42833a9d51844fe92e3ab61034 |
15-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
move the swizzling code to gallivm in preperation for code-generating it also some minor cleanups
raw_vs_llvm.c
|
9671f7ae476cadb46f9f8f9d0363f24aabaf9f87 |
17-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: in drivers, make copy of tokens passed to pipe->create_vs/fs_state() The caller can then free the token array immediately.
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
1c624846a81b0218b4a07328f485e295432c6312 |
13-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
decomposition from keith, adds decomposition of more prim to the pipeline
raw_pipe.c
raw_pt_decompose.h
raw_pt_varray.c
raw_pt_vcache.c
|
bbda45ec769120324f44febf00c6bb170f594f23 |
12-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: turn fse path into a middle end Also add some util functions in pt_util.c
akefile
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch_shade_emit.c
raw_pt_middle_fse.c
raw_pt_util.c
raw_pt_varray.c
raw_pt_varray_tmp.h
raw_pt_varray_tmp_linear.h
raw_pt_vcache.c
|
44463b2997826cd14def00abf724a7a65a4fc7cb |
12-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: streamline the varray path - drop support for running the pipeline (ie. don't populate the flags values) - pass through all split-able primitives intact to the middle end - only primitives that can't be split are shunted on the draw-element path
raw_pt.c
raw_pt_varray.c
raw_pt_varray_tmp_linear.h
|
b5e5369da5fc50d63a6ece931fac44b555eb0314 |
12-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add fetch-shade-emit path Enable with TEST_FSE=t. Performs fetch from API-provided vertex buffers, transformation with one of three (two working) hard-coded shaders, and final emit to hardware vertices all in a single pass. Currently only really useful for profiling in conjunction with SP_NO_RAST=t.
akefile
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch_shade_emit.c
|
7ddb925b8bc6c18eba953e34d2b630a3a6593f05 |
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: mimize cost of translate key compares, use cache universally
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
|
73c5505c13c42ba1ab95fa1d1003d5f9327428a5 |
09-May-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
Merge branch 'gallium-0.1' into gallium-tex-surfaces
|
7462f0557f9cce73ff2d32e62ef110b5d8622f87 |
09-May-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
draw: Fix number of vertices allocated in draw_pt_emit().
raw_pt_emit.c
|
501be9c7dd0cc5f985c708fa0e5f35d7fd20deb4 |
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix translate double-free, minor cleanups
raw_pipe_vbuf.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
|
5ee2b5bdcc62e844079829f4f4301aad5374c62e |
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix translate double-free, minor cleanups
raw_pipe_vbuf.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
|
2f9b1b9cc20f079cb46bbbcc9db09880070e4de9 |
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces
|
1a03812fb57e956b438cd42ac68978facb49a99d |
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: mimize cost of translate key compares, use cache universally
raw_pipe_vbuf.c
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
|
36e1bc865b421be8919ce7d26eb4ae593a885372 |
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge branch 'gallium-0.1' into gallium-tex-surfaces
|
cec016271ccf38d2f32e426f96e7d5d1fdf962f7 |
08-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge branch 'gallium-0.1' into gallium-vertex-linear
|
b514f5f3ba4c9cf6c39cbcdf5bf0d2d8efb8d19b |
08-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: only fill in / compare the part of the translate key we're using. It's quite a big struct & we examine it a lot (too much). Reduce the impact of this by just looking at the active part where possible.
raw_pt_emit.c
raw_pt_fetch.c
|
8ea6106f01f38853e9c0f1029da55eb449109aea |
08-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
fix quad strips
raw_pt_varray_tmp.h
raw_pt_varray_tmp_linear.h
|
8d709ae1595047b45a81f2fbd22850887fdbfea0 |
08-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
fix triangle strips
raw_pt_varray_tmp.h
raw_pt_varray_tmp_linear.h
|
22323af525d00022a1fa06fab7ee84df5ef2d1f0 |
08-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
fix silly mistakes
raw_pt_varray_tmp.h
raw_pt_varray_tmp_linear.h
|
fe586f8612dd517b9a1f0d87fbaf3a75e3caf588 |
07-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
redo the linear paths
raw_pipe.c
raw_private.h
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_varray.c
raw_pt_varray_tmp.h
raw_pt_varray_tmp_linear.h
|
e897fd6cd35c6b9e398e1903d2e79678fe85708a |
05-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
fix the regressions
raw_pt_varray_tmp.h
|
66d72f176de2568f053c6dc54e93d423723ae8aa |
04-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
silence debugging output
raw_pt_emit.c
|
a24cb269e1ba5434acf8c94abd03517c149b9c51 |
04-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
implement linear path for fetch_emit pipeline
raw_pt_fetch_emit.c
raw_pt_varray.c
|
ff1fee2cae9fabb47d6a2eb1f9f8094fec3c377f |
04-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
don't fill in linear fetch_elts
raw_pt_varray.c
raw_pt_varray_tmp.h
|
abb08e9335b5d7cb004dc9e6cec390ab6968abe5 |
04-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
implement linear emition and fetching and plug it in the varray paths
raw_pt.h
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_shade_pipeline.c
raw_pt_varray.c
raw_pt_varray_tmp.h
|
90a46ed277cc887d49c8d8c627174c3bd693ecf7 |
02-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
split larger primitives in the simple varray pt
raw_pt.c
raw_pt_varray.c
raw_pt_varray_tmp.h
|
2abc1b3641e435e0b68490fa6b0a7ffa7c030c76 |
01-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
abstract fetching elts
raw_pt_varray.c
raw_pt_varray_tmp.h
|
c3a8a41faabed4c9b84a6fbaf7a86a089b8fcbba |
02-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge branch 'gallium-0.1' into gallium-tex-surfaces
|
731e7b961cd081ac6a64b636937716ce3a623c2c |
01-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
re-add pipe_surface map/unmap inlines
raw_vs_sse.c
|
bc4952987419d77fabbf4fa43913f6e488bdb211 |
01-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
added cast for MSVC
raw_pipe_pstipple.c
|
2004b8a769110456e66d040398eacf25c8592710 |
01-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: label fn args -- shouldn't this be defined where the fn is created?
raw_vs_sse.c
|
6980823da9120d8d8533f7a78eac2d63dece430f |
01-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: avoid aliasing warning
raw_pipe_pstipple.c
|
be7e1297f4d5a2c2949968bea428b4c0e7c75d63 |
01-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: squash warnings
raw_pt_varray.c
raw_pt_vcache.c
|
4584c0efbd547559d30ba9a5e76549fc1b679619 |
01-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: turn on SSE swizzle code
raw_vs_sse.c
|
c9ed86a96483063f3d6789ed16645a3dca77d726 |
01-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: tex surface checkpoint
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
54f94a790e4488445347abcff9a636a9c440d7f9 |
01-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: use the newer PIPE_FORMAT_x_UNORM format names
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
42fb48492e71016c5a2888cd3d2507a89dbd91f3 |
30-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: init hw_key with memset() to silence valgrind warnings We shouldn't be hashing with keys that have uninitialized memory.
raw_pt_emit.c
|
b6d9666a420bd7c31a6696f94ba1025e5204d458 |
28-Apr-2008 |
Michal Krol <michal@tungstengraphics.com> |
gallium: Set SSE_SWIZZLES to 0 by default.
raw_vs_sse.c
|
58d3dff0d3115ddd5397b7f77b5bcf4f9ca616b6 |
28-Apr-2008 |
Michal Krol <michal@ubuntu-vbox.(none)> |
gallium: Generate SSE code to swizzle and unswizzle vs inputs and outputs. Change SSE_SWIZZLES #define to 0 to disable it.
raw_pt_fetch_shade_pipeline.c
raw_vs_sse.c
|
1aedbf9efe4d1cf45be3c27fc3a0eb4a69a1b1b9 |
25-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: emit extra flags whenever pipeline is active The assert was in fact over-sensitive, but emitting the extra flags is pretty trivial & we may as well just do it whenever we know the pipeline is running.
raw_pt_varray.c
raw_pt_vcache.c
|
96cfd804f6dcc0ec9f5e887ff1b402a55886fb0b |
25-Apr-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
gallium: Add draw_pt_varray.c to scons build.
Conscript
|
14cfcb18204233d3d4848ea8e579465983df3d75 |
25-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: no need to special-case elts/get_elts for varray frontend
raw_pt.c
|
4e46e6f52b88ca7df40a52cf994e6fe1e4b9870e |
25-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove unused vars
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
992d0b997f8f7e965e56852b81e01c290f8c13de |
24-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
frontend for rendering without elts
akefile
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_varray.c
raw_pt_varray_tmp.h
|
2926e59e4ad604dedcb639b2961937841afcf005 |
25-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove old assignment of edgeflag value
raw_pt_post_vs.c
|
909894e34ca5e575ce21005e38dc0b5e98e4bcd6 |
24-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: comments
raw_pipe.c
|
da8312a1cf73d0777d51c63148ee090a9acace8b |
24-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: default edgeflag should be one
raw_pt_fetch.c
|
f93332da5655a31b6c44a1079629a15360ff999b |
24-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: handle edgeflags and reset-line-stipple again
raw_pipe.c
raw_pipe.h
raw_pipe_clip.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_private.h
raw_pt.h
raw_pt_fetch.c
raw_pt_vcache.c
raw_pt_vcache_tmp.h
|
bb4f8ae1f93d17c57fd8f62bea24b48131e02037 |
24-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: reorder code to fix a recursive flush
raw_pipe_pstipple.c
|
14d1ca8d867d6e44c756cb759f92421107118b2e |
24-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix issues in recursive flushing When flushing/rendering, some stages (like AA line/point) need to set pipe/driver state. Those driver functions often call draw_flush(). That leads to recursion. Use new draw->suspend_flush flag to explicitly prevent that in the key places. Remove the draw->vcache_flushing field. Reuse draw->flushing as a debug/assertion var.
raw_context.c
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_pstipple.c
raw_private.h
raw_pt_vcache.c
|
8437f5c763c1a1ac364d71426109c2b095bbcc72 |
24-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix comments
raw_pipe_aapoint.c
|
bff371c431b962c62d74800c543e09d258e67551 |
24-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix comments, whitespace changes
raw_pipe_pstipple.c
|
3f6242d3e4d3ee61884a91a3eef4be8dfaadee3c |
23-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: passthrough tri, not point
raw_pipe_wide_line.c
|
95f8f8863a80ce1e584160d4d085213a9bbaef12 |
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Add translate cache to fetch_emit stage and add out of memory checks to code creating the cache.
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
|
5fcd84ab39318a371253b1a7285bc657fb82efed |
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Create a sharable translate_cache and use it.
raw_pt_emit.c
raw_pt_fetch.c
|
5d873c87186fd3a59b46b4e1e0c987120aa961a7 |
23-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: additional debug code
raw_pt_post_vs.c
|
e1180c2d694851ed12e86027aa406ee20546e6d3 |
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
fix the simple hash finding function and use it
raw_pt_emit.c
raw_pt_fetch.c
|
333976c90aafa602816defef3e4cc4a418601a51 |
23-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix broken hashing for vertex translation It seems we get hash collisions fairly easily and the code as it was didn't deal with that properly. I think we need a simpler hashing interface...
raw_pt_fetch.c
|
43be7a4819ad342e1cb3f8e3fb966a8a78dc2c1b |
23-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove stupid debug (Keith)
raw_pipe_vbuf.c
|
d6a965972b48fec95a2bcb778cf05d0468ba2573 |
23-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add missing break (Jakob)
raw_pipe_vbuf.c
|
72fd5b9c5a78792ad8c1fe7c8713a3583008c50a |
23-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added a flushing_vcache flag, test in draw_do_flush() Fixes broken polygon stipple, aaline, aapoint stages
raw_context.c
raw_private.h
raw_pt_vcache.c
|
91e37b71404a83b5e4258e129a2753f7c8fd0706 |
23-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix bad logic in bind_pstip_fragment_shader(): use &&, not ||
raw_pipe_pstipple.c
|
d8f2e400cfe6e32e82d1656d3483905343124b97 |
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Fix a crash. Rasterizer can be null
raw_context.c
|
f088b53769aacbee20135d912c33d688b6002011 |
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Cache translate's structs for emits and fetches. Results in a fair speed improvement.
raw_pt_emit.c
raw_pt_fetch.c
|
500c41b8ba3ad025c69e63a2c74da90674a8037d |
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Fix reporting of clipped vertices.
raw_pt_post_vs.c
|
0588858702d1a5c9c08573ea6817e2e149473cf6 |
22-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: allow drivers to query pipeline state more easily Also, provide a separate flag to say whether the driver can handle clipping/rhw tasks, in addition to the API flag which indicates they have already been done.
raw_context.c
raw_context.h
raw_pipe_validate.c
raw_private.h
raw_pt.c
raw_pt_fetch_shade_pipeline.c
raw_pt_post_vs.c
|
57987ea67320e79e4c2d7e66388806148ece09b5 |
22-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: disable broken edgeflag code - didn't work & was killing performance
raw_pt_vcache.c
|
e406ad5912985920a0d796f1ada58b40316590ed |
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: squash a couple of memory leaks
raw_pt_fetch.c
raw_pt_fetch_emit.c
|
0824fb1d6afc651c0ab814e96f08326c706de216 |
21-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
actually write the results
raw_vs_llvm.c
|
30b4dc29091347252bc61d3be9370db0a45c16c3 |
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: more propogation -- pstipple stage.
raw_pipe_aaline.c
raw_pipe_pstipple.c
|
0d4ece4c5a243dc4b684331bad49f220311e5520 |
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: propogate lots of errors
raw_context.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_pstipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_util.c
raw_pipe_validate.c
raw_pipe_vbuf.c
raw_pipe_wide_point.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_vcache.c
|
0cd90a917d289363a3edb5cfa40c391eb07aa97c |
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: propogate errors out of aapoint stage
raw_context.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
|
69ecc2a577dc45451d56cee3e41cb6e7e542b097 |
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: propogate errors out of aaline stage
raw_context.h
raw_pipe_aaline.c
|
a918a9c744f656c8bf2e3fd2841732e01a5ccefc |
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: consolidate all the passthrough line/tri/point funcs
akefile
Conscript
raw_pipe.c
raw_pipe.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_cull.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_pstipple.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_util.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
|
201ac414d4df00745e487a6ffbc9979a2e70f0c6 |
21-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
make llvm draw paths compile with the latest changes switch the method of distribution of builtins (to get rid of the llvm2cpp dependency)
raw_vs_llvm.c
|
40e0439db448a7d93ddb18faac7f14b47b1343c0 |
21-Apr-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Centralize SSE usage logic.
raw_context.c
raw_context.h
raw_private.h
raw_vs_sse.c
|
68a7cb21fa14eac9e38bf398623739a892cc0d52 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: rearrange debug code
raw_pipe_vbuf.c
raw_pt_fetch_emit.c
raw_vertex.c
raw_vertex.h
|
bfd179776f5ded75c2134a54f0a57a1579118cd0 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add missing translate->set_buffer for fetch emit path
raw_pt_fetch_emit.c
|
d3cb62b8b3ea03bfb9800bf4b738d9814ef3c516 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix scons build
Conscript
|
7d72607e142c0412b88183b849fd701e698b8f79 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move incoming vertex state into draw->pt This state is effectively private to the vertex processing part of the draw module.
raw_context.c
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_elts.c
raw_pt_fetch.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_pipeline.c
raw_pt_vcache.c
|
dcf6f776ce32b89b7ff784bb38030bd29698e005 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make draw_reset_vertex_ids private to the draw_pipe_* code
raw_pipe.c
raw_pipe.h
raw_private.h
|
2dae208fb19e79c7446a29ee5dee53e50283b57c |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make room for extra_vs_outputs
raw_pt_fetch_shade_pipeline.c
|
e7bac4276634ea1ee81ac71f6f6869f87e689872 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: put pipeline flushing behind a new interface
raw_context.c
raw_pipe.c
raw_private.h
|
bee1d31641674c67676de86fbb4b35ca5bf7f33f |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move pt_pipeline code to draw_pipe.c This is now the drawing interface to the pipeline. No more calling into pipeline.first->tri(), etc.
akefile
Conscript
raw_pipe.c
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_pt_pipeline.c
|
c898eae27221bd23b11327553c215a94369eeb99 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: always emit header in draw_pt_fetch.c
raw_pt.h
raw_pt_fetch.c
raw_pt_fetch_shade_pipeline.c
|
507fbe2d327efb8d608ce8e07436b97321560808 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move some pipeline-specific code & state to draw_pipe.[ch]
akefile
raw_context.c
raw_pipe.c
raw_pipe.h
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_pstipple.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_validate.c
raw_pipe_vbuf.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
raw_private.h
raw_pt.c
raw_pt_pipeline.c
raw_pt_post_vs.c
raw_vertex.c
|
0959f909ba585968f0408e78961e1c0ffc69a9f8 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove dead file pipe_wide_prims.c
raw_pipe_wide_prims.c
|
1246d06313f443c91dea07239b43a88ba2b86dde |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove named clipmask flags, tidy up pt middle ends
raw_context.h
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_post_vs.c
|
882e5d84dcb19c24b7b56cfe6049810023f3a17e |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove dead code
raw_vs.h
|
26831bdac594a11e51b6c4b09df78bb11444f5dd |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: rename pipeline files to draw_pipe_*
akefile
Conscript
raw_aaline.c
raw_aapoint.c
raw_clip.c
raw_cull.c
raw_flatshade.c
raw_offset.c
raw_pipe_aaline.c
raw_pipe_aapoint.c
raw_pipe_clip.c
raw_pipe_cull.c
raw_pipe_flatshade.c
raw_pipe_offset.c
raw_pipe_pstipple.c
raw_pipe_stipple.c
raw_pipe_twoside.c
raw_pipe_unfilled.c
raw_pipe_validate.c
raw_pipe_vbuf.c
raw_pipe_wide_line.c
raw_pipe_wide_point.c
raw_pipe_wide_prims.c
raw_pstipple.c
raw_stipple.c
raw_twoside.c
raw_unfilled.c
raw_validate.c
raw_vbuf.c
raw_wide_line.c
raw_wide_point.c
raw_wide_prims.c
|
1b411f894369f6a55c6f11cf650511eaa18a8510 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: sort makefile sources
akefile
|
6c38c600ff1212699e2e8e0f2928cd9e69559ac5 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: rename draw_vertex_shader.c -> draw_vs.c
akefile
Conscript
raw_vertex_shader.c
raw_vs.c
|
6494946db66b62d280e34a0486b83cca15f5b457 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove draw_debug.c
akefile
Conscript
raw_debug.c
|
6d9132de04fc190fea56978849dfc427e5359912 |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make draw_pt_fetch_emit use translate facility
raw_pt_fetch_emit.c
raw_vbuf.c
|
251ebcc175d479dda8d0d5b64fc42f44e747197e |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove more dead data structures
raw_private.h
|
6094e79f4e3350d123c7532b1c73faa60834a62d |
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove dead data structures
raw_context.c
raw_private.h
|
415e8e039ba38716336e8de3d7b3cdc23b9a9d8e |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove draw_vertex_fetch.c
akefile
Conscript
raw_vertex_fetch.c
raw_vs_llvm.c
raw_vs_sse.c
|
709e33cf0bfd552220e46f44e8cfa2063c3cef69 |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove old draw_vertex_shader_queue_flush function
raw_context.c
raw_private.h
raw_vertex_shader.c
|
dd903d83b3ff8dd19f75ac7542b96bc8f1387fe6 |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove old vertex_shader->run() functions
raw_vertex_shader.c
raw_vs.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
66891826421d5b774e081f7a2a85580cd0523fab |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove draw_vertex_cache.c
akefile
raw_context.c
raw_prim.c
raw_vertex_cache.c
|
b11d89dc6d230f7f945f9eb420d39921c648ec20 |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove draw_prim.c
akefile
Conscript
raw_prim.c
raw_pt.c
|
a41c05b20a36d2160aa232d08ed57d3095438025 |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: switch over to draw_pt paths, will remove old code shortly
raw_context.c
raw_private.h
raw_pt.c
|
cb9f0a589623397c3437911aeef39f189213527a |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove draw_vf code, use translate instead
akefile
Conscript
raw_pt_emit.c
raw_vbuf.c
raw_vf.c
raw_vf.h
raw_vf_generic.c
raw_vf_sse.c
|
26c27f6636069ca849a740c3969c577d841484e2 |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove fetch_pipeline middle end -- just use the general path
akefile
Conscript
raw_pt.c
raw_pt.h
raw_pt_fetch_pipeline.c
|
7400bc4b6fb0c20a935cd108afa92814eeafec6d |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
translate: add sse version based on old draw_vf_sse.c
raw_pt_emit.c
raw_pt_fetch.c
|
da9079b936684f88da79425a810d7902e4d6e7ad |
18-Apr-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Add missing files to scons.
Conscript
|
a773f06e969a3992451dd7fe6fd55ea96b2774fa |
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: split off all the extra functionality in the vertex shader This will at least allow us to make the initial gains to get decent vertex performance much more quickly & with higher confidence of getting it right. At some later point can look again at code-generating all the fetch/cliptest/viewport extras in the same block as the vertex shader. For now, just need to get some decent baseline performance.
akefile
raw_context.c
raw_private.h
raw_pt.h
raw_pt_emit.c
raw_pt_fetch.c
raw_pt_fetch_pipeline.c
raw_pt_fetch_shade_pipeline.c
raw_pt_pipeline.c
raw_pt_post_vs.c
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
01b6354e72a84f8c3c22be1f77eab8d9c05920a3 |
17-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: tweak x/ybias values
raw_wide_point.c
|
4dcb09d48981f07a82d7f609fe492453c8fdbcf4 |
17-Apr-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
gallium: Add new file to scons build.
Conscript
|
c503e55d74cf84f87f82b3dab3cb4d38b201d47a |
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move hw vertex emit to a new module
akefile
raw_private.h
raw_pt.h
raw_pt_emit.c
raw_pt_fetch_shade_pipeline.c
|
fe8af141246bdfc0e98beec0089acdb92407bcfa |
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't always run pipeline if clipping
raw_pt.c
|
280bcff1fa200b790d8712946a4ffbaa47a67433 |
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add vertex shader run_linear function
raw_aapoint.c
raw_clip.c
raw_context.c
raw_flatshade.c
raw_private.h
raw_pt_fetch_pipeline.c
raw_pt_fetch_shade_pipeline.c
raw_twoside.c
raw_vertex_fetch.c
raw_vertex_shader.c
raw_vs.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
raw_wide_point.c
|
49becd2d7c751e563ce6be9051dd8e6dad88d1f7 |
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add comment
raw_pt_fetch_emit.c
|
c96d565643de271c6bda066e892b25d0a97ea4d0 |
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: keep record of number of active vertex buffers
raw_context.c
raw_private.h
|
8abfcea690c66f75d61905f0ec5497b8fd7950d4 |
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove misleading comments
raw_pt_pipeline.c
|
3be453bf7fcffd945ee0238e66ff4247a4491f1c |
16-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: allow pt paths to run without a vbuf render stage
raw_pt.c
raw_pt_fetch_shade_pipeline.c
|
d8c389171872b69af3c94ebab02ad5f4bcd2d4df |
16-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove vbuf non-vf debug path, fix some failure modes in draw_vbuf_create()
raw_vbuf.c
|
909e8ce543a6c1e97d55791d2069cbdc56ea9db6 |
16-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: update debug code
raw_vbuf.c
|
a8582efaca35d09c8ca18918a243a9284583356d |
16-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make pt run pipeline when need_pipeline is true, not just when clipped
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_pipeline.c
raw_pt_fetch_shade_pipeline.c
raw_pt_vcache.c
|
a5a7dc24ba2dcf9bbdd73709c4c182e324bdc3a5 |
15-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: Switch one vertex path over to new translate module Will eventually do this for all instances where we are converting vertices from one format to another.
raw_pt_fetch_shade_pipeline.c
|
8cac6f3fcf9d6c08959efc20f8fce9eddbdcd0ef |
15-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: increment output vertex properly
raw_pt_fetch_shade_pipeline.c
|
7eb6f130a1dfb8179ff371eb4e75b47d6ee45d2a |
15-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix first glitch in vertex emit
raw_pt_fetch_shade_pipeline.c
|
6a26a9c58cc38ff636ee88ce01fed40eea500fc0 |
15-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fetch_shade_pipeline needs to translate to hw vertex format (from get_vertex_info)
raw_pt_fetch_shade_pipeline.c
|
01c7dd2629d161bf87af679a3045e1e2d54259fc |
15-Apr-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Add draw_pt_fetch_shade_pipeline.c to scons build.
Conscript
|
983b6a73e1842b436d158dc1d018bd483a1c9929 |
14-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
use the new macro
raw_context.c
raw_pt_fetch_shade_pipeline.c
|
2ba6e1fa71be07a2d75abe2d085d485046c0932b |
14-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
silence some warnings
raw_pt.c
raw_pt_fetch_emit.c
raw_pt_fetch_pipeline.c
raw_pt_fetch_shade_pipeline.c
|
e3309197855b5caf7c4c167d1e7beedf33ed2fdd |
14-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
pass vertex size to shaders so that callee can decide on the size of the vertices and not always have to use the maximum vertex allocation size for them
raw_private.h
raw_pt_fetch_shade_pipeline.c
raw_vertex_cache.c
raw_vertex_shader.c
raw_vs_exec.c
raw_vs_sse.c
|
8cbda9f1088718e5dbb97b9a6ddcc43737f94351 |
14-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove dead code
raw_vf.h
|
36bacf97a6b10f7274f0d3fcf37bf7ebf9388161 |
14-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: always malloc verts for fetch_shade_pipeline
raw_pt_fetch_shade_pipeline.c
|
a82e4996a13ef3cae1497fef95c2fca7631cd889 |
14-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: flush pipeline before trying to allocate more hw vertices
raw_pt.c
raw_pt_fetch_emit.c
raw_pt_fetch_shade_pipeline.c
|
e106b2d3d65585b0aaa0e60afd541da020d9e220 |
14-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move vertex header init out of fetch_shade_pipeline.c
raw_pt_fetch_pipeline.c
raw_pt_fetch_shade_pipeline.c
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
caf293343fd236e97ce399533ac0ada3c7afee7a |
14-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: hide passthrough shading paths behind an environment variable
raw_context.c
raw_private.h
raw_pt.c
|
0c1cb54923f3ab31caa2821e095685277174dd2f |
13-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Implement fetch/shade/pipeline or emit vertex passthrough.
akefile
raw_pt.c
raw_pt.h
raw_pt_fetch_shade_pipeline.c
|
3f7a3dd58c0ce2719af83ff1d89a26185d08c04c |
13-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Make shaders operate on a block of memory instead of arrays of vertex_header's
raw_context.c
raw_private.h
raw_vertex_cache.c
raw_vertex_shader.c
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
808f968f3ad0cb32e86f517753d5715d00e9ec2c |
12-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
return true if one of the vertices has been clipped
raw_private.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
aadbb1d7fbbaada6e378cb60194e5861cadf98d1 |
12-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
pass arbitrary number of vertices to the shader execution cycle
raw_private.h
raw_vertex_shader.c
raw_vs_exec.c
raw_vs_sse.c
|
4f550ab821f9aef9f19d9f1e10785f8c1f511ad4 |
08-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
introduce a define to maxout the processed vertices
raw_vertex_shader.c
|
2ebc99fcbc0c8fc6f6ce50e2ee674312e214ea2f |
12-Apr-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: move duplicated compute_clipmask() code to draw_vs.h
raw_vs.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
7c2416f06e518bc1491fe13e145dcc9487d75449 |
11-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: handle TGSI immediates in SSE code for vertex shaders
raw_vs_sse.c
|
c95dcc49629b72b95826e87e067d7a48753605fb |
08-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
remove usage of vertex_header
raw_pt_fetch_emit.c
raw_vbuf.c
raw_vertex.c
raw_vertex.h
raw_vf.c
|
a8a5376406cabf5aa6a44f7d37f5f8abbb4adf56 |
07-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: strip edgeflags out of fetch-emit path
raw_pt_fetch_emit.c
|
5c19e47362c2d193850e98bd43a2bc2b783b0b5c |
06-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix edgeflag handling on the pt paths Encode edgeflags (and reset_stipple info) into the top two bits of the fetch elements. This info could be moved elsewhere, but for now we can live with a 1<<30 maximum element size... Also use the primitive decomposition code from draw_prim.c verbatim, as it includes all this stuff and is known to work.
raw_pt.h
raw_pt_fetch_pipeline.c
raw_pt_pipeline.c
raw_pt_vcache.c
|
a8ca54955322b34c77a7459246e5639d3f8610cd |
05-Apr-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Use debug_printf().
raw_clip.c
|
5ffc5cce1507fd407399911abefeea988a69394e |
04-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: new debug code, disabled
raw_clip.c
|
84501e68f6294370d6f2f6aec4e7eab57bcc0e72 |
04-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: Handle client-supplied edgeflags. Also, implement support in the draw module. We were hardwiring these to one for quite a long time... Currently using a draw_set_edgeflags() function, may be better to push the argument into the draw_arrays() function. TBD.
raw_context.c
raw_context.h
raw_private.h
raw_pt_fetch_pipeline.c
raw_pt_pipeline.c
raw_vertex_cache.c
|
0b20d1b9b5e0514a68ab460d748753d29df2e70b |
04-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move code to run pipeline from pt to new file Add facility for draw_vbuf.c to reset these vertex ids on flushes. Pre-initialize vertex ids correctly.
akefile
Conscript
raw_context.c
raw_private.h
raw_pt_fetch_pipeline.c
raw_pt_pipeline.c
|
d2cb4ba0bb2388c784f145c59f3798f914dc7f39 |
03-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add passthrough path to the pipeline This handles the case where bypass_vs is set, but vertices need to go through the pipeline for some reason - eg unfilled polygon mode. Demonstrates how to drive the pipeline from inside one of these things.
akefile
Conscript
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_fetch_pipeline.c
raw_vertex_fetch.c
|
add46fbc8cc04d3bce303815541a7bc5d0b33953 |
02-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add missing break statement
raw_pt_fetch_emit.c
|
ae3c91e98ce3355bca22738440f8ba313b3b8b23 |
02-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: Set the backend prim in the pt 'prepare' operation Leaving it until 'run' is bad as the primitive is pretty much state for some drivers and so needs to get set early. In some drivers this is used to determine things like vertex format, etc -- by the time we get to 'run', it's too late to change this.
raw_pt.c
raw_pt.h
raw_pt_fetch_emit.c
raw_pt_vcache.c
|
8e33194837dd206d920889851d9cf22190100c99 |
02-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: add a flag to turn on gl rasterization rules Use this to set up hardware rasterization (if your hardware can do it) or otherwise turn on various tweaks in the draw module. Currently only hooked up to point biasing code.
raw_wide_point.c
|
bc739440c29c551fcc44e9e12d0d9c170d8d24fb |
02-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: add temporary facility for rasterization-time clamping of point sizes
raw_wide_point.c
|
8f8b95ae58c6e51f3bf0bc6ed2fa5ac8b9e82f1e |
01-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove dead code
raw_prim.c
|
edfa8201a50c47376b7aa0c05d7851e3e1353bde |
01-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: more flatshade_first changes - Reduce the number of changes to the normal vertex ordering - Assume that the hardware knows how to do this in the standard case. - Add support to the passthrough vcache path.
raw_prim.c
raw_pt.c
raw_pt.h
raw_pt_vcache.c
raw_validate.c
|
caa44763f7f7aa26ed0b0d1e5af0c410fba6bfe6 |
01-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: respect flatshade_first in flatshade stage
raw_flatshade.c
|
52f40dcc468039fc9cca45a4de20a5aa11228b67 |
01-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: associate rhw divide with clipping not viewport flag
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
4b1377b2403bcb34081f91991f1ffde06df17af1 |
01-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: flush between pt/non-pt modes
raw_pt.c
|
7139b8ef78adb8d08c13e439fc8add31a2d79f36 |
31-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: draw_passthrough.c is obsolete - removed
raw_passthrough.c
|
594dab4769533afaeb30a588e1731a6753a93f0d |
31-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: move the test for bypass_vs into the vs_XXX_run() functions Also: 1. Added an identity_viewport flag to skip viewport transformation when it has no effect. Might also add an explicit bypass_viewport flag someday. 2. Separate the code for computing clip codes and doing the viewport transform. Predicate them separately. Note: even if bypass_vs is set, we still look at the shader to determine the number of inputs and outputs.
raw_context.c
raw_prim.c
raw_private.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
9cbd8400433fb27da03f300b36495baef464cc6b |
31-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: draw_passthrough.c is not used anymore
Conscript
|
499d8aaa476fb67b7355122dc6fbc641e1b44ed0 |
31-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: draw_passthrough.c is not used anymore
akefile
|
63950b11b6060e4e0d06e0d14548ff132a295067 |
30-Mar-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Do not run full pipeline when flatshade_first for point primitives.
raw_prim.c
raw_pt.c
raw_validate.c
|
fc9888014470286d8d651c569aaadf9cd69d8282 |
30-Mar-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Fix bypass_vs semantic misuse.
raw_prim.c
|
a52c0416d1f2105960b4646e2e268aed26814689 |
29-Mar-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: Set vertex state/buffers en-mass.
raw_context.c
raw_context.h
|
f10016b9a0639d7bc814c7b92a30d5b5b2cba5ad |
25-Mar-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Fix some MSVC warnings.
raw_pt_vcache.c
|
39038c11699bbc9baab744542e96d54e91cb452a |
28-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBS The later follows the naming scheme of other limits. Keep the old definition until all possible usage is updated.
raw_context.c
raw_private.h
raw_pt_fetch_emit.c
raw_vf.c
raw_vf.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
df1744c0433f3f73ebf4b06567fefa946a29c3d8 |
27-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: remove temporary static var
raw_prim.c
raw_private.h
|
8cb85807d3bd42cb0e511970e4b409c542d2716b |
26-Mar-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: as for aapoints, make the extra texcoord per-shader state
raw_aaline.c
|
e55dccd0bfc41dbcf306f864c01758f8e28fc660 |
26-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: the generic attrib we use for computing coverage is per-shader Fixes a very tricky conformance failure.
raw_aapoint.c
|
e1543fa55c7972e3634f3f7ba297c010337dfb0d |
25-Mar-2008 |
Michal Krol <michal@tungstengraphics.com> |
draw: Take flatshade_first rasterizer bit into account.
raw_prim.c
|
05a4ecdec2b5fc590eb09cc5a6b4208e0f739c5a |
25-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: vertex fetch can be validated too early leading to an assertion... disable
raw_vertex_fetch.c
|
cbec00849186db11d77fd00822145e11e69cb07f |
25-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't use fetch_and_store for bypass_vs mode, it's not quite right
raw_prim.c
|
4505acf3b28f0b88bf97838ed7898f10e9200b93 |
25-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: take primitive into account when deciding if the pipeline is active
raw_passthrough.c
raw_private.h
raw_pt.c
raw_validate.c
|
6579440ea98e61871fe781c1c9c681645ddcc075 |
25-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: be smarter about picking the sampler unit for pstipple, aaalines Also, if the app really uses all available sampler/texture units, don't just die. Just use the last sampler for the pstipple or aaline texture.
raw_aaline.c
raw_pstipple.c
|
d6af8fc51d0288f34b92b7249c565c382e83765a |
25-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: move sampler_unit field to pstip_fragment_shader since it's per-shader Also, fix another texture refcounting bug.
raw_pstipple.c
|
ae146e4bc86aeade59d018100e39e160f7553994 |
24-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: make a copy of the vertex shader's token array. This solves problems when the state tracker frees the token array when the draw module still needs it.
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
7f430293772f201a59bcf62edd1ed4f942f8be29 |
24-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: use pipe_texture_reference() in a few places (fixes refcounting bugs)
raw_aaline.c
raw_pstipple.c
|
e0a9ce10f4c30b1aec08c46b6a33885782d40dd0 |
24-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: pre-declare referenced structs
raw_pt.h
|
f4588c175280cd2b1f5341cd02bed7e9e7d1fd05 |
24-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Revert "draw: Fix #include order to fix Linux build." This reverts commit a6d17bf671d6bfbb187a62ba14b9ad08fb5dafe1.
raw_pt_elts.c
|
a6d17bf671d6bfbb187a62ba14b9ad08fb5dafe1 |
24-Mar-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
draw: Fix #include order to fix Linux build.
raw_pt_elts.c
|
3b217c7fa77d397540e4b6299a35f586ad53a1a1 |
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: check need_pipeline() in passthrough
raw_pt.c
|
3e9b1bc1009ca1a2923f844d00bf478dc9d24644 |
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: tweak the definition of draw_need_pipeline, fix minor bug
raw_validate.c
|
e6ea786c003762143fdf4c63a6fc6a08f27e444e |
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix crlf
raw_pt.h
raw_pt_elts.c
|
743e990831d74ff764f4677836b7bd9b044d39af |
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: rename emit functions to match pipe_format names
raw_pt_fetch_emit.c
|
899fcde366646a3ab3e42ae819620e790161ac75 |
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: restructure fetch/emit as a pair of function calls
raw_pt_fetch_emit.c
|
301b187ca9a811b608894d20bab934af0a10b8ab |
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix some unsigned vs ushort confusion Middle-end elements are ushort, but prior to that have to treat all elements as unsigned to avoid wrapping and/or overruns.
raw_pt.h
raw_pt_elts.c
raw_pt_vcache.c
|
f40357e25c0520ef1d64ffab03501da4c8b93529 |
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: beginnings of draw module vertex rework Trying to put a structure in place that we can actually optimize. Initially just implementing a passthrough mode, this will fairly soon replace all the vertex_cache/prim_queue/shader_queue stuff that's so hard to understand... Split the vertex processing into a couple of distinct stages: - Frontend - Prepares two lists of elements (fetch and draw) to be processed by the next stage. This stage doesn't fetch or draw vertices, but makes the decision which to draw. Multiple implementations of this will implement different strategies, currently just a vcache implementation. - MiddleEnd - Takes the list of fetch elements, fetches them, runs the vertex shader, cliptest, viewport transform on them to produce a linear array of vertex_header vertices. - Passes that list of vertices, plus the draw_elements (which index into that list) onto the backend - Backend - Either the existing primitive/clipping pipeline, or the vbuf_render hardware backend provided by the driver. Currently, the middle-end is the old passthrough code, and it build hardware vertices, not vertex_header vertices as above. It may be that passthrough is a special case in this respect.
akefile
Conscript
raw_context.c
raw_passthrough.c
raw_prim.c
raw_private.h
raw_pt.c
raw_pt.h
raw_pt_elts.c
raw_pt_fetch_emit.c
raw_pt_vcache.c
|
dae7993afc56be1e71e600af60e01e51eab17eda |
22-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: free samplers, textures in destroy()
raw_aaline.c
raw_pstipple.c
|
28b3b078959db8a1e60adfb66f35ceb04d4f414d |
22-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: fix mem leak (fee pstipple stage)
raw_context.c
|
4984487bc3338fc351a0631eaa4515e4adbb86a9 |
20-Mar-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: add face, dirtyLevels params to pipe->texture_update() This provides better information about which images in texture object have changed. Also, call texture_update() from more places previously missed.
raw_aaline.c
raw_pstipple.c
|
9f50a6a24c922926904c215249c3a0426dd433aa |
19-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added braces to silence warning
raw_prim.c
|
9425a702bef7d3f601e9ddc2b801f00a3d52dbb8 |
17-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: improvements, or extensions at least, to the passthrough path Passthrough is actually more tricky than you'd think...
raw_passthrough.c
raw_vbuf.h
|
5a09ad8248ce452136ed96a3d46532b03c877618 |
14-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: add explicit control for point sprites (convert points to textured quads) New draw_enable_point_sprites() function. Fixes spriteblast.c demo
raw_context.c
raw_context.h
raw_private.h
raw_validate.c
raw_wide_point.c
|
2b8f31a6daf6a52086a3454a5dfd1f8bac046804 |
14-Mar-2008 |
Michal Krol <michal@tungstengraphics.com> |
scons: Remove second occurence of draw_passthrough.c.
Conscript
|
3088eb59497ec8621e003ce3bc87025f257c0a92 |
14-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added some debug code (disabled)
raw_vs_exec.c
|
e4cdce43cebe6a2b38f7ea5145474ca2b12c57bb |
14-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: fix some compiler warnings
raw_prim.c
|
34be3969505d378c5a6734a134f03d094a865c56 |
14-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: fix EMIT_HEADER case in draw_vf_set_vertex_info()
raw_vf.c
|
d088d640fca415261a208d3cbede94a6522ebb6b |
14-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: plug in vertex passthrough code Based on a patch from Zack. Basically, implement a new draw_arrays function that copies the incoming user-vertices to the hardware vertex buffer, doing format/type conversion as needed. The vertex fetch/store code is totally temporary for now.
akefile
Conscript
raw_passthrough.c
raw_prim.c
|
ce49c4c24bf72ea642015d566ff687d512574fd5 |
14-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: fix bug in draw_num_vs_outputs()
raw_context.c
|
cf106789abd4a84e8f07dc6ca12d2261e9bf92cd |
14-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added EMIT_HEADER case
raw_vf.c
|
13334c8dd2744402d43f8ea0a9d2c0e5e76ac28e |
13-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added EMIT_HEADER case in emit_vertex()
raw_vbuf.c
|
b9518a4e39f739a31dd3f62d67563944f8c266a9 |
13-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added new EMIT_HEADER token Used to emit the struct vertex_header info for softpipe. Before we were using the EMIT_ALL token but that's insufficient for the draw pass-through mode. EMIT_ALL might get removed soon...
raw_vertex.c
raw_vertex.h
|
3faf6230ff4b63833c072ac7afeb43c25d3cba22 |
13-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added draw_need_pipeline() predicate function To test if we need any pipeline stage, or whether we can go into passthrough mode.
raw_validate.c
|
8b8c9acdb747499149e633179a8ad10b0e4206b1 |
13-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added draw_enable_line_stipple() function Allows drivers that implement line stipple to turn off this drawing stage.
raw_context.c
raw_context.h
raw_private.h
|
b12a28db96d3bc7f01b6cdc9ee909f95a8c9ccc2 |
13-Mar-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: remove dead code related to shader semantic input/output info
raw_aaline.c
raw_aapoint.c
raw_pstipple.c
|
7ffbaebce1da7fec36a38f424f266806a3a0fc6a |
13-Mar-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix bug in stip_first_tri() Need to compute num_samplers after binding/creating the fragment shader.
raw_pstipple.c
|
fa9e7e9a8debb68611909ac2ffab527c6c39a3e5 |
13-Mar-2008 |
Brian Paul <brianp@kemper.freedesktop.org> |
gallium: remove semantic info from pipe_shader_state Brian's patch to clean up the shader interfaces.
raw_aaline.c
raw_aapoint.c
raw_pstipple.c
|
329c5431348117e5b99adf14936d2f57f2ef5f1f |
13-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: fix polygon stipple Was broken by commit 4528287e040415c2071012d02f20979ff995c754 (bind all samplers/texures at once).
raw_pstipple.c
|
12ab5f97013e398b9f6485b97d6691c3c170447a |
12-Mar-2008 |
Brian <brian@poulsbo.localnet.net> |
gallium: change draw_vertex_shader->state from pointer to struct We were sometimes keeping a pointer to a stack-allocated object. Now make a copy of the pipe_shader_state object. This should fix some seemingly random memory errors/crashes.
raw_private.h
raw_vs_exec.c
raw_vs_sse.c
|
8fd633b5cfa36e0cf0acef096315c9250015aba7 |
12-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: reduce signed/unsigned warnings
raw_passthrough.c
|
339e7ec6805e6de8794514c0a935081b5d36d38f |
12-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: rework CSO-related code in state tracker Use the code in cso_context.c rather than st_cache.c. Basically, binding of state objects now goes through the CSO module. But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're not cached by the CSO module at this time. Also, update softpipe driver to handle NULL state objects in various places. This happens during context destruction. May need to update other drivers...
raw_aaline.c
raw_aapoint.c
raw_pstipple.c
|
5038c20795cb2e49d72c1f43a8b705056592356c |
11-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: don't free our copy of the render stage -- just borrowing it from vbuf stage
raw_context.c
|
ff3c7a3243e4f3fc60e6cfcfc6a2711e9ea5cf65 |
11-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: missing file
raw_passthrough.c
|
d9d2ca7a07469a7d5cdc183f2daa6cf9e30938fe |
11-Mar-2008 |
Zack Rusin <zack@tungstengraphics.com> |
fix compilation
akefile
|
297b3be25a7f097fb9b1a79e332acddc12dcc3fe |
10-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: placeholder/prototype code for a passthrough draw path
akefile
Conscript
raw_context.c
raw_context.h
raw_private.h
raw_vbuf.h
|
7375369fb32e203023fbacf948169aad3f4c3a1d |
10-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: fix compiler warning
raw_pstipple.c
|
3f5b9f4ba49df57e7bbab04eab55a17a99bb5046 |
10-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: use the same bypass_clipping logic on all vs paths
raw_vs_llvm.c
raw_vs_sse.c
|
6d5ee6d9a4a705cce80117f90ee334986f5e5e26 |
10-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: enable bug workaround in draw_vertex_cache_invalidate
raw_vertex_cache.c
|
b721bc8792f6add71dede11924d7060bbce72f0e |
10-Mar-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: WinCE portability fixes.
raw_unfilled.c
|
aff4cf19a753baf0428d2bf53614900e5afea8a3 |
09-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: cope with binding NULL vertex shader (on context delete, for instance)
raw_vertex_shader.c
|
4528287e040415c2071012d02f20979ff995c754 |
05-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: michel's patch to rework texture/sampler binding interface Bind all the samplers/textures at once rather than piecemeal. This is easier for drivers to understand.
raw_aaline.c
raw_pstipple.c
|
19cc2e363185b50d19e4f257dd3558896b9b49d3 |
04-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: dont' compute clipmask or apply viewport when not clipping (rename bypass_clipping to coords_in_window_space?
raw_vs_exec.c
|
800d13df726b9f82f796c86fe7ae6d18231820ec |
03-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add fetch for bgra ubyte surfaces
raw_vertex_fetch.c
|
5240cebb23f4862f4f7458a1b397957e4460b527 |
29-Feb-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix line emit order for unfilled tris A tri drawn with GL_LINE_LOOP and GL_POLYGON w/ fillmode=GL_LINE should produce the same results when line stipple is enabled. Results are correct now.
raw_unfilled.c
|
6da943d204eeb488895933c45e174042cb69c92d |
29-Feb-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: point rast coord tweak
raw_wide_point.c
|
b8ee90e05a98d5a167c1fdb5a8fc3bc0cb4a6a78 |
29-Feb-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: need precalc_flat=1 for wide lines
raw_validate.c
|
2a121e8e2289d2ca136f511c5a6ef049f9c99ec4 |
29-Feb-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: tweak coords for wide lines
raw_wide_line.c
|
78220aea864c36038f8425ad9d8467d2a2bdea58 |
29-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: remove the ugly pipe->draw stage lookup code in aaline/point/pstipple stages Added a void *draw ptr to pipe_context. Probably look for a better solution someday.
raw_aaline.c
raw_aapoint.c
raw_pstipple.c
|
b233b1e2dc2fca2f45b3cb5df167e3675b8cc1fb |
29-Feb-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: new wide point/line stages (missed in prev commit)
raw_wide_line.c
raw_wide_point.c
|
a1a13954885cd469faab49633b5386e5c889e3df |
29-Feb-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: split draw_wide_prim stage into separate point/line stages. This fixes a validation/code-path problem. Enabling the stage for the sake of wide points also inadvertantly caused wide lines to be converted to tris when we actually want them passed through, such as for the AA line stage. This is just cleaner now. Also, replace draw_convert_wide_lines() with draw_wide_line_threshold() as was done for points. Allows for 1-pixel lines to be converted too if needed.
akefile
Conscript
raw_context.c
raw_context.h
raw_private.h
raw_validate.c
|
1774b177b858f9f87d00e54b0bf00e9634e375e9 |
28-Feb-2008 |
Brian <brian@i915.localnet.net> |
gallium: added draw_num_vs_outputs() to query number of post-transform vertex attribs
raw_context.c
raw_context.h
|
cddeca51adf0d2b736a223e47b60f6ef3be85bff |
28-Feb-2008 |
Brian <brian@i915.localnet.net> |
gallium: remove dependencies on pipe_shader_state's semantic info Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.
raw_aaline.c
raw_aapoint.c
raw_clip.c
raw_context.c
raw_flatshade.c
raw_private.h
raw_pstipple.c
raw_twoside.c
raw_vertex_fetch.c
raw_vertex_shader.c
raw_vs_exec.c
raw_vs_sse.c
raw_wide_prims.c
|
6f715dcc219071e574e363a9db4365c9c31ebbd3 |
27-Feb-2008 |
Brian <brian@i915.localnet.net> |
gallium: remove pipe_context->texture_create/release/get_tex_surface() These functions are now per-screen, not per-context.
raw_aaline.c
raw_pstipple.c
|
d4a4bed6638e0156324ff9b270f2248c4b5275bb |
26-Feb-2008 |
Brian <brian@poulsbo.localnet.net> |
gallium: updated prototype (missed in prev commit)
raw_context.h
|
5e29aab1752c3e07ae2ebde4cb00e6550dab0eb2 |
26-Feb-2008 |
Brian <brian@poulsbo.localnet.net> |
gallium: replace draw_convert_wide_points() with draw_wide_point_threshold() Specifying a threshold size is a bit more flexible, and allows the option of converting even 1-pixel points to triangles (set threshold=0). Also, remove 0.25 pixel bias in wide_point().
raw_context.c
raw_private.h
raw_validate.c
raw_wide_prims.c
|
232a41e19faa860f083e414cb1eb38c0617e9241 |
26-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: disable debug code
raw_aapoint.c
|
08a5f49644c4bfc62291c49718f2d18e58527d1d |
26-Feb-2008 |
Brian <brian@i915.localnet.net> |
gallium: rewrite AA point fragment shader to use a CMP instruction instead of IF/ELSE/ENDIF Allows the shader to work on i915 hardware.
raw_aapoint.c
|
cc0cf1154b6288d49d7a9dfd18fb666331dd7334 |
25-Feb-2008 |
Brian <brian@i915.localnet.net> |
gallium: fix bad ptr assignment
raw_context.c
|
d6c7f7e314ee9f034402c919d142bf6ba9844ec9 |
25-Feb-2008 |
Brian <brian@i915.localnet.net> |
gallium: modify draw_find_vs_output() to search vertex shader outputs This simplifies drivers using the draw module and removes the last dependency on vertex-shader "internals". Since the draw module is producing the post-transformed vertices, it makes sense to ask it where specific vertex attributes are located. This could also simplify some things in the state tracker code for selection, feedback, rasterpos...
raw_context.c
|
fdcb9260eea8f9b9deaeeade2a46cffbf3dcaa59 |
24-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Add new files.
Conscript
|
7aadb475e58b91f3c17c2a70f6700225e9ef25ed |
23-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: Fix MSVC warnings.
raw_pstipple.c
|
e9bb63c8e20361597463b2f7f88d84fe2770c8b9 |
23-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
gallium: MSVC fixes.
raw_aapoint.c
|
e9276efafe43219d7af548ce7f5d2440e19836b0 |
23-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: fix bug in which wide point stage overrode the aapoint stage Also, simplify the logic a bit.
raw_validate.c
|
446bfc32a83008e0865ec869bc80b920c907f10f |
22-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: new draw stage for polygon stipple. For hardware without native polygon stipple. Create a 32x32 alpha texture that encodes the stipple pattern. Modify the user's fragment program to sample the texture (with gl_FragCoord) and kill the fragment according to the texel value. Temporarily enabled in softpipe driver, replacing the sp_quad_stipple.c step.
akefile
raw_context.h
raw_private.h
raw_pstipple.c
raw_validate.c
|
eb4dc2dd5ed62e6ccb55ccc2bc13f6a2f3fc1f76 |
22-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: new AA point drawing stage AA points are drawn by converting the point to a quad, then modifying the user's fragment shader to compute a coverage value. The final fragment color's alpha is modulated by the coverage value. Fragments outside the point's radius are killed.
akefile
raw_aapoint.c
raw_context.c
raw_context.h
raw_private.h
raw_validate.c
|
30479ef11004c9498c4ef09048efc56227f104cc |
15-Feb-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: vertex cache rework Take a baby step to straightening out vertex paths.
raw_context.c
raw_prim.c
raw_private.h
raw_vertex_cache.c
raw_vertex_shader.c
|
228f6b978804268a482718e762ebfccbba784949 |
20-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: re-fix some msvc warnings
raw_aaline.c
|
b9da3791c934e05b82063a8c79c423a0a8e29a94 |
19-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Remove src/mesa and src/mesa/main from gallium source include paths.
raw_vf_sse.c
|
b0eef0dc2557febea7d425fee1f9c2da382898a6 |
19-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Add run-time cpu capabilities detection stubs.
raw_vf_sse.c
|
90b2beb661f630966788a6e909dc759c99e38973 |
19-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Simplify makefile boilerplate code. Don't define ASM_SOURCES variable globally -- reserve that variable to be defined locally by makefiles, together with C_SOURCES and CPP_SOURCES.
akefile
|
f430d95a36d55141cd9ef911aab70364ce4a4108 |
18-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Use gallium's rtasm module.
raw_private.h
raw_vf.c
raw_vf_sse.c
raw_vs_sse.c
|
478c14453b33b20724bcdb70cf1f54f4addb71ab |
19-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: remove the prototype/unused wide_line_aa() function
raw_wide_prims.c
|
aceeb80d4f706980aaf71b8e098d4c6718d8ac90 |
19-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: antialiased line drawing New draw/prim stage: draw_aaline. When installed, lines are replaced by textured quads to do antialiasing. The current user-defined fragment shader is modified to do a texture fetch and modulate fragment alpha.
akefile
raw_aaline.c
raw_context.c
raw_context.h
raw_prim.c
raw_private.h
raw_validate.c
|
0448dbd64a2ef217349f4ada4777d432bc82e46d |
18-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Update for llvm -> gallivm rename.
raw_vs_llvm.c
|
33ceb6716a2166db75659fa66d85fb4cfb9633c7 |
18-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Update scons build for new code layout.
Conscript
|
bfd5916eafb9a97ad10f1d4a8738e7dcb02e04f4 |
18-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Code reorganization: split gallium and mesa makefiles. In other words, don't build src/gallium source code from within src/mesa/Makefile. Also, allow to customize which gallium auxiliary dirs, driver driver, winsys dirs get built from the config/* files.
akefile
|
b08d3fa249c830d274dca362b8f824b75fe26945 |
15-Feb-2008 |
Ian Romanick <idr@us.ibm.com> |
Make this file build on non-SSE builds (e.g., Cell)
raw_vs_sse.c
|
b29d8d27292c2ad956d3f0a307603f00ee01af28 |
15-Feb-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: subclass vertex shaders according to execution method Create new files for shaders compiled/executed with llvm, sse, exec respectively
akefile
raw_private.h
raw_vertex_shader.c
raw_vs.h
raw_vs_exec.c
raw_vs_llvm.c
raw_vs_sse.c
|
30d0bacf7aecfb6013ddd665d7385209899eeebd |
15-Feb-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-0.1
|
92fcbf6e7bc622dcace226bb70ff6d5cdbdbaecb |
15-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Code reorganization: s/aux/auxiliary/. "aux" is a reserved name on Windows (X_X)
akefile
raw_clip.c
raw_context.c
raw_context.h
raw_cull.c
raw_debug.c
raw_flatshade.c
raw_offset.c
raw_prim.c
raw_private.h
raw_stipple.c
raw_twoside.c
raw_unfilled.c
raw_validate.c
raw_vbuf.c
raw_vbuf.h
raw_vertex.c
raw_vertex.h
raw_vertex_cache.c
raw_vertex_fetch.c
raw_vertex_shader.c
raw_vf.c
raw_vf.h
raw_vf_generic.c
raw_vf_sse.c
raw_wide_prims.c
|