2449695e822421fdcaf1c66dffc12d7d705ea69d |
|
17-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: improve the pipe_stream_output_info struct (v2) There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
8597c986d739212024bcb663470b929095230a12 |
|
10-Jan-2012 |
Brian Paul <brianp@vmware.com> |
draw: remove unused 'so' variable in draw_pt_so_emit()
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
ec8cbd79ac4065111365a6720c9564de56855cc8 |
|
04-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
draw/softpipe: EXT_transform_feedback support (v2) This replaces the current code with an implementation compatible with the new gallium interface. I've left some of the remains of the interface intact so llvmpipe keeps building correctly, and I'll take a look at fixing llvmpipe up later. v2: fixup as per Brian's review Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
861a029ddb31e91bb4d8e18ab708d0d172f63aad |
|
15-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: interface changes necessary to implement transform feedback (v5) Namely: - EXT_transform_feedback - ARB_transform_feedback2 - ARB_transform_feedback_instanced The old interface was not useful for OpenGL and had to be reworked. This interface was originally designed for OpenGL, but additional changes have been made in order to make st/d3d1x support easier. The most notable change is the stream-out info must be linked with a vertex or geometry shader and cannot be set independently. This is due to limitations of existing hardware (special shader instructions must be used to write into stream-out buffers), and it's also how OpenGL works (stream outputs must be specified prior to linking shaders). Other than that, each stream output buffer has a "view" into it that internally maintains the number of bytes which have been written into it. (one buffer can be bound in several different transform feedback objects in OpenGL, so we must be able to have several views around) The set_stream_output_targets function contains a parameter saying whether new data should be appended or not. Also, the view can optionally be used to provide the vertex count for draw_vbo. Note that the count is supposed to be stored in device memory and the CPU never gets to know its value. OpenGL way | Gallium way ------------------------------------ BeginTF = set_so_targets(append_bitmask = 0) PauseTF = set_so_targets(num_targets = 0) ResumeTF = set_so_targets(append_bitmask = ~0) EndTF = set_so_targets(num_targets = 0) DrawTF = use pipe_draw_info::count_from_stream_output v2: * removed the reset_stream_output_targets function * added a parameter append_bitmask to set_stream_output_targets, each bit specifies whether new data should be appended to each buffer or not. v3: * added PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME for ARB_tfb2, note that the draw-auto subset is always required (for d3d10), only the pause/resume functionality is limited if the CAP is not advertised v4: * update gallium/docs v5: * compactified struct pipe_stream_output_info, updated dump/trace
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
c3fee80f2b35f6a7e48d6015bfc759c66b7e1a2c |
|
07-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Remove DRAW_PIPE_MAX_VERTICES and DRAW_PIPE_FLAG_MASK. The higher bits of draw elements are no longer used for the stipple or edge flags.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
f1fc444bb05421404f42e8d08e9085c6fb6ce7a9 |
|
04-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Mask out vertex flags in GS and stream output. This fixes out-of-bound access to the vertices.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
94d256591d83ac1330f7237e865784618d124d09 |
|
01-Aug-2010 |
Chia-I Wu <olv@lunarg.com> |
draw: Include draw_decompose_tmp.h in draw_so_emit_tmp.h. Use draw_decompose_tmp.h to replace stream out primitive decomposer.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
91862051f98e646647906bb15aec5c5d537f87e4 |
|
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: validate stream output buffers fixes a crash.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
c85971da31276f17f90fe7d7596c24b5daa204f9 |
|
17-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: fix some unsigned issue spotted by Vinson
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
638a80bc075a4b58123cb9ba03993bd8bfd024cd |
|
16-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: make sure we correctly iterate over output buffers on stream out we kept overwriting the first attribute of a vertex in a single-stream- out-buffer case
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
287531772ccea82c8a6c4dab5656d751a8943524 |
|
16-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: rewrite stream output to handle all the dark corners register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
a192b5eeafae80f9f9e7e7e442abc5b44d583d1a |
|
15-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
draw: finish the new pipeline setup Keith came up with a new way of running the pipeline which involves passing a few info structs around (for fetch, vertices and prims) and allows us to correctly handle cases where we endup with multiple primitives generated by the pipeline itself.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
b85a361ccbac956d2842251395c048a4b3f4c440 |
|
14-Jun-2010 |
Keith Whitwell <keithw@vmware.com> |
draw wip
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
c217d94cca357d38e244754747a1bd15e9cf2557 |
|
09-Jun-2010 |
Vinson Lee <vlee@vmware.com> |
draw: Remove unnecessary headers.
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
b5d2fc2b48ffb09b21eb3148218a73806af22f09 |
|
07-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
gallium: scream when one of two unimplemented features in draw is used plus used the correctly specified stride
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_emit.c
|
2c22b8e61dc4adab658c6198feea30c006aa6c58 |
|
01-Jun-2010 |
Zack Rusin <zack@kde.org> |
gallium: make draw auto work and add relevant caps and docs
/external/mesa3d/src/gallium/auxiliary/draw/draw_pt_so_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_so_emit.c
|