aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_private.h
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: export the tgsi translation code to a common layerZack Rusin2010-02-081-6/+0
| | | | | | | the llvmpipe tgsi translation is a lot more complete than what was in gallivm so replacing the latter with the former. this is needed since the draw llvm paths will use the same code. effectively the proven llvmpipe code becomes gallivm.
* draw: add const qualifiers, fix return typesBrian Paul2010-02-021-2/+2
|
* gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol2010-01-281-5/+5
|
* gallium: Enable multiple constant buffers for vertex and geometry shaders.Michal Krol2010-01-281-11/+17
|
* draw: Fix memory leak in gs codeJakob Bornecrantz2010-01-161-0/+1
|
* draw: Add GALLIUM_DUMP_VS environment variable.Luca Barbieri2010-01-151-0/+2
| | | | | Add GALLIUM_DUMP_VS to dump the vertex shader to the console like GALLIUM_DUMP_FS in softpipe.
* Merge branch 'master' into instanced-arraysMichal Krol2010-01-051-3/+29
|\ | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_dump.c src/gallium/include/pipe/p_shader_tokens.h
| * gallium: add geometry shader support to galliumZack Rusin2009-12-251-3/+29
| |
* | Implement draw_arrays_instanced() in softpipe.Michal Krol2009-12-291-0/+2
|/ | | | | Modify the translate module to respect instance divisors and accept instance id as a parameter to calculate input vertex offset.
* gallium: more work for edgeflags changesRoland Scheidegger2009-12-141-0/+1
| | | | | fixes, cleanups, etc. not working yet
* gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell2009-12-091-2/+0
| | | | | | | | | | 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).
* gallium: reduce recursive include of tgsi_exec.hKeith Whitwell2009-07-161-1/+2
| | | | A lot of draw code no longer needs to see this header.
* gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell2009-07-161-1/+1
| | | | | Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
* Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul2008-12-101-0/+2
|\
| * gallium: added draw_set_mrd() function to fix polygon offsetBrian Paul2008-12-101-0/+2
| | | | | | | | | | | | | | | | The Minimum Resolvable Depth factor depends on the driver and can't just be computed from the number of Z buffer bits. Glean's polygon offset test now passes with softpipe. Still need to determine the MRD factor for other gallium drivers, if they use the draw module's polygon offset stage...
* | gallium: added draw_texture_samplers() to support texture fetches from ↵Brian2008-12-041-0/+3
| | | | | | | | | | | | vertex shaders This may only be practical for the softpipe driver at this time.
* | Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-10-101-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/gallivm/instructionssoa.cpp src/gallium/auxiliary/gallivm/soabuiltins.c src/gallium/auxiliary/rtasm/rtasm_x86sse.c src/gallium/auxiliary/rtasm/rtasm_x86sse.h src/mesa/main/texenvprogram.c src/mesa/shader/arbprogparse.c src/mesa/shader/prog_statevars.c src/mesa/state_tracker/st_draw.c src/mesa/vbo/vbo_exec_draw.c
| * draw: add switch for drivers to force vertex data passthroughKeith Whitwell2008-10-071-0/+3
| |
* | gallium: silence warningAlan Hourihane2008-10-101-1/+1
|/
* Merge tgsi/exec and tgsi/util directories.José Fonseca2008-07-281-2/+2
|
* draw: don't assume vertex position is in data[0]Keith Whitwell2008-06-111-1/+1
|
* draw: respect driver's max vertex buffer sizeKeith Whitwell2008-06-041-0/+1
|
* draw: Remove const qualifier.Michal Krol2008-05-311-1/+1
|
* draw: add more switches to turn FSE on/offKeith Whitwell2008-05-291-1/+2
|
* draw: make sure constant buffer data is aligned before passing to aos.cKeith Whitwell2008-05-291-1/+8
|
* draw: draw_range_elements trialKeith Whitwell2008-05-291-0/+2
|
* draw: share machineKeith Whitwell2008-05-291-0/+9
|
* draw: create specialized vs varients incorporating fetch & emitKeith Whitwell2008-05-231-0/+2
|
* draw: move some state into a new 'vs' areaKeith Whitwell2008-05-231-9/+19
|
* draw: get rid of fetch-shade-emit frontend hackKeith Whitwell2008-05-231-1/+0
| | | | The code is now living in it's intended place as a pt middle end.
* draw: turn fse path into a middle endKeith Whitwell2008-05-121-1/+1
| | | | Also add some util functions in pt_util.c
* draw: add fetch-shade-emit pathKeith Whitwell2008-05-121-0/+3
| | | | | | | | Enable with TEST_FSE=t. Performs fetch from API-provided vertex buffers, transformation with one of three (two working) hard-coded shaders, and final emit to hardware vertices all in a single pass. Currently only really useful for profiling in conjunction with SP_NO_RAST=t.
* redo the linear pathsZack Rusin2008-05-081-0/+6
|
* frontend for rendering without eltsZack Rusin2008-04-251-0/+1
|
* draw: handle edgeflags and reset-line-stipple againKeith Whitwell2008-04-241-19/+21
|
* gallium: fix issues in recursive flushingBrian Paul2008-04-231-3/+3
| | | | | | | | | | When flushing/rendering, some stages (like AA line/point) need to set pipe/driver state. Those driver functions often call draw_flush(). That leads to recursion. Use new draw->suspend_flush flag to explicitly prevent that in the key places. Remove the draw->vcache_flushing field. Reuse draw->flushing as a debug/assertion var.
* gallium: added a flushing_vcache flag, test in draw_do_flush()Brian Paul2008-04-221-0/+1
| | | | Fixes broken polygon stipple, aaline, aapoint stages
* draw: allow drivers to query pipeline state more easilyKeith Whitwell2008-04-221-2/+5
| | | | | | Also, provide a separate flag to say whether the driver can handle clipping/rhw tasks, in addition to the API flag which indicates they have already been done.
* gallium: Centralize SSE usage logic.José Fonseca2008-04-211-2/+0
|
* draw: move incoming vertex state into draw->ptKeith Whitwell2008-04-191-24/+23
| | | | | This state is effectively private to the vertex processing part of the draw module.
* draw: make draw_reset_vertex_ids private to the draw_pipe_* codeKeith Whitwell2008-04-191-1/+0
|
* draw: put pipeline flushing behind a new interfaceKeith Whitwell2008-04-191-1/+4
|
* draw: move pt_pipeline code to draw_pipe.cKeith Whitwell2008-04-191-7/+17
| | | | | This is now the drawing interface to the pipeline. No more calling into pipeline.first->tri(), etc.
* draw: move some pipeline-specific code & state to draw_pipe.[ch]Keith Whitwell2008-04-191-107/+25
|
* draw: remove named clipmask flags, tidy up pt middle endsKeith Whitwell2008-04-191-7/+2
|
* draw: remove more dead data structuresKeith Whitwell2008-04-191-25/+0
|
* draw: remove dead data structuresKeith Whitwell2008-04-191-59/+0
|
* draw: remove old draw_vertex_shader_queue_flush functionKeith Whitwell2008-04-181-6/+0
|
* draw: switch over to draw_pt paths, will remove old code shortlyKeith Whitwell2008-04-181-1/+0
|
* draw: split off all the extra functionality in the vertex shaderKeith Whitwell2008-04-181-0/+2
| | | | | | | | | | 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.