summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_vbo.c
AgeCommit message (Collapse)Author
2010-03-10nv50: remove unnecessary macroBen Skeggs
2010-03-10nv50: move nv50_prim() into a header file rather than duplicatingBen Skeggs
2010-03-10nv50: add option to force immediate-mode submission, disable by defaultBen Skeggs
2010-03-10nv50: re-add immediate mode vertex submission pathsBen Skeggs
2010-03-10nv50: when doing inline indices, split elt lists so they fit into pushbufBen Skeggs
2010-03-10nv50: reimplement draw_elements_instance(), use for draw_elements() tooBen Skeggs
This makes draw_elements()/draw_elements_instanced() do the right thing for the non-inline elements cases, and not require flush_notify().
2010-03-10nv50: reimplement draw_arrays_instanced(), do draw_arrays() in terms of itBen Skeggs
This makes draw_arrays()/draw_arrays_instanced() do the right thing and not require the (probably broken anyway) flush_notify() usage. It also fixes a potential bug in the behaviour of reading InstanceID from shaders, where 0 should be read for non-instanced drawing, previously it was possible to read non-0 ids if mixing instanced/non-instanced.
2010-03-10nv50: rip out inline push draw paths temporarilyBen Skeggs
2010-03-10nv50: move magic 0x142c stuff to after state emissionBen Skeggs
2010-03-10nv50: remove horrific abuse of nouveau_channel.flush_notifyBen Skeggs
Really though, using this at all is just not a good idea in the 3D driver. I'm almost certain the hardware will not like a reloc appearing between begin()/end().. Anyways, this is still better than before, more fixes to come..
2010-03-10nv50: ensure enough room for state changes in current pushbufBen Skeggs
Also allows the nv50_state_validate() caller to request a minimum amount of space that itself requires, not all callers accurately use this yet but the simple cases are now accounted for. Rendering will also be dropped on the floor if validate fails now.
2010-03-10nv50: rework state emissionBen Skeggs
2010-02-26nv50: adapt to vertex elements csoChristoph Bumiller
2010-02-17gallium: remove redundant nr_components field from pipe_vertex_elementRoland Scheidegger
This is a property of the associated src_format pipe format. Hence use util_format_get_nr_components to query this when necessary instead.
2010-02-16nv50: use hw idx buffers where we canBen Skeggs
2010-02-14nv: Use util_format_name().José Fonseca
2010-02-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2010-01-18nv50: fix constant vtxattr methodsChristoph Bumiller
This function was untested, sorry.
2010-01-18nv50: make instanced drawing work with edge flagsChristoph Bumiller
And fix some obvious mistakes introduced in the previous instancing commit.
2010-01-17nv50: implement instanced drawingChristoph Bumiller
Too bad we don't have hw array divisors or a method for setting startInstance.
2010-01-16nv50: hook up geometry programsChristoph Bumiller
2010-01-05nouveau: rewrite nouveau_stateobj to use BEGIN_RING properlyMaarten Maathuis
- The previous solution was hacky and didn't do subchannel autobinding. - The beheaviour should match what libdrm_nouveau does closely. - The solution remains statically sized, but when debugging is on it will check for abuse. Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
2010-01-05Merge commit 'origin/gallium-draw-retval'Keith Whitwell
Conflicts: src/gallium/drivers/identity/id_context.c
2009-12-28nv50: Dehexify and bring up to date with new method defines.Marcin Kościelnicki
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2009-12-24nv50: make edgeflags workChristoph Bumiller
It doesn't seem to be possible to set the egdeflag in the vertex shader, so we need to fallback to pushing vertices through the FIFO and use method 0x15e4 if they are used. This only works if VP does MOV OUT[X] IN[Y] where X is the edgeflag output, and Y is saved so we can tell the correct input later. The VP still writes the useless values to wasted outputs as punishment.
2009-12-21gallium: propogate draw retval changes into more driversKeith Whitwell
2009-12-17s/desc->type/desc->channel[0].type/Michal Krol
2009-12-08Format layout cannot be used to distinguish scaled/normalised formats.Michal Krol
2009-12-08Remove remaining pipe format utility functions.Michal Krol
Depricate pf_type(), pf_size_*(), pf_layout() and pf_exp2(). Map depricated PIPE_FORMAT_TYPE to new UTIL_FORMAT_ values: UNKNOWN = TYPE_VOID UNORM = TYPE_UNSIGNED + LAYOUT_ARITH SNORM = TYPE_SIGNED + LAYOUT_ARITH FIXED = TYPE_FIXED FLOAT = TYPE_FLOAT USCALED = TYPE_UNSIGNED + LAYOUT_ARRAY SSCALED = TYPE_SIGNED + LAYOUT_ARRAY SRGB = TYPE_COLORSPACE_SRGB
2009-12-03Remove pf_swizzle_* internal macros.Michal Krol
2009-10-19nv50: submit user vbo data through the fifoChristoph Bumiller
Requesting a new real buffer from the kernel and copying all the data is wasteful e.g. if only a few (but widely spread) vertices are accessed.
2009-10-19nv50: use SIFC for TIC, TSC uploadChristoph Bumiller
Add proper flushes for TIC and TSC and remove the costly 2D.0110 flush in nv50_flush. Correct TIC and TSC bo sizes.
2009-09-03nv50: fix vbo_static_attrib method size errorChristoph Bumiller
The VTX_ATTR_3/2/1F methods also had size 4 ... a stupid copy/paste error.
2009-09-03nv50: fix draw_elements_inline_u08/16Christoph Bumiller
We've been emitting the same two indices over and over without incrementing map.
2009-08-20nv50: use VTX_ATTR_nF for constant vtxeltsChristoph Bumiller
2009-08-20nv50: set vertex buffer limitsChristoph Bumiller
2009-08-20nv50: modify vbo format to hw translation, add BGRA swizzleChristoph Bumiller
2009-08-17nv50: whitespace fixes and deobfuscationMaarten Maathuis
2009-07-29nv50: support more vtxelt formatsChristoph Bumiller
NOTE: we must not try to emit buffer relocations when vtxbuf_nr is 0 but vtxelt_nr is not
2009-07-29nv50: should use uint32_t ptr in draw_elements_inline_u32Christoph Bumiller
2009-06-05nouveau: remove unneeded code from ws, use pipe_buffer_ instead of ws->Ben Skeggs
2009-06-05nouveau: move channel creation into pipe driversBen Skeggs
2009-06-05nouveau: pass nouveau_bo instead of pipe_buffer to so_ callsBen Skeggs
2009-03-07nouveau: make stateobjs start off with refcount of 1Ben Skeggs
2009-02-20nv50: remove unused variableBen Skeggs
2009-02-05nv50: stop using nouveau_push.h, it's evilBen Skeggs
2009-01-27gallium: standardize on stride instead of pitch in the interfaceZack Rusin
2009-01-13nv50: fix progs/tests/manytexBen Skeggs
Previously all squares were textured with the same texture.. not quite what the demo was supposed to look like!
2009-01-13nv50: get glxgears showing all 3 gears instead of 1!!Ben Skeggs
This fixes a lot of other things where not all the geometry got drawn also.
2008-09-11nouveau: gallium directory structure changed again..Ben Skeggs