summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2009-01-04cell: improvements to spu_tri.cJonathan Adamczewski
Replace int setup.span{left,right}[2] with vec_uint4 setup.span.quad SIMDize calculate_mask() and inline into into flush_spans() Set setup.span.quad members using spu_shuffle() or spu_sel(). Reduces spu_tri.o by ~116 bytes.
2009-01-04cell: new spu_shuffle.h headerJonathan Adamczewski
Facilitates creation of shuffle patterns for use with spu_shuffle() and si_shufb() intrinsics. To be used by subsequent patches.
2009-01-04cell: initial codegen support for fragment shader loopsBrian Paul
Basic for/while loops work now. Only one level of loop nesting is supported at this time (same for if/else). The progs/glsl/mandelbrot demo works, but the colors are too dim.
2009-01-04cell: add support for PIPE_CAP_TEXTURE_MIRROR_REPEAT queryBrian Paul
We don't really support this texwrap mode yet, but this enables GL 2.1
2009-01-04cell: clean-up, improve SPU code generationBrian Paul
Start on ARL and address-relative indexing too.
2009-01-03cell: fix typo (s/10/0)Brian
2009-01-02softpipe: increase number of texture samplers/units to PIPE_MAX_SAMPLERS (16)Brian Paul
2008-12-31Merge commit 'origin/gallium-0.1' into gallium-0.2José Fonseca
2008-12-31i915: Avoid ptr->int conversion.José Fonseca
2008-12-30gallium: Remove unused variables.José Fonseca
2008-12-22softpipe: Don't fill surfaces's winsys fields.José Fonseca
This is sometimes checked to distinguish between texture views and (deprecated) standalone surfaces.
2008-12-22softpipe: Call surface_alloc_storage to get the pipebuffer for display targets.José Fonseca
Otherwise blitting from display target surfaces to front screen fails in several platforms.
2008-12-22softpipe: initialize refcount and winsysJerome Glisse
2008-12-22softpipe: convert to use texture instead of surfaceJerome Glisse
2008-12-18softpipe: initialize refcount and winsysJerome Glisse
2008-12-18softpipe: convert to use texture instead of surfaceJerome Glisse
2008-12-17softpipe: fix vertex shader texture samplingBrian Paul
Need to disable/bypass lambda calculation since derivatives of texcoords are meaningless for adjacent vertices.
2008-12-16nv40: apply ABS modifier to RSQ source in vpBen Skeggs
Gallium used to do this for us :)
2008-12-16nouveau: return a value for PIPE_CAP_MAX_VERTEX_TEXTURE_UNITSBen Skeggs
2008-12-15Merge commit 'origin/gallium-0.1' into gallium-0.2Alan Hourihane
Conflicts: src/gallium/winsys/gdi/SConscript
2008-12-13Nouveau: move the definition of log2i() to headerPekka Paalanen
Also make the type unsigned instead of signed, since negative values do not make sense. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-12-12nouveau: remove useless NOUVEAU_BO_SWIZZLED flag, copy/paste nv40 work to ↵Patrice Mandin
swizzle textures
2008-12-11softpipe: Add missing header include.Michal Krol
2008-12-10Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
2008-12-10gallium: added draw_set_mrd() function to fix polygon offsetBrian Paul
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...
2008-12-07nouveau: make nv20 use NV{20,25}TCL objectsPekka Paalanen
Up till now, nv20 driver has been using NV10TCL, and being really an nv10 driver. That has changed. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-12-05i915: Silence warningsJakob Bornecrantz
2008-12-04softpipe: plug in softpipe's texture samplers into draw module.Brian
2008-12-04gallium: added PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS queryBrian
2008-12-02nouveau: Calc pitch for swizzled textures appropriately.Younes Manton
2008-12-02nouveau: Use swizzled textures & render targets on nv40 when possible.Younes Manton
2008-12-02nouveau: nv04-nv40 linear <-> swizzled conversion.Younes Manton
2008-12-01softpipe: minor tweaks, clean-upsBrian
2008-12-01softpipe: compute nearest/linear texcoords four at a time.Brian
A small step toward SIMD-izing the code.
2008-12-01gallium: minor texture-related clean-ups, comments, etcBrian
2008-11-30Nouveau: nv{10,20} set_primitive API fixPekka Paalanen
Also changes nvgl_primitive() to return zero, i.e. error, on unknown primitive. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-11-30Nouveau: nv20 build fix: forgotten includePekka Paalanen
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-11-30Nouveau: fix minor API change in surface_copyPekka Paalanen
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-11-30Nouveau: update nouveau_class.hPekka Paalanen
Fresh from renouveau. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-11-30Nouveau: nv20 (nv10) immediate vertex submissionPekka Paalanen
This is nv10 commands, but is in nv20 source files. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-11-30Nouveau: properly redo nv20_vertex_layout.Pekka Paalanen
This is still for NV10 hardware. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-11-25softpipe: Fix function prototype.Michal Krol
2008-11-24gallium: massage sp_vbuf_draw() and sp_vbuf_draw_arrays() to look more alikeBrian Paul
Also, update some comments.
2008-11-23softpipe: remove old/unneeded dependencies between TGSI exec and softpipeBrian
Use tgsi_sampler struct as a base class. Softpipe subclasses it and adds the fields it needs.
2008-11-21CELL: use variant-length fragment ops programsRobert Ellison
This is a set of changes that optimizes the memory use of fragment operation programs (by using and transmitting only as much memory as is needed for the fragment ops programs, instead of maximal sizes), as well as eliminate the dependency on hard-coded maximal program sizes. State that is not dependent on fragment facing (i.e. that isn't using two-sided stenciling) will only save and transmit a single fragment operation program, instead of two identical programs. - Added the ability to emit a LNOP (No Operation (Load)) instruction. This is used to pad the generated fragment operations programs to a multiple of 8 bytes, which is necessary for proper operation of the dual instruction pipeline, and also required for proper SPU-side decoding. - Added the ability to allocate and manage a variant-length struct cell_command_fragment_ops. This structure now puts the generated function field at the end, where it can be as large as necessary. - On the PPU side, we now combine the generated front-facing and back-facing code into a single variant-length buffer (and only use one if the two sets of code are identical) for transmission to the SPU. - On the SPU side, we pull the correct sizes out of the buffer, allocate a new code buffer if the one we have isn't large enough, and save the code to that buffer. The buffer is deallocated when the SPU exits. - Commented out the emit_fetch() static function, which was not being used.
2008-11-20CELL: improve twiddling/untwiddling error textRobert Ellison
As suggested by Brian Paul: in the case of a twiddling error, instead of reporting the bad format number (which is all but unusable), report the more useful enum name.
2008-11-16i915: Silence warningsJakob Bornecrantz
2008-11-13CELL: fix stencil twiddling, stencil invertRobert Ellison
Many stencil tests were failing because of a failure to read the stencil buffer, due to "twiddling" (or "untwiddling") "an unsupported texture format". This is fixed for the case of a stencil/Z S824Z format (which twiddles just like the 32-bit color formats). tests/stencilwrap.c was failing on the GL_INVERT test, because the emitted code for "spe_xori" turned out not to be an actual "xori" instruction, but rather a "stqd" instruction, because of a typo in the rtasm code. This is now fixed, and tests/stencil_wrap now works.
2008-11-13Merge branch 'gallium-0.2' of ↵Stephane Marchesin
git+ssh://marcheu@git.freedesktop.org/git/nouveau/mesa into gallium-0.2
2008-11-12nv04..nv30: fix pipe_surface initPekka Paalanen
Signed-off-by: Pekka Paalanen <pq@iki.fi>