History log of /external/mesa3d/src/gallium/auxiliary/draw/draw_pt_fetch.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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)
/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