150c289f6067cb1ba4572f9124948a94ef94c839 |
|
04-Dec-2015 |
Edward O'Callaghan <eocallaghan@alterapraxis.com> |
gallium/auxiliary: Sanitize NULL checks into canonical form Use NULL tests of the form `if (ptr)' or `if (!ptr)'. They do not depend on the definition of the symbol NULL. Further, they provide the opportunity for the accidental assignment, are clear and succinct. Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_emit.c
|
2ab4e1d1e6091f2170b1395b8d1bb30d42f133a7 |
|
18-Sep-2013 |
José Fonseca <jfonseca@vmware.com> |
draw: Ensure draw_pt_middle_end::bind_parameters is never NULL. Prevents calling NULL pointer with softpipe in certain cases. Trivial.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_emit.c
|
29853ab7b8656cee9b92a53bec43f6e9f1e49691 |
|
09-May-2013 |
Zack Rusin <zackr@vmware.com> |
draw: don't crash on vertex buffer overflow We would crash when stride was bigger than the size of the buffer. The correct behavior is to just fetch zero's in this case. Unfortunatly with user_buffer's there's no way to validate the size because currently we're just not getting it. Adjust the draw interface to pass the size along the mapped buffer, which works perfectly for buffer backed vertex_buffers and, in future, it will allow us to plumb user_buffer sizes through the same interface. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: José Fonseca <jfonseca@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_emit.c
|
994c33db875c6af2f5b535a7a173ff3bfa24fc32 |
|
07-Jan-2012 |
Brian Paul <brianp@vmware.com> |
draw: whitespace fixes, etc.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_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_fetch_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_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_fetch_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_fetch_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_fetch_emit.c
|
5007e39f76c897b8f3aa4acf6086c8b7ac30bdef |
|
30-Dec-2009 |
Michal Krol <michal@vmware.com> |
Implement instanced indexed draw.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_emit.c
|
713b636a0e0356266b714548886b66864b830fff |
|
28-May-2009 |
Mike Kaplinksiy <mike.kaplinskiy@gmail.com> |
draw: Fix assertion failure at fetch_emit_prepare
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_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_fetch_emit.c
|
872b515e8f0bb1be5bad85fd9d01529c71f07ba2 |
|
26-Jan-2009 |
Zack Rusin <zack@tungstengraphics.com> |
gallium: standardize on stride instead of pitch in the interface
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
ce3436795c0ddc110d83a5658e5ff10c202a4490 |
|
11-Dec-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added missing brace to fix broken build
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_emit.c
|
a8e7852b05f95cc695f3a05692a6ccd36298faf7 |
|
10-Dec-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
gallium: more vertex count checks
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_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_fetch_emit.c
|
e6887a5752774c18cf527477fdd3e57e4893ff3b |
|
25-Aug-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: attempt atomic submit of large drawelements calls
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_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_fetch_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_fetch_emit.c
|
82605d7bcd533d7c96cc619c45970efd7229dc3b |
|
29-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: draw_range_elements trial
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
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_fetch_emit.c
|
501be9c7dd0cc5f985c708fa0e5f35d7fd20deb4 |
|
09-May-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: fix translate double-free, minor cleanups
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
fe586f8612dd517b9a1f0d87fbaf3a75e3caf588 |
|
07-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
redo the linear paths
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
a24cb269e1ba5434acf8c94abd03517c149b9c51 |
|
04-May-2008 |
Zack Rusin <zack@tungstengraphics.com> |
implement linear path for fetch_emit pipeline
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_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_fetch_emit.c
|
e406ad5912985920a0d796f1ada58b40316590ed |
|
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: squash a couple of memory leaks
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
0d4ece4c5a243dc4b684331bad49f220311e5520 |
|
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: propogate lots of errors
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
68a7cb21fa14eac9e38bf398623739a892cc0d52 |
|
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: rearrange debug code
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
bfd179776f5ded75c2134a54f0a57a1579118cd0 |
|
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add missing translate->set_buffer for fetch emit path
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
6d9132de04fc190fea56978849dfc427e5359912 |
|
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make draw_pt_fetch_emit use translate facility
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
49becd2d7c751e563ce6be9051dd8e6dad88d1f7 |
|
17-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add comment
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
a8582efaca35d09c8ca18918a243a9284583356d |
|
16-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: make pt run pipeline when need_pipeline is true, not just when clipped
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
2ba6e1fa71be07a2d75abe2d085d485046c0932b |
|
14-Apr-2008 |
Zack Rusin <zack@tungstengraphics.com> |
silence some warnings
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
a82e4996a13ef3cae1497fef95c2fca7631cd889 |
|
14-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: flush pipeline before trying to allocate more hw vertices
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
c95dcc49629b72b95826e87e067d7a48753605fb |
|
08-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
remove usage of vertex_header
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
a8a5376406cabf5aa6a44f7d37f5f8abbb4adf56 |
|
07-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: strip edgeflags out of fetch-emit path
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
add46fbc8cc04d3bce303815541a7bc5d0b33953 |
|
02-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: add missing break statement
/external/mesa3d/src/gallium/auxiliary/draw/draw_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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
743e990831d74ff764f4677836b7bd9b044d39af |
|
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: rename emit functions to match pipe_format names
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|
899fcde366646a3ab3e42ae819620e790161ac75 |
|
23-Mar-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: restructure fetch/emit as a pair of function calls
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
|