summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* gallium: massage sp_vbuf_draw() and sp_vbuf_draw_arrays() to look more alikeBrian Paul2008-11-241-12/+17
| | | | Also, update some comments.
* mesa: issue error, don't crash, when calling a prototyped, but undefined ↵Brian Paul2008-11-241-0/+7
| | | | | | function Bug #18659.
* mesa: better variable name: s/aux/store/Brian Paul2008-11-245-12/+15
|
* i965: Add support for accelerated CopyTexSubImage.Eric Anholt2008-11-243-68/+41
| | | | | | | | | | | There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after the offsets had been adjusted for a negative pitch. It appears that those hacks were due to an unclear and surprising aspect of the hardware: inverting the pitch results in the blit into the specified rectangle being inverted, without the user needing to adjust y and base offset. Tested with piglit copytexsubimage test on 915GM and GM965. Should fix serious performance issues with ETQW and other applications.
* intel: Don't glBitmap fallback with scissoring enabled.Eric Anholt2008-11-241-6/+0
| | | | | The blit bitmap code already handles scissoring. This is a 15-100% speedup on blender benchmark.blend thanks to avoiding fallbacks. Bug #17951.
* i915: Don't overwrite i915's Viewport function from generic code.Eric Anholt2008-11-244-3/+12
| | | | Instead, have i965 and i915 both call the generic function from their Viewport.
* util: Add generic tile and detile functionsJakob Bornecrantz2008-11-243-0/+130
|
* softpipe: remove old/unneeded dependencies between TGSI exec and softpipeBrian2008-11-239-148/+216
| | | | | Use tgsi_sampler struct as a base class. Softpipe subclasses it and adds the fields it needs.
* CELL: use variant-length fragment ops programsRobert Ellison2008-11-2111-68/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* glut: MinGW portability fixes.José Fonseca2008-11-216-3/+95
| | | | Still, it doesn't run as well as the glut binaries...
* gdi: Reimplement using the WGL statetracker.José Fonseca2008-11-217-2464/+352
|
* mesa: Bring in new mesa sub-statetracker.José Fonseca2008-11-2126-0/+4453
| | | | Some code cleanup is still in order.
* CELL: improve twiddling/untwiddling error textRobert Ellison2008-11-201-2/+2
| | | | | | 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.
* Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-11-2013-355/+687
|\
| * mesa: fix shadow sampling unit issue.Xiang, Haihao2008-11-201-1/+6
| | | | | | | | | | texture comparison logic is bypassed if the currently bound texture is not a depth/depth_stencil texture.
| * intel: fix i830 comment + backwards VB offsets.airlied2008-11-202-3/+3
| | | | | | | | According to Keith the docs have these offsets the other way around
| * intel: fix i8xx vbo enable bitairlied2008-11-201-1/+1
| |
| * intel: add lots of i830 engine to intel_decode debugairlied2008-11-201-20/+110
| |
| * mesa: minor comment reformatttingBrian Paul2008-11-191-16/+13
| |
| * mesa: glsl compiler debug codeBrian Paul2008-11-191-141/+151
| | | | | | | | RETURN0 macro reports file/line before returning zero.
| * mesa: rework GLSL array code generationBrian Paul2008-11-195-160/+371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We now express arrays in terms of indirect addressing. For example: dst = a[i]; becomes: MOV dst, TEMP[1 + TEMP[2].y]; At instruction-emit time indirect addressing is converted into ARL/ ADDR-relative form: ARL ADDR.x, TEMP[2].y; MOV dst, TEMP[1 + ADDR.x]; This fixes a number of array-related issues. Arrays of arrays and complex array/struct nesting works now. There may be some regressions, but more work is coming.
| * mesa: don't realloc instruction buffer so oftenBrian Paul2008-11-191-13/+22
| |
| * mesa: updated commentBrian Paul2008-11-191-0/+2
| |
| * mesa: clamp luminance if needed.Xiang, Haihao2008-11-192-2/+10
| | | | | | | | | | This fixes glReadPixels(GL_LUMINANCE, GL_FLOAT)/glGetTexImage(GL_LUMINANCE, GL_FLOAT) issue on fixed-point color buffers.
* | Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-11-197-98/+333
|\ \
| * | python/retrace: Dump constants.José Fonseca2008-11-201-2/+15
| | |
| * | python: Allow to read from buffers.José Fonseca2008-11-202-1/+31
| | |
| * | python/retrace: Fix formatting of shaders.José Fonseca2008-11-191-5/+11
| | |
| * | python/retrace: Ignore irrelevant calls.José Fonseca2008-11-191-0/+10
| | |
| * | python/retrace: Highlight the trace dump to help to visualize.José Fonseca2008-11-194-35/+185
| | |
| * | python/retrace: Use the usual BSD-style license.José Fonseca2008-11-193-54/+78
| | |
| * | gallium: Use costum log2 for all windows builds.José Fonseca2008-11-171-6/+8
| | |
| * | gallium: State when there are no memory leaks detected.José Fonseca2008-11-171-0/+6
| | |
| * | gallium: Make handle_table reentrant.José Fonseca2008-11-171-8/+26
| | | | | | | | | | | | | | | | | | | | | Ensure that the object has consistent state also when calling the destroy callback. Namely, ensure the object passed to the callback is removed from the table prior to calling the destroy callback to avoid a infinite loop or double free.
* | | add SRGB formatsAlan Hourihane2008-11-191-0/+26
| | |
* | | tgsi: Return 0.0 for negative constant register indices.Michal Krol2008-11-181-8/+16
| | |
* | | tgsi: Keep address register as a floating point.Michal Krol2008-11-181-20/+9
| | |
* | | scons: Support MinGW32 cross compiler.José Fonseca2008-11-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | To build an alternative opengl32.dll with Gallium's software-rasterizer from a debian-based distribution run: sudo apt-get install mingw32 scons platform=windows toolchain=crossmingw machine=x86 winsys=gdi dri=no
* | | gallium: State when there are no memory leaks detected.José Fonseca2008-11-171-0/+6
| | |
* | | gallium: Make handle_table reentrant.José Fonseca2008-11-171-8/+26
| | | | | | | | | | | | | | | | | | | | | Ensure that the object has consistent state also when calling the destroy callback. Namely, ensure the object passed to the callback is removed from the table prior to calling the destroy callback to avoid a infinite loop or double free.
* | | gallivm: fix some small stuff.Stephane Marchesin2008-11-162-3/+3
| | |
* | | i915: Silence warningsJakob Bornecrantz2008-11-163-4/+8
| | |
* | | Merge commit 'origin/master' into gallium-0.2Keith Whitwell2008-11-1520-500/+660
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: src/mesa/shader/prog_print.c
| * | mesa: no longer need Writemask field in GLSL IR nodesBrian Paul2008-11-134-69/+23
| | | | | | | | | | | | The Swizzle and Size fields carry all the info we need now.
| * | mesa: revamp GLSL instruction emit codeBrian Paul2008-11-131-244/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a step toward better array handling code. In particular, when more than one operand of an instruction uses indirect addressing, we'll need some temporary instructions and registers. By converting IR storage to instruction operands all in one place (emit_instruction()) we can be smarter about this. Also, somewhat better handling of dst register swizzle/writemask handling. This results in tighter writemasks on some instructions which is good for SOA execution. And, cleaner instruction commenting with inst_comment(). Next: remove some more dead code and additional clean-ups...
| * | mesa: make writemask_string() non-staticBrian Paul2008-11-132-4/+7
| | |
| * | mesa: remove some do-nothing GLSL codeBrian Paul2008-11-131-16/+0
| | |
| * | mesa: fix accidental regression in GLSL built-in texture matrix lookupBrian Paul2008-11-131-0/+1
| | | | | | | | | | | | Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
| * | mesa: use the tighter definition of GLSL ftransform() from the gallium branchesBrian Paul2008-11-132-31/+40
| | |
| * | mesa: remove unused/obsolete __NormalMatrixTranspose matrixBrian Paul2008-11-133-188/+184
| | |