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
|