summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_state_validate.c
AgeCommit message (Collapse)Author
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-05nv50: remove vtxbuf stateobject after a referenced vtxbuf is mappedMaarten Maathuis
- This avoids problematic "reloc'ed while mapped" messages and some associated corruption as well. Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
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-12nv50: support vertex program texturesChristoph Bumiller
2009-11-29nv50: update linkage on rasterizer changeChristoph Bumiller
We need to update VP_RESULT_MAP and/or COORD_REPLACE_MAP when light_twoside and/or point_sprite are changed.
2009-11-27nv50: bswap32 the polygon stipple patternChristoph Bumiller
The hardware wants the pattern the same way it is passed to glPolygonStipple.
2009-11-09nv50: clarify data for method 0x121cChristoph Bumiller
2009-10-31nv50: make MRTs workChristoph Bumiller
We have to indicate to the hw whether the FP exports multiple colour results. Method 0x121c is used to specify the number of RTs. Also deactivate zeta explicitly if there's no zsbuf.
2009-10-23nv50: add depth texture formats, and a few others, tooChristoph Bumiller
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-10-19drm/nv50: write tic/tsc setup to correct slots when skipping unitsBen Skeggs
2009-10-06nv50: fix segfault when there's gaps in enabled texture unitsBen Skeggs
Tested with progs/demos/multiarb.
2009-10-05nv50: support PIPE_FORMAT_X8R8G8B8_UNORMBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-09-25nv50: actually enable view volume clippingChristoph Bumiller
Until now, only primitives wholly outside the view volume were not drawn. This was only visibile when using a viewport smaller than the window size, naturally.
2009-09-15nv50: use flush_notify to reduce number of relocsMaarten Maathuis
2009-09-15nv50: proper linkage between VP and FPChristoph Bumiller
This moves construction of the mapping between VP outputs and FP inputs into validation. The map also contains slots for special outputs like clip distance and point size, so we need to at least merge the VP related and FP related parts on validation if we want to support those. Now we match every single FP input component with results from the VP and leave those not read out of the map, or replace those not written by 0 (xyz) or 1 (w). The bitmap indicating linear interpolants is also filled, and flat FP inputs are mapped in only after non-flat ones, as is required. Furthermore, we can save some space by only fetching VP attrs we actually use, and avoid wasting any output regs because of TGSI using less than 4 components.
2009-09-10nv50: Fix tiling mode for lower mipmap levels.Marcin Kościelnicki
2009-08-31nouveau: introduce nouveau_miptree common to all nouveau pipe driversBen Skeggs
The winsys once again has to know about textures it seems, so we need a common representation between all our pipe drivers to store some information the winsys will need. Only the nv50 driver has been fixed so far.
2009-08-20nv50: use VTX_ATTR_nF for constant vtxeltsChristoph Bumiller
2009-08-17nv50: whitespace fixes and deobfuscationMaarten Maathuis
2009-08-15nv50: avoid a NULL-ptr dereference when the pipe context changesMaarten Maathuis
- We cannot assume all state objects are present when the pipe context changes.
2009-08-14nv50: make sure we don't re-emit outdated scissor stateChristoph Bumiller
Since we don't turn off scissors, we need to update the stateobj when the framebuffer size changes.
2009-08-14nv50: make use of the y-origin switchChristoph Bumiller
Now that we know how to make the hardware have y-coordinate origin top, we can get rid of all the inversion introduced earlier.
2009-07-29nv50: correct zeta formatsChristoph Bumiller
What was Z24S8 before is actually S8Z24, and what we had for Z16 is actually X8Z24. Now, we also have the REAL Z24S8 and I added Z32_FLOAT as well; most of the formats need different tile_flags.
2009-07-29nv50: fix viewport transformChristoph Bumiller
The translation also needs to be inverted, and in bypass mode the state tracker incorrectly assumes that Y = 0 = TOP, so we need inversion there to; NDC clipping has to be deactivated explicitly.
2009-07-29nv50: use correct scissor regChristoph Bumiller
2009-07-01nouveau: return some supported zeta formatsBen Skeggs
2009-06-06nv50: support non-normalized texture coordsBen Skeggs
2009-06-05nv50: use larger tile sizesBen Skeggs
2009-06-05nv50: create textures with nouveau_bo, for flexibility with tiling laterBen 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-04-03nv50: fix viewport state updateChristoph Bumiller
2009-03-26gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer
2009-03-14nouveau: bypass_vs_clip_and_viewportYounes Manton
2009-03-07nouveau: make stateobjs start off with refcount of 1Ben Skeggs
2009-02-04nouveau: link against libdrm_nouveau (installed with libdrm)Ben Skeggs
2009-02-02gallium: remove pipe_buffer from surfacesZack Rusin
this change disassociates, at least from the driver perspective, the surface from buffer. surfaces are technically now views on the textures so make it so by hiding the buffer in the internals of textures.
2009-01-27gallium: standardize api on the prefix "nr"Zack Rusin
2008-08-11nouveau: pf_sprint_name -> pf_nameBen Skeggs
2008-07-11nv50: split tic construction out into own fileBen Skeggs
2008-07-11nv50: add license headers to .c filesBen Skeggs
2008-07-11nv50: get clear-scissor workingBen Skeggs
2008-07-08nv50: make use of nouveau drm 0.0.11 to get 3d goingBen Skeggs
2008-06-29nv50: maybe some scissor fixes..Ben Skeggs
2008-06-29nv50: vpt translate/scale backwardsBen Skeggs
2008-06-29nv50: maintain pipe surface status fieldBen Skeggs
2008-06-29nv50: make sure static buffers (constbuf, tex control etc) get on reloc listBen Skeggs
2008-06-29nv50: get tri-scissor-tri workingBen Skeggs
2008-06-29nv50: separate state validation and upload, similar to nv40Ben Skeggs