6c2c1e0ffeb265aa508e0ce8e552e10b0b5c5962 |
|
11-Dec-2015 |
Roland Scheidegger <sroland@vmware.com> |
draw: don't assume fixed offset for data in struct vertex_info Otherwise, if struct vertex_info is changed, you're in for some surprises... Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.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.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.c
|
7da3a947c72111dfb605781be6c0d61423b56e76 |
|
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>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
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>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
994c33db875c6af2f5b535a7a173ff3bfa24fc32 |
|
07-Jan-2012 |
Brian Paul <brianp@vmware.com> |
draw: whitespace fixes, etc.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
784026139cc15db384bed858e7be943b79772aa4 |
|
07-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw: fix missing include for u_format. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_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>
/external/mesa3d/src/gallium/auxiliary/draw/draw_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>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.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.c
|
5cf1921e6d7ba36e6e882094d3280e3cd363df61 |
|
24-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: initialize vertex header
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
88308ea1730df07beadd81cbce942a3aecb5d873 |
|
16-Jun-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary headers.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.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
|
dc544ad9c6e6e24fd2f19dfe83aa294d218f7310 |
|
22-Jan-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary headers.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
76ff89d2de3807f316954aa97ffdbb51bb3b6966 |
|
05-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Handle InstanceID as a true 32-bit uint.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.c
|
5007e39f76c897b8f3aa4acf6086c8b7ac30bdef |
|
30-Dec-2009 |
Michal Krol <michal@vmware.com> |
Implement instanced indexed draw.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.c
|
a0127b6ced257919180ba3a1bf534b68d9c750be |
|
14-Dec-2009 |
Roland Scheidegger <sroland@vmware.com> |
gallium: more work for edgeflags changes fixes, cleanups, etc. not working yet
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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).
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
c6b3c2f34b5fdc30e679068d4e6130ba30efc1e4 |
|
30-Apr-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium/draw: cope with unused vertex_elements
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
f4cc0692e6f285515e6a86367cf771be30665797 |
|
10-Apr-2009 |
Michal Krol <michal@vmware.com> |
draw: Fix vertex_header initialisation.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.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.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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
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.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.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.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_fetch.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_fetch.c
|
da8312a1cf73d0777d51c63148ee090a9acace8b |
|
24-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: default edgeflag should be one
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
|
f93332da5655a31b6c44a1079629a15360ff999b |
|
24-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: handle edgeflags and reset-line-stipple again
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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.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_fetch.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_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...
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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_fetch.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.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.c
|
c898eae27221bd23b11327553c215a94369eeb99 |
|
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: always emit header in draw_pt_fetch.c
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.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_fetch.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_fetch.c
|