aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_draw.h
Commit message (Collapse)AuthorAgeFilesLines
* mesa: move num_instances and base_instance out of _mesa_primMarek Olšák2020-02-281-0/+2
| | | | | | | | They are never used by multi draws and internal draws. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3990>
* mesa: remove unused "indirect" parameter from Driver.DrawMarek Olšák2020-02-281-2/+1
| | | | | Reviewed-by: Ian Romanick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3990>
* mesa/vbo/tnl: Move gl_vertex_array related stuff to tnl.Mathias Fröhlich2018-05-101-1/+0
| | | | | | | | | The only remaining users of gl_vertex_array are tnl based drivers. So move everything related to that into tnl and rename it accordingly. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Fröhlich <[email protected]>
* gallium: Push down the gl_vertex_array inputs into gallium.Mathias Fröhlich2018-03-311-1/+1
| | | | | | | | Let the gallium backend have its own gl_vertex_array array and basically reimplement the way _vbo_draw works. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Fröhlich <[email protected]>
* st/mesa: remove unneeded #includes of main/compiler.hBrian Paul2018-01-171-1/+0
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* st/mesa: make st_draw_vbo staticMarek Olšák2017-05-101-12/+0
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: rename gl_client_array -> gl_vertex_arrayBrian Paul2016-10-281-1/+1
| | | | | | | | | | | The term "client array" is a legacy thing dating back to the pre-VBO era when _all_ vertex arrays lived in client memory. Nowadays, it only contains vertex array state which is derived from gl_array_attributes and gl_vertex_buffer_binding. It's used by the VBO module and some drivers. Reviewed-by: Anuj Phogat <[email protected]>
* state_tracker: Initialize the draw context only when needed.Eric Anholt2016-08-041-0/+2
| | | | | | | | | | | It's only used for rarely-used deprecated GL features (feedback/rasterpos), so we can skip the memory allocation and initialization for it most of the time. Saves about 659k (out of 1605k) of maximum memory size according to massif on simulated vc4 glsl-algebraic-add-add-1 Reviewed-by: Brian Paul <[email protected]>
* st/mesa: consolidate quad drawing codeBrian Paul2016-02-161-0/+7
| | | | | | | The glClear, glBitmap and glDrawPixels code now use a new st_draw_quad() helper function. Reviewed-by: Jose Fonseca <[email protected]>
* vbo: pass the stream from DrawTransformFeedbackStream to driversMarek Olšák2015-08-061-0/+2
| | | | Reviewed-by: Dave Airlie <[email protected]>
* st/mesa: replace INLINE with inlineBrian Paul2015-02-261-1/+1
| | | | Reviewed-by: Alex Deucher <[email protected]>
* s/Tungsten Graphics/VMware/José Fonseca2014-01-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/[email protected]/[email protected]/ s/[email protected]/[email protected]/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\[email protected]/[email protected]/g s/keithw\[email protected]/[email protected]/g s/[email protected]/[email protected]/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/[email protected]/[email protected]/ # 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 <[email protected]>
* mesa: add indirect drawing buffer parameter to draw functionsChristoph Bumiller2013-11-251-2/+4
| | | | | | | | | | | | Split from patch implementing ARB_draw_indirect. v2: Const-qualify the struct gl_buffer_object *indirect argument. v3: Fix up some more draw calls for new argument. v4: Fix up rebase conflicts in i965. v5: Undo const-qualification Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* st/draw: silence Mingw warning in pointer_to_offset()Brian Paul2013-10-311-1/+1
| | | | | Fixes "warning: cast from pointer to integer of different size" for 64-bit builds.
* st/mesa: atomize vertex array stateMarek Olšák2012-06-151-7/+0
| | | | This moves the state validation to where all the other states are validated.
* mesa: move gl_client_array*[] from vbo_draw_func into gl_contextMarek Olšák2012-05-081-2/+0
| | | | | | | | | | | | | | | | | | In the future we'd like to treat vertex arrays as a state and not as a parameter to the draw function. This is the first step towards that goal. Part of the goal is to avoid array re-validation for every draw call. This commit adds: const struct gl_client_array **gl_context::Array::_DrawArrays. The pointer is changed in: * vbo_draw_method * vbo_rebase_prims - unused by gallium * vbo_split_prims - unused by gallium * st_RasterPos Reviewed-by: Brian Paul <[email protected]>
* st/mesa: use SINT/UINT formats for VertexAttribIPointerChristoph Bumiller2012-01-031-1/+1
| | | | | | Reviewed-by: Dave Airlie <[email protected]> v2: added assertion that packed formats are not pure integer
* mesa: implement DrawTransformFeedback from ARB_transform_feedback2Marek Olšák2011-12-151-2/+4
| | | | | | | | | | | | | | It's like DrawArrays, but the count is taken from a transform feedback object. This removes DrawTransformFeedback from dd_function_table and adds the same function to GLvertexformat (with the function parameters matching GL). The vbo_draw_func callback has a new parameter "struct gl_transform_feedback_object *tfb_vertcount". The rest of the code just validates states and forwards the transform feedback object into vbo_draw_func.
* Make st_pipe_vertex_format return type in st_draw.h match st_draw.cAlan Coopersmith2011-04-081-1/+1
| | | | | | | | | Fixes compiler error from Sun compilers: "state_tracker/st_draw.c", line 185: identifier redeclared: st_pipe_vertex_format current : function(unsigned int, unsigned int, unsigned int, unsigned char) returning enum pipe_format previous: function(unsigned int, unsigned int, unsigned int, unsigned char) returning unsigned int : "state_tracker/st_draw.h", line 73 Signed-off-by: Alan Coopersmith <[email protected]>
* st/mesa: Clean up header file inclusion in st_draw.h.Vinson Lee2010-12-211-1/+2
|
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-2/+2
|
* st/mesa: Add missing headers to st_draw.h.Vinson Lee2010-08-051-1/+6
|
* vbo: Avoid extra validation of DrawElements.Eric Anholt2009-08-121-0/+2
| | | | | | | | | | | | | This saves mapping the index buffer to get a bounds on the indices that drivers just drop on the floor in the VBO case (cache win), saves a bonus walk of the indices in the CheckArrayBounds case, and other miscellaneous validation. On intel it's a particularly a large win (50-100% in my app) because even though we let the indices stay in both CPU and GPU caches, we still end up waiting for the GPU to be done with the buffer before reading from it. Drivers that want the min/max_index fields must now check index_bounds_valid and use vbo_get_minmax_index before using them.
* st: add support for GL_EXT_vertex_array_bgraBrian Paul2009-05-211-1/+2
|
* st: use pointer_to_offset() cast wrapper to convert pointers to uintBrian Paul2009-03-091-0/+15
| | | | Silences warnings with 64-bit builds. See comments for details.
* st: move feedback draw function to new fileKeith Whitwell2008-12-121-0/+5
|
* gallium: remove unused st_draw_vertices()Brian Paul2008-04-251-7/+0
|
* gallium: added inClipCoords param to st_draw_vertices() to indicate coord ↵Brian2008-02-081-1/+2
| | | | | | system of vertices Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
* st_draw_vertices() no longer needs attribs[] array parameterBrian2007-09-251-1/+1
|
* Plug in selection/feedback code.Brian2007-09-171-0/+20
| | | | | | | Not quite finished yet. Selection/feedback are done with a private instance of the 'draw' module in the state tracker. Not quite all the draw context's state is set yet, namely vertex format info. Hold off on that for a bit...
* Start to remove the temporary draw_vb() and draw_vertices() code.Brian2007-08-201-4/+8
| | | | new st_draw_vertices() utility used by glClear and glDrawPixels
* Remove references to accum buffers in softpipe.Keith Whitwell2007-08-021-1/+1
| | | | Also some minor clear fixes.
* actually use new glClear codeBrian2007-06-201-0/+4
|
* Renamed softpipe directories and files to something less confusing.Keith Whitwell2007-06-141-0/+40
softpipe/state_tracker --> state_tracker/ softpipe/ --> pipe/ softpipe/generic --> pipe/softpipe/ I don't think pipe is a great name, but I disliked all the others too. Luckily it's fairly easy to rename with git, so this can be revisited later.