afa035031ff9e0c07a2297d864e46c76f7bfff58 |
|
07-Jan-2016 |
Roland Scheidegger <sroland@vmware.com> |
draw: rework handling of non-existing outputs in emit code Previously the code would just redirect requests for attributes which don't exist to use output 0. Rework this to output all zeros instead which seems more useful - in particular some extensions like ARB_fragment_layer_viewport require 0 in the fs even if it wasn't output by previous stages. That way, drivers don't have to special case this depending if the vs/gs outputs some attribute or not. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
13c0b1c7808dac7e84c9b3e1d2079f70bb0ade35 |
|
15-Dec-2015 |
Roland Scheidegger <sroland@vmware.com> |
draw: don't set start_instance and instance id for pt emit This just adds confusion, these parameters are used when fetching vertices by translate, but certainly not when emitting hw vertices for drivers, they make no sense there (setting them has no consequences otherwise since there won't be any elements with instance_divisor set). So just set them to 0 (the draw_pipe_vbuf code for emitting vertices when the draw pipeline is run already does exactly that). Also while here do some whitespace cleanup. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
27a34f62baa991eadd040302748c48b31ec21a0c |
|
01-Mar-2015 |
Marek Olšák <marek.olsak@amd.com> |
draw: fix division-by-zero for empty geometry shaders Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89372 Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
1b6db3593ed716ff36f9300c2ad646a80682ea85 |
|
02-Dec-2014 |
Roland Scheidegger <sroland@vmware.com> |
draw: use the prim type from prim_info not emit in passthrough emit The prim assembler may change the prim type when injecting prim ids now, which isn't reflected by what's stored in emit. This looks brittle and potentially dangerous (it is not obvious if such prim type changes are really supported by pt emit, the prim type is actually also set in prepare which would then be different). This fixes piglit primitive-id-no-gs-first-vertex.shader_test. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
877128505431adaf817dc8069172ebe4a1cdf5d8 |
|
17-Jan-2014 |
José Fonseca <jfonseca@vmware.com> |
s/Tungsten Graphics/VMware/ Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the old copyright name is creating unnecessary confusion, hence this change. This was the sed script I used: $ cat tg2vmw.sed # Run as: # # git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed # # Rename copyrights s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g /Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./ s/TUNGSTEN GRAPHICS/VMWARE/g # Rename emails s/alanh@tungstengraphics.com/alanh@vmware.com/ s/jens@tungstengraphics.com/jowen@vmware.com/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\?@tungstengraphics.com/jfonseca@vmware.com/g s/keithw\?@tungstengraphics.com/keithw@vmware.com/g s/michel@tungstengraphics.com/daenzer@vmware.com/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/zack@tungstengraphics.com/zackr@vmware.com/ # Remove dead links s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g # C string src/gallium/state_trackers/vega/api_misc.c s/"Tungsten Graphics, Inc"/"VMware, Inc"/ Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
1c2e5c223da28cdffe156b6b430fcdf638909021 |
|
28-Jun-2013 |
Zack Rusin <zackr@vmware.com> |
draw/translate: fix instancing We were incorrectly computing the buffer offset when using the instances. The buffer offset is always equal to: start_instance * stride + (instance_num / instance_divisor) * stride We were completely ignoring the start instance quite often producing instances that completely wrong, e.g. if start instance = 5, instance divisor = 2, then on the first iteration it should be: 5 * stride, not (5/2) * stride as we'd have currently, and if start instance = 1, instance divisor = 3, then on the first iteration it should be: 1 * stride, not 0 as we'd have. This fixes it and adjusts all the code to the changes. Signed-off-by: Zack Rusin <zackr@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
df4ab7974a825bf686f9dfa3474f3648e9a3ca66 |
|
27-Jun-2013 |
Zack Rusin <zackr@vmware.com> |
draw: fix incorrect clipper invocation statistics clipper invocations are computed earlier (of course before the emittion) so this code was adding bogus numbers to already computed clipper invocations. Signed-off-by: Zack Rusin <zackr@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
0a3779d95537343505200ad096acf135dcd81b80 |
|
06-Jun-2013 |
Zack Rusin <zackr@vmware.com> |
draw: fix clipper invocation statistics We need to figure out the number of invocations of the clipper before the emit, because in the emit we are after clipping where the number of primitives will be equal to number of clipper invocations minus the clipped primitives. So our computations were always off by the number of clipped primitives. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
80ee4a407a2668f6a6a410c3e56ae9910510f773 |
|
11-Apr-2013 |
Zack Rusin <zackr@vmware.com> |
draw: implement pipeline statistics in the draw module This is a basic implementation of the pipeline statistics in the draw module. The interface is similar to the stream output statistics and also requires that the callers explicitly enable it. Included is the implementation of the interface in llvmpipe and softpipe. Only softpipe enables the pipeline statistics capability though because llvmpipe is lacking gathering of the fragment shading and rasterization statistics. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
994c33db875c6af2f5b535a7a173ff3bfa24fc32 |
|
07-Jan-2012 |
Brian Paul <brianp@vmware.com> |
draw: whitespace fixes, etc.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.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).
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
8c3cc83432bbbc190b0f71f87e3e9583ae11f0b2 |
|
04-Aug-2010 |
Brian Paul <brianp@vmware.com> |
draw: added a comment
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
b85a361ccbac956d2842251395c048a4b3f4c440 |
|
14-Jun-2010 |
Keith Whitwell <keithw@vmware.com> |
draw wip
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
c217d94cca357d38e244754747a1bd15e9cf2557 |
|
09-Jun-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary headers.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
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)
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
a45b7f47ee0e38b288cc8fc4f6a1c013e8c227bc |
|
28-May-2010 |
Zack Rusin <zack@kde.org> |
gallium: basic and initial implementation of the stream output interface aka transform feedback
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
84a8347b9f6ef0c1b2519e9bd5fef2ce3c85afb7 |
|
25-Mar-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
draw: Use translate function instead of switch cases
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
7a61722f693a39cdeb4f5ab2e905f563f742d2e3 |
|
01-Mar-2010 |
José Fonseca <jfonseca@vmware.com> |
draw: Rename pipe formats.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
1c4f67b980b6bec5788336a9cdd18c4fcec5e492 |
|
17-Feb-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: second argument to unmap is max, not count
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
b716de47798defa7d22b0f15b201af6fba27f0b9 |
|
10-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: change 65535 to UNDEFINED_VERTEX_ID
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
a8e7852b05f95cc695f3a05692a6ccd36298faf7 |
|
10-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: more vertex count checks
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
e3f5370d637f367dbfe7d21f726e84185ad1e07d |
|
10-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: temporary check for > 65535 vertices
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
53d4706c6c0922160f310834daaec5718ff1c511 |
|
10-Sep-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
make draw's vertex_info struct smaller/quicker to compare with memcmp()
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
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]
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
f1401385587882bb9d18a5f5b01dcbb71ddf0a2f |
|
18-Jun-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: additional fixes to ensure even number of vertices per buffer
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
0a4aea0e86a897d9afb9f2a0ec27f03faf8f1b21 |
|
02-Jun-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: respect driver's max vertex buffer size
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
fd20d1c7e8bbe2f40d73679b1514023772cfd8f6 |
|
27-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add disabled debug code
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
aa16e3a2750993afdba16c24237bb6d8d8e4d91a |
|
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: defensively flush pipeline backend when setting primitive
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
93bfc94c351a2eafd43ac7a20b362d969f98d86a |
|
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: defensively reset render primitive some more
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
d80c24a81a9a46c132fe877dde6919a57cacf8c0 |
|
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: defensively reset render primitive, which can get clobbered by clipping
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
529762d5df6d9427f9fa0927e38b9886e412a6bc |
|
26-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add missing break
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
09900df42967a0ba61e78038304fd6c54934ad0d |
|
19-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Merge commit 'origin/gallium-0.1' into gallium-vertex-linear
|
7ddb925b8bc6c18eba953e34d2b630a3a6593f05 |
|
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: mimize cost of translate key compares, use cache universally
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
7462f0557f9cce73ff2d32e62ef110b5d8622f87 |
|
09-May-2008 |
Michel Dänzer <michel@tungstengraphics.com> |
draw: Fix number of vertices allocated in draw_pt_emit().
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
1a03812fb57e956b438cd42ac68978facb49a99d |
|
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: mimize cost of translate key compares, use cache universally
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
66d72f176de2568f053c6dc54e93d423723ae8aa |
|
04-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
silence debugging output
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
abb08e9335b5d7cb004dc9e6cec390ab6968abe5 |
|
04-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
implement linear emition and fetching and plug it in the varray paths
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
5fcd84ab39318a371253b1a7285bc657fb82efed |
|
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Create a sharable translate_cache and use it.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
e1180c2d694851ed12e86027aa406ee20546e6d3 |
|
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
fix the simple hash finding function and use it
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
f088b53769aacbee20135d912c33d688b6002011 |
|
23-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
Cache translate's structs for emits and fetches. Results in a fair speed improvement.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
cb9f0a589623397c3437911aeef39f189213527a |
|
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: remove draw_vf code, use translate instead
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
7400bc4b6fb0c20a935cd108afa92814eeafec6d |
|
18-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
translate: add sse version based on old draw_vf_sse.c
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|
c503e55d74cf84f87f82b3dab3cb4d38b201d47a |
|
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move hw vertex emit to a new module
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_emit.c
|