1ec421823b1263a7b482adf48a15b186ea91efd2 |
|
17-May-2012 |
Olivier Galibert <galibert@pobox.com> |
llvmpipe: Don't mess with the provoking vertex when inverting a triangle. Fixes a bunch of piglit tests related to flat interpolation of floats. Signed-off-by: Olivier Galibert <galibert@pobox.com> Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
24678700edaf5bb9da9be93a1367f1a24cfaa471 |
|
14-May-2012 |
James Benton <jbenton@vmware.com> |
llvmpipe: Calculate fixed point coordinates for triangle setup earlier. This allows us to calculate the triangle's area using fixed point, previously it was cacluated in floating point space. It was possible that a triangle which had negative area in floating point space had a positive area in fixed point space. Fixes fdo 40920. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
11aa82cc0bda6bd9162f76553a3f68e28978edae |
|
10-May-2012 |
James Benton <jbenton@vmware.com> |
llvmpipe: Fix triangle bounding box calculation to be correctly inclusive or exclusive Tested with custom rasterisation test tool added to piglit suite, reduced errors Signed-off-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
e2072a1046039403d814613553e7b3b563d43dfc |
|
05-Oct-2011 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Fix the 4 planes (lines) case properly. The previous change was not effective for lines, because there is no 4 planes 4x4 block rasterization path: it is handled by the 16x16 block case too, and the 16x16 block was not being budged as it should. This fixes assertion failures on line rasterization.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
c620087432b2055aa9301f19f8b6444080698c90 |
|
05-Oct-2011 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Ensure the 16x16 special rasterization path does not touch outside the tile. llvmpipe has a few special rasterization paths for triangles contained in 16x16 blocks, but it allows the 16x16 block to be aligned only to a 4x4 grid. Some 16x16 blocks could actually intersect the tile if the triangle is 16 pixels in one dimension but 4 in the other, causing a buffer overflow. The fix consists of budging the 16x16 blocks back inside the tile.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
c8f1687ce70c3a2e0de7a7d50e1619cb4cf8cc50 |
|
05-Nov-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: added some debug assertions, but disabled
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
98445b43071414a6bd82d0618002611c6ad70257 |
|
02-Nov-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: avoid generating tri_16 for tris which extend past tile bounds Don't trim triangle bounding box to scissor/draw-region until after the logic for emitting tri_16. Don't generate tri_16 commands for triangles with untrimmed bounding boxes outside the current tile. This is important as the tri-16 itself can extend past tile bounds and we don't want to add code to it to check against tile bounds (slow) or restrict it to locations within a tile (pessimistic).
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
9da17fed2e7645a401a378ae690eb23513948e18 |
|
18-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: remove unused arg from jit_setup_tri function
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
0072acd447dc6be652e63752e50215c3105322c8 |
|
18-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
Merge remote branch 'origin/master' into lp-setup-llvm Conflicts: src/gallium/drivers/llvmpipe/lp_setup_coef.c src/gallium/drivers/llvmpipe/lp_setup_coef.h src/gallium/drivers/llvmpipe/lp_setup_coef_intrin.c src/gallium/drivers/llvmpipe/lp_setup_point.c src/gallium/drivers/llvmpipe/lp_setup_tri.c src/gallium/drivers/llvmpipe/lp_state_derived.c src/gallium/drivers/llvmpipe/lp_state_fs.h
|
ca2b2ac131933b4171b519813df1aaa3a81621cd |
|
18-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: fail cleanly on malloc failure in lp_setup_alloc_triangle
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
392b0954c265fdd66b2de99ab677d2e662935682 |
|
15-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: use aligned loads/stores for plane values
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
9f9a17eba8d6080bf30f17c8a7eaed97b10a559f |
|
12-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: do plane calculations with intrinsics This is a step towards moving this code into the rasterizer.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
8965f042b327ad8697963e757f4607f4bb13a045 |
|
15-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: don't store plane.ei value in binned data Further reduce the size of a binned triangle.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
9bf8a55c4b29d55320fc2e7875ecf0e9ca164ee8 |
|
15-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: slightly shrink the size of a binned triangle
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
0a1c9001037a13b69b157994e7983aa3dee158d3 |
|
15-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: don't pass frontfacing as a float
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
4195febeecd2d2f5571afdb90cbb185a4759f50a |
|
15-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: reintroduce SET_STATE binner command But bin lazily only into bins which are receiving geometry.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
0ca0382d1bfd1e9128fa4b588ce1411f7b8a85df |
|
12-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
Revert "llvmpipe: try to keep plane c values small" This reverts commit 9773722c2b09d5f0615a47cecf4347859474dc56. Looks like there are some floor/rounding issues here that need to be better understood.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
9773722c2b09d5f0615a47cecf4347859474dc56 |
|
12-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: try to keep plane c values small Avoid accumulating more and more fixed point bits.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
0ff132e5a633170afaed0aea54d01438c895b8ab |
|
08-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: add rast_tri_4_16 for small lines and points
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
eeb13e2352d7a44881b011cb3232bb80aee0c826 |
|
23-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: clean up setup_tri a little
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
29d6a1483d6c4ecb9c34989423e025b3784ec019 |
|
08-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: avoid overflow in triangle culling Avoid multiplying fixed-point values. Calculate triangle area in floating point use that for culling. Lift area calculations up a level as we are already doing this in the triangle_both() case. Would like to share the calculated area with attribute interpolation, but the way the code is structured makes this difficult.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
ad6730fadbbeacea96322e31064ede9ea7ebad6f |
|
08-Oct-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: fail gracefully on oom in scene creation
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
72258387786332c49b3275b8136a99be7591bf7f |
|
24-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: handle up to 8 planes in triangle binner
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
5b4c43d98556c5a4806757513bcb196a724518c5 |
|
05-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: use llvm for attribute interpolant calculation Basically no change relative to hard-coded version, but this will be useful for other changes later.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
59ca1ae84b2c15c8a94211da158f563e45560bcd |
|
15-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: return zero from floor_pot(zero)
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
c40858fa0dac28dc5096973ac267630ba5725003 |
|
13-Sep-2010 |
Witold Baryluk <baryluk@smp.if.uj.edu.pl> |
llvmpipe: Change asm to __asm__. According to gcc documentation both are equivalent, second are prefered as first can make conflict with existing symbols. Signed-off-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
501d43028e8e551dd36ede00fb85095183c32037 |
|
13-Sep-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Unbreak rasterization on 64bit.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
b97c75e6a3a95be503f0509be0791a21b4d0f8d8 |
|
13-Sep-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: use gcc asm only with gcc
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
c4046d4fda2fe838659bff99bfa17f57f895a943 |
|
08-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: introduce tri_3_4 for tiny triangles
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
4b56e86e67d281b1c57f1f5e6b1a686d0dcd6ebb |
|
08-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: allow tri_3_16 at any 4-aligned location within a tile Doesn't require 16-alignment, so catch more cases.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
9df8a7565db608eaccf917632bf6c702203531b8 |
|
01-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: move more coef setup into lp_setup_coef.c
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
9f6e8e1d6b8696a3ee96cba01b2466ba7a1a8ef6 |
|
07-Sep-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: use opcodes instead of function pointers in bins Also, move some state from rasterizer struct to the scene.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
6419ecd02ce43a2614822e228f306d4db589f317 |
|
27-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: enforce fixed memory limit on scenes
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
5024d9b90e88cdc3d8aca14d45cf845efbfb8633 |
|
27-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: move whole-tile emit into a function
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
3783053fa59fceef59fe0356af5c8dbc095e9adf |
|
26-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: update line rasterization code to current master
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
5286dd701640976ffc328e8e85fb3830746851a1 |
|
19-Jul-2010 |
Hui Qi Tay <hqtay@vmware.com> |
llvmpipe: native rasterization for lines Rasterize lines directly by treating them as 4-sided polygons. Still need to check the exact pixel rasteration.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
0be0ad5d58806bc12ec2c7bb3c00e7f8c7a6d6c4 |
|
22-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: intrinsics version of triangle coeficient calculation Looks nice, but makes almost no impact on performance - maybe a percent or so in isosurf, nothing elsewhere. May be of use later on.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
29bcbf5e797a18430285c75abb8a9300c8defe1d |
|
24-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: track drawing region as a single u_rect
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
d808f7b53ec71a7684bac7e6b536911fc27d5238 |
|
24-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: better triangle debugging
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
c25151dd6a06acd93c8bf0d9e79fdcf134ffe818 |
|
20-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: cull zero-area triangles early
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
c9b7bece0569d9e193591ebff329acd1d9bd9e3c |
|
15-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: special case triangles which fall in a single 16x16 block Check for these and route them to a dedicated handler with one fewer levels of recursive rasterization.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
ff26594a92df37608a3efe47e4d4f3a55bcd6bc1 |
|
15-Aug-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: remove all traces of step arrays, pos_tables No need to calculate these values any longer, nor to store them in the bin data. Improves isosurf a bit more, 115->123 fps.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
66f57235d5e507b17f3cbf1329a803337ca08666 |
|
11-Aug-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Debug code to dump interpolation coefficients.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
3deca2e284f0709e94bec5267febc7ccb34c17b8 |
|
11-Aug-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Use single precision divide for one over area computation.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
d023fb39288be943d1c8ec5a60e9ff5778f4642f |
|
14-Jul-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Remove redundant alignments. The lp_rast_shader_inputs' alignment is irrelevant now that it contains pointers instead of actual data. Likewise, lp_rast_triangle's size alignment is meaningless.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
e21e7ab4da859198dfa9845b4a7207c49db54771 |
|
10-Jul-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: eliminate the set_state rasterizer command Just put a pointer to the state in the tri->inputs struct. Remove some complex logic for eliminating unused statechanges in bins at the expense of a slightly larger triangle struct.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
d4b64167b56f780d0dea73193c345622888fbc16 |
|
17-Jun-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: pass mask into fragment shader Move this code back out to C for now, will generate separately. Shader now takes a mask parameter instead of C0/C1/C2/etc. Shader does not currently use that parameter and rasterizes whole pixel stamps always.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
4ca3e0d84ba21ac4e37ecea0eed05a0bfcb3f098 |
|
24-Jun-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Don't reset the bin when there's a zsbuf bound. The previous rendering may have secondary effects on the zsbuf. Fixes the missing tiles on gearbox.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
6ce68ad3ca242076bbb93fdd99bb448f87a31d15 |
|
01-Jun-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Use struct lp_shader_input in the interpolator. Eliminates all this identical yet slightly different code to decide how shader inputs should be interpolated. As bonus, don't interpolate the position twice when it is listed in the TGSI shader inputs.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
149cb7682e37ce719d693f120e68dde60ba73bdf |
|
01-Jun-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Don't waste time interpolating unused input channels.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
18fb9ff6d8f58a08e559070cf29f26ed0caa567f |
|
26-May-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Pass the fs variant to the rasterizer.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
151b3bb3af722f0e14e209171acc2239d3cf2817 |
|
28-May-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: add out of memory checking to triangle setup path
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
e5ee8b4fae2983512f9c70f2f021fc8c35e62a75 |
|
17-May-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: fix front/back tri culling mix-up
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.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.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
246d39059e21bdc840128d448bcd79a957bbd1d1 |
|
05-May-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: update driver's provoking vertex code Note that the lp_setup_vbuf.c code is very, very similar to the corresponding code in softpipe. It could probably be shared.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
db4ccc004a96255f3ad0dc26467f2243a133c24b |
|
20-Apr-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: fix incorrect front-facing value for fragment shader The TGSI convention is +1 for front-facing, -1 for back-facing Fixes glean glsl1 gl_FrontFacing tests.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
a59771fb5305a4a8bda35bc7175eceecd0a950ee |
|
17-Apr-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: triangle function comments
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
8ba14fab9a8fb4b7e7224062693ab4d487a138b8 |
|
16-Apr-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: print_triangle() func (disabled)
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
22e6dc387039e79f6d1435ae8b7422a6514d5d10 |
|
18-Mar-2010 |
Brian Paul <brianp@vmware.com> |
gallivm/llvmpipe: added lp_rast_shader_inputs::facing and pass through The triangle rasterizer sets this field to indicate front/back-facing. It gets passed into the generated fragment code as another parameter. Used now for stencil front/back selection but will also be used for fragment shaders in general (see TGSI_SEMANTIC_FACE). With this commit two-sided stenciling mostly works but there's still a bug or two...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
a80e33f40731f07e8a39896bfdcd1b1504aedc1f |
|
13-Mar-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Obey rasterization rules. Replicates softpipe.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
3160cbabccf1f7d8bdf344242507b9c3082f15c6 |
|
13-Mar-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: setup_context -> lp_setup_context Otherwise IDEs and debuggers have trouble distinguishing from softpipe's setup_context.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
4053d337035a17c3bded6458093acf56d1878cba |
|
03-Mar-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Store the original triangle coordinates in the debug build. For debugging purposes only.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
764c172aa96d48e1cf18b903661064c1ef8df1b5 |
|
11-Feb-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Clamp both extremes of triangles to framebuffer size. Fix segmentation fault when triangles crossed the axis.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
1d23954a0848f8dd87b214f3a7ec3ae3c04ab0c1 |
|
22-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: s/inline/INLINE/
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
e24ea786faad502da63cc4d59b0c30e3f1915c45 |
|
22-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: consolidate lp_scene_alloc_aligned() calls Use just one call instead of four. Good for a few more fps.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
798a9d3f942df1953a538073c85d6a6fed3775db |
|
22-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: re-use a1 var in linear_coef()
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
ff9b55da9a6e3b5aa2d42eac7d79c675a679af57 |
|
22-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: area is an int here, not float
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
a904a7b99043c19493db5c0945b046795a5932b1 |
|
22-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: manually unroll the inputs.step[] setup code Good for a few more fps in some tests.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
cd9d9e2436a0815f6ed3a61d2cdf8fad53278506 |
|
21-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: added simple perf/statistics counting facility Currently counting number of tris, how many tiles of each size are fully covered, partially covered or empty, etc. Set LP_DEBUG=counters to enable. Results are printed upon context destruction.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
75f262b8b441e05f5b8811db1c205220200d64ad |
|
19-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: updated comments
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
fdfe06ad804ea13e6e436d66c1bcafe0bde2f545 |
|
15-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: implement scissor test in triangle setup
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
adb48d535082f5a311751e1866997e381b2d3038 |
|
15-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: remove lp_rast_triangle::min/max fields These values aren't needed outside the do_triangle_ccw() function.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
4bef3575e605d890d9f228391b4724d27b025f49 |
|
15-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: change 'in' to boolean, add comments
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
ca12e30d97b83fb33e1f8f83da05b5ed2809b0af |
|
15-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: minor comment update
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
f19f218e7aad76639a6aacabda8101ba87bb4896 |
|
14-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: minor assorted clean-ups
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
a1acbff299c444913418e65da473745cd901a2db |
|
13-Jan-2010 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Reset the bin when shading a whole tile with an opaque shader.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
212f3a6cb3cb49127a6e5588553fe2d327f46563 |
|
13-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: tweak subpixel_snap() arithmetic This adjustment fixes some rasterization differences between llvmpipe and softpipe (and other renderers).
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
214ffad01598c8780417b9fa9df75e951c8ac049 |
|
13-Jan-2010 |
Brian Paul <brianp@vmware.com> |
llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles) In some corner cases the right-most / bottom-most vertex can be right on the edge of the framebuffer. Because the maxx, maxy vals are computed with a series of float/int, pixel/tile transformations we can end up with maxx >= scene->x_tiles or maxy >= scene->y_tiles. This leads to putting data into bins that never get processed, or reset. This becomes stale data that can lead to segfaults. Clamping fixes this.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
094525fb23127e7ca253d732207bbbbe00488a6b |
|
08-Jan-2010 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: remove opencoded constant
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
080c40ab32b2abd6d8381b4a0cc143d36a1652b2 |
|
08-Jan-2010 |
José Fonseca <jfonseca@vmware.com> |
Merge remote branch 'origin/master' into lp-binning Conflicts: src/gallium/auxiliary/util/u_surface.c src/gallium/drivers/llvmpipe/Makefile src/gallium/drivers/llvmpipe/SConscript src/gallium/drivers/llvmpipe/lp_bld_arit.c src/gallium/drivers/llvmpipe/lp_bld_flow.c src/gallium/drivers/llvmpipe/lp_bld_interp.c src/gallium/drivers/llvmpipe/lp_clear.c src/gallium/drivers/llvmpipe/lp_context.c src/gallium/drivers/llvmpipe/lp_context.h src/gallium/drivers/llvmpipe/lp_draw_arrays.c src/gallium/drivers/llvmpipe/lp_jit.c src/gallium/drivers/llvmpipe/lp_jit.h src/gallium/drivers/llvmpipe/lp_prim_vbuf.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_setup_point.c src/gallium/drivers/llvmpipe/lp_state.h src/gallium/drivers/llvmpipe/lp_state_blend.c src/gallium/drivers/llvmpipe/lp_state_derived.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/gallium/drivers/llvmpipe/lp_state_sampler.c src/gallium/drivers/llvmpipe/lp_state_surface.c src/gallium/drivers/llvmpipe/lp_tex_cache.c src/gallium/drivers/llvmpipe/lp_tex_cache.h src/gallium/drivers/llvmpipe/lp_tex_sample.h src/gallium/drivers/llvmpipe/lp_tile_cache.c
|
ab9438193083b7f9a3180cb9cea45e269131048a |
|
17-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: do final the pixel in/out triangle test in the fragment shader The test to determine which of the pixels in a 2x2 quad is now done in the fragment shader rather than in the calling C code. This is a little faster but there's a few more things to do. Note that the step[] array elements are in a different order now. Rather than being in row-major order for the 4x4 grid, they're in "quad-major" order. The setup of the step arrays is a little more complicated now. So is the course/intermediate tile test code, but some lookup tables help with that. Next steps: - early-cull 2x2 quads which are totally outside the triangle. - skip the in/out test for fully contained quads - make the in/out comparison code tighter/faster.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
663750d5564a225b4720f7ee8bea93ffb309fc88 |
|
13-Dec-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: rename bins to scene It was pretty confusing having an entity named "bin" and another named "bins", not least because sometimes there was a need to talk about >1 of the "bins" objects, which couldn't be pluralized any further... Scene is a term used in a bunch of places to talk about what a binner operates on, so it's a decent choice here.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
22b07b8be4c2939b00e10f17fa91e68682808594 |
|
09-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: use new lp_setup_get_current_bins() function This stub function will interface to the queue system...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
01b1900084152dbacd4025a31ced25f75666ce59 |
|
04-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: reorganization of binning data structions and funtions New lp_bins struct contains all bin information. More move bin-related code into lp_bin.[ch] Use new/updated bin-access functions to hide implementation details. The result is more/cleaner separation between the setup and rast components. This will make double-buffering of the bins easier, etc.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
d9dc3d59760a28d54013d3d164f61d85ec807651 |
|
04-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: move bin-related structures and functions into new lp_bin.[ch] And put lp_ prefixes on some functions.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
5c7d1b592ad9ce9e7ee36610f17d41e5c2881d54 |
|
04-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: remove lp_rast_triangle::oneoverarea field Makes lp_rast_triangle a little smaller (now 280 bytes on a 32-bit system).
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
b1659b9213f3eeee440590dfe379f0d193948307 |
|
04-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: bin state-change commands Previously, each triangle had a pointer to the state to use for shading. Now we insert state-change commands into the bins. When we execute one of those commands we just update a 'current state' pointer and use that pointer when calling the jit shader. When inserting state-change commands into a bin we check if the previous command was also a state-change command and simply replace it. This avoids accumulating useless/redundant state-change commands.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
1796ffd3bcf74a94c800717e77abaf9902c50b4d |
|
04-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: fix typo, whitespace
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
04e12e31b252e7a18862c3ac386f302665edb6e7 |
|
04-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: dynamic allocation of triangle a0/dadx/dady arrays Much less memory per triangle now.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
30c122a4c90b62ad3d6b7bacb61c04dd38a4b2df |
|
04-Dec-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: new comment in do_triangle_ccw()
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
7505510c7b7c33f3c571647c0398da7e1b823806 |
|
30-Nov-2009 |
Brian Paul <brianp@vmware.com> |
llvmpipe: add a bunch of comments
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
694f05ac18c54253910678709f2dd35c36f1e912 |
|
21-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: remove one of two definitions of TILESIZE
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
341edde1d2e9f9f989d41869cc436b51942941e4 |
|
21-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: remove dead code
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
cccb1842092bd1b9f35aee0ac21d580c0365e4a5 |
|
20-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: minor opts to setup_tri
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
7b116e13a2aa28a699e30c907c1b1ae5e04cab28 |
|
20-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: pass mask as a linear encoding of the 4x4 block
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
7670628061c2a6ce0a1a787556b0e33a38fd3049 |
|
20-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: precalculate some offsets
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
3fd6b724cc406573cf53684cd72fa7f60b65354a |
|
19-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: pre-multiply some constants by fixed_one
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
0580079864c41c236a4167a1543b1a2fc5090362 |
|
19-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: fixed-point rasterization
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
269342d916fff3bf0fa0a5c1f26aec30b62ed352 |
|
19-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: correctly scale top/left fill adjustments Was overdoing it previously.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
d9f44abe3bb0c9897937ef7f343a7896a0b4cbf0 |
|
19-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: fix typo correcting for fill convention Adjustments for top-left fill convention were being lost.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
b4924d62c7346da2e0de9ae4f9f23b3fb7fafee8 |
|
09-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: fill in tri min/max values
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
6464ec48366fee201c61a481c3205a64279797b2 |
|
09-Oct-2009 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Remove partial tile override.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
82ec7f018d20e46e9c43ea467354dcfe4f03bae3 |
|
09-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: correct binning maths for iterating over whole tiles
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
85999695829823e459e11822b4846ed1db5c055d |
|
09-Oct-2009 |
José Fonseca <jfonseca@vmware.com> |
llvmpipe: Get jit_context/jit_function across the rasterizer.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
da1808ccc9a53fdd5aa69efa800ece0d3d075b07 |
|
09-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: just bin whole tiles for now
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
e215f94f15fd20919cc0ed500dc2efde4f076516 |
|
09-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: get lp_setup_tri building
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
4cdd10cb4b60d85f6c231a26739f7d5e264a05e5 |
|
09-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: use union lp_cmd_rast_arg directly, rather than through a pointer The union itself consists of pointers. We don't need to be passing pointer to pointers.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
415b271b5100d64579690111bc8eb549866865a7 |
|
09-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: hook up some state, add stub line and point functions
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
de902d3275d1861beb0cebdf0807a17e2682c8de |
|
09-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: more wip on coefficients
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
0718c7700533a965d7cd06b4f67b82bbae6e66a1 |
|
08-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: work on clears and coefficients
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
931210424bc46b2c13919f0ac3e0ef781eff207e |
|
08-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: wip me harder
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
5e13dfe6181952f0f538a77b8a9f91c1d7601ceb |
|
08-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: whip out the intra-tile code from lp_setup_tri.c The "setup" module handles building per-tile display lists. Intra-tile rendering is handled by lp_rast*.c
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
e529170c11d3cb5812aabeff0a6ee2d7a2ea66f2 |
|
08-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: more wipping
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
89498d01531cd515c769e570bf799c39fbafc8fb |
|
07-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
llvmpipe: import experimental softpipe rasterizer code, wip binning code WIP, does't build or run. Rasterizer code is based on Nick Capen's devmaster posts and the larrabee articles, but currently doesn't share either the performance or correctness of either...
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_setup_tri.c
|