summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2009-06-05nouveau: call notifier/grobj etc funcs directlyBen Skeggs
libdrm_nouveau is linked with the winsys, there's no good reason to do all this through yet another layer.
2009-06-05nv04: remove u_simple_screen usageBen Skeggs
2009-06-05nv10: remove u_simple_screen usageBen Skeggs
2009-06-05nv20: remove u_simple_screen usageBen Skeggs
2009-06-05nv30: remove u_simple_screen usageBen Skeggs
2009-06-05nv40: remove u_simple_screen usageBen Skeggs
2009-06-05nouveau: add pipe_buffer/fence code to pipe drivers, move nv50 overBen Skeggs
2009-06-05nouveau: pass nouveau_bo instead of pipe_buffer to so_ callsBen Skeggs
2009-06-05nouveau: call nouveau_pushbuf directly rather than going through nvwsBen Skeggs
2009-06-05trace/rbug: Use condvar on system that has it for blockingJakob Bornecrantz
2009-06-04trace/rbug: Add new contexts functions to trace rbugJakob Bornecrantz
2009-06-03softpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()Brian Paul
Because of flat shading, we can't use same code as PIPE_PRIM_TRIANGLE_FAN. This is a follow-on to commit a59575d8fbe8b0ca053cc8366ce7a42bc660158a.
2009-06-03softpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON renderingBrian Paul
This fixes incorrect front/back-face orientation.
2009-06-02r300-gallium: strip swtcl to the bare minimumJoakim Sindholt
This was originally taken from i915 and it shows. Basically most the stuff in r300_render.c was never needed and shouldn't have worked in the first place
2009-06-01r300-gallium: Slightly hacky fix for glxgears-style TCL.Corbin Simpson
2009-06-01trace/rbug: Add rbug integration for remote debuggingJakob Bornecrantz
2009-05-30Merge branch 'mesa_7_5_branch'Brian Paul
2009-05-30Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"Brian Paul
This reverts commit 5d75124db480b37977c353511b4e228905b7cc95. This fixed unclipped polygons, but broke clipped polygons. A better fix from the mesa 7.5 branch will be merged next...
2009-05-30softpipe: fix incorrect provoking vertex color for PIPE_PRIM_POLYGONBrian Paul
This fixes the incorrect colors seen when rendering flat-shaded polygons. Note that clipped polygons were correct, but unclipped polygons were wrong. See the glean/clipFlat test for regression testing.
2009-05-29softpipe: update comments for max texture sizeBrian Paul
2009-05-29softpipe: increase max 2D/cube texture size to 4K x 4KBrian Paul
2009-05-28r300-gallium, radeon-gallium: Make add_buffer indicate when a flush is needed.Corbin Simpson
On a side note, why is RADEON_MAX_BOS 24? Should ask airlied about that.
2009-05-28nv50: some mipmapping fixesBen Skeggs
2009-05-28nv50: negate sources directly where supportedChristoph Bumiller
2009-05-28nv50: introduce emit_cvt and use itChristoph Bumiller
This makes some code cleaner, and we can now easily do CEIL and TRUNC.
2009-05-28nv50: fix TXPChristoph Bumiller
For TXP we need to divide texture coords by their w component, or use the coords' 1/w in the perspective interpolation instruction. This also tries to support 1D, 3D and CUBE textures, and lets the instruction only load the components that are used.
2009-05-28nv50: use multiple constant buffersChristoph Bumiller
Use different buffers for immds, FP params, and VP params. One has to map constant buffer indices in shader code to buffers defined via CB_DEF. In principle, we could use more buffers so we'd have to change the shader code less frequently.
2009-05-28nv50: don't look for unfreed temps in free_nv50_pcChristoph Bumiller
Since we stopped using alloc_temp to get hw indices for FP attrs there shouldn't be any non-deallocated temps left.
2009-05-28nv50: release hw TEMPs earlyChristoph Bumiller
Since we know when we don't use a TEMP or FP ATTR register anymore, we can release their hw resources early.
2009-05-28nv50: allow immediates for MOV, ADD and MULChristoph Bumiller
Immediates are inlined now where possible, so we need to set pc->allow32 to FALSE in LIT where we have the conditional MOV, since immediates swallow the predicate bits.
2009-05-28nv50: enable half insns for MOV and MULChristoph Bumiller
2009-05-28nv50: make sure half-long insns are pairedChristoph Bumiller
I chose to just convert unpaired 32 bit length instructions after parsing all instructions, although it might be possible to determine beforehand whether there would be any lone ones, and then even do some swapping to bring them together ...
2009-05-28nv50: enable KIL in register 19a8Christoph Bumiller
2009-05-28nv50: don't overwrite sources before they're usedChristoph Bumiller
This would have happened in p.e. ADD TEMP[0], TEMP[0].xyxy, TEMP[1] or RCP/RSQ TEMP[i], TEMP[i].
2009-05-28nv50: put FP outputs where they belongChristoph Bumiller
Depth output in fragment programs should end up in the first register after the color outputs.
2009-05-28nv50: modified FP attribute loadingChristoph Bumiller
VP outputs that should be loadable in the FP are mapped to interpolant indices by HPOS, COL0 etc.; of course HPOS is always written, so the highest byte of 1988 is a bitmask that selects which components of HPOS are used for interpolants, i.e. the FP inputs in COL0 start at index POPCNT(1988[24:28]).
2009-05-28nv50: inspect decl semantic and interpolation modeChristoph Bumiller
Record interpolation mode for attributes while parsing declarations, and also remember the indices of FP color inputs and FP depth output, which has to end up in the highest output register.
2009-05-28nv50: record last access to temp and attr regsChristoph Bumiller
We now inspect the TGSI instructions in tx_prep to determine where temps and FP attrs are last accessed. This will enable us to reclaim some temporaries early and we also use it to omit pre-loading FP attributes that aren't used.
2009-05-28nv50: save some space in immediate bufferChristoph Bumiller
We could do even better (like just allocating 1 value in alloc_immd), but that's fine for now I guess.
2009-05-28nv50: fix SIGN_SET case in tgsi_srcChristoph Bumiller
2009-05-28nv50: set dst.z,w to 0,1 in SCS and XPDChristoph Bumiller
According to tgsi-instruction-set.txt, if they are written, z and w should be set to 0 and 1 respectively in SCS, and w to 1.0 in XPD.
2009-05-28nv50: make LRP instruction nicerChristoph Bumiller
2009-05-28nv50: fix some memory leaks in shader assemblerChristoph Bumiller
2009-05-27softpipe: commentsBrian Paul
2009-05-27softpipe: include sp_winsys.h to silence warning (unprototyped function)Brian Paul
2009-05-27softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGONBrian Paul
Use the first vertex, not the last.
2009-05-21cell: perform triangle cull a little earlierJonathan Adamczewski
In spu_tri.c:setup_sort_vertices() triangles are culled after the vertices are sorted. This patch moves the check a little earlier and performs the actual check a little faster through intrinsics and a little trickery. Reduced code size and less work is done before a triangle is deemed OK to skip.
2009-05-21cell: unroll inner loop of spu_render.c:cmd_render()Jonathan Adamczewski
It was taking approximately 50 cycles to extract the vertex indices, calculate the vertex_header pointers and call tri_draw() for each three vertices - . Unrolled, it takes less than 100 cycles to extract, unpack, calculate pointers and call tri_draw() eight times. It does have a nasty jump-tabled switch. I'm sure that there's a better way... Code size of spu_render.o gets larger due to the extra constants and work in the inner loop, there are extra stack saves and loads because there are more registers in use, and an assert. spu_tri.o gets a little smaller.
2009-05-20r300-gallium: r500-fs: POW.Corbin Simpson
I feel so unclean.
2009-05-20r300-gallium: r500-fs: LRP.Corbin Simpson
Goddammit. This cannot be the "easy way." :C