summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2009-09-03aux/tgsi: pull back ureg work from 0.1 branchKeith Whitwell
Manual merge of ureg changes on the branch. Too much unrelated stuff for a proper merge.
2009-09-01tgsi: remove redundant CND0 opcodeKeith Whitwell
Can be implemented with CMP src2, src1, src0
2009-08-30util: Auto generate pixel format accessor functions fromJosé Fonseca
This has several advantages over the u_ - not hand written - no intermediate memcpy of raw pixels - supports 4 ubytes in addition to floats - no need to pass a pipe_transfer It also has (hopefully temporary) limitations: - no support for YUV - no support for SRGB
2009-08-30Merge branch 'mesa_7_5_branch'Michel Dänzer
Conflicts: src/glx/x11/glxcmds.c
2009-08-29util: Add util_unsigned_logbase2.José Fonseca
Cherry picked from Keith's commit f911c3b9897b90132c8621a72bfeb824eb3b01e5.
2009-08-29util: Dump PIPE_FUNC_x value names.José Fonseca
2009-08-29util: Fix SCons build.José Fonseca
2009-08-29util: Auto-generate u_format_table.c from SConscript.José Fonseca
2009-08-29util: Fix blend factor dumping.José Fonseca
2009-08-29util: New file dedicated to dump state in human/machine readable format.José Fonseca
2009-08-29util: Make pixel format layout more meaningful.José Fonseca
Namelly, explicitly distinguish formats coded by arithmetic manipulation, from formats layed out in array.
2009-08-29util: Don't commit u_format_table.cJosé Fonseca
At least not until stabilizes, to reduce noise.
2009-08-29util: Fix r5g6b5 description.José Fonseca
2009-08-29util: Pixel format database.José Fonseca
There are some inconsistencies in pipe_format, but above all, there simply aren't enough bits in an enum to conveniently store all information about a pixel format we need to be able to dynamically generate pixel packing/unpacking code.
2009-08-28util: Reset size to zero when failed to allocate buffer.José Fonseca
2009-08-27Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-27gallium/util: added support for SRGB formatsBrian Paul
Fixes glean/texture_srgb failure, bug #23449.
2009-08-27gallium/util: added cases for SRGB formatsBrian Paul
2009-08-24tgsi: Fix build error due to commit acc7da90Cooper Yuan
2009-08-24tgsi: Only free temp uregs.José Fonseca
Shorthand. (cherry picked from commit de911220bbbe74cff0c79b260456ff36122b7b5b)
2009-08-24tgsi: Pass pipe_context as a parameter to ureg_create_shader.José Fonseca
Simplifies migration to tgsi_ureg. (cherry picked from commit f574398c07c41cb8d31249a7186fc178ef7d552a)
2009-08-24tgsi: add generic instruction builderKeith Whitwell
When translating an incoming shader (rather than building one from scratch) it's preferable to be able to call a single, generic instruction emitter rather than figuring out which of the opcode-specific functions to call.
2009-08-20tgsi: check for SOA dependencies in SSE and PPC code generatorsBrian Paul
Fall back to interpreter for now. This doesn't happen very often.
2009-08-20tgsi: handle SOA dependencies for MOV/SWZBrian Paul
SOA dependencies can happen when a register is used both as a source and destination and the source is swizzled. For example: MOV T, T.yxwz; would expand into: MOV t0, t1; MOV t1, t0; MOV t2, t3; MOV t3, t2; The second instruction will produce the wrong result since we wrote to t0 in the first instruction. We need to use an intermediate temporary to fix this. This will take more work to fix for all TGSI instructions. This seems to happen with MOV instructions more than anything else so fix that case now and warn on others. Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
2009-08-20tgsi: added tgsi_full_instruction::Flags fieldBrian Paul
Users of the parser can make use of this.
2009-08-20tgsi: when printing/dumping programs indent loops and conditionalsBrian Paul
2009-08-20tgsi: check for SOA dependencies in SSE and PPC code generatorsBrian Paul
Fall back to interpreter for now. This doesn't happen very often.
2009-08-20tgsi: handle SOA dependencies for MOV/SWZBrian Paul
SOA dependencies can happen when a register is used both as a source and destination and the source is swizzled. For example: MOV T, T.yxwz; would expand into: MOV t0, t1; MOV t1, t0; MOV t2, t3; MOV t3, t2; The second instruction will produce the wrong result since we wrote to t0 in the first instruction. We need to use an intermediate temporary to fix this. This will take more work to fix for all TGSI instructions. This seems to happen with MOV instructions more than anything else so fix that case now and warn on others. Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
2009-08-20tgsi: added tgsi_full_instruction::Flags fieldBrian Paul
Users of the parser can make use of this.
2009-08-19gallium: rename copy/fill_rect utility functionsBrian Paul
2009-08-19tgsi: Add missing include.José Fonseca
(cherry picked from commit d2787c02c130b1fe20d0c032d468622f2fdaef79)
2009-08-19tgsi: Fix typo in ureg constant creation.José Fonseca
(cherry picked from commit aa40c9abc7787fdf46cb661a4d0bb8bec513fc63)
2009-08-19tgsi: silence compiler warningKeith Whitwell
2009-08-19tgsi: remove unused function argumentKeith Whitwell
2009-08-19tgsi: add missing functionality to support instructions with labelsKeith Whitwell
Could previously emit opcodes with label arguments, but was no way to patch them with the actual destinations of those labels. Adds two functions: ureg_get_instruction_number - to get the id of the next instruction to be emitted ureg_fixup_label - to patch an emitted label to point to a given instruction number. Need some more complex examples than u_simple_shader, so far this has only been compile-tested.
2009-08-18Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-18tgsi/ppc: we don't implement saturation modes yetBrian Paul
2009-08-18tgsi/sse: we don't implement saturation modes yetBrian Paul
Fixes piglit fp-generic tests/shaders/generic/lrp_sat.fp, bug 23316.
2009-08-17gallium: memset() tgsi_exec_machine to all zeros in tgsi_exec_machine_create()Brian Paul
This fixes invalid values for CondStackTop, LoopStackTop, etc.
2009-08-13tgsi: add simple facility for releasing and reusing temporariesKeith Whitwell
2009-08-13tgsi: rename ureg src/dest convertersKeith Whitwell
Also fix a typo in ureg_src().
2009-08-13draw: Remove unused variable.José Fonseca
2009-08-13Merge branch 'mesa_7_5_branch'Keith Whitwell
2009-08-13draw: cope with more primitives in draw_pipeline_runKeith Whitwell
This previously was used only for decomposed (POINT/LINE/TRI) primitives, but for some time a full range of primitives could end up in here. Fixes trivial/lineloop-clip on softpipe, among others. (cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)
2009-08-13tgsi: turn off debuggingKeith Whitwell
2009-08-13tgsi: use REALLOC for growing token poolKeith Whitwell
2009-08-13util: silence warnings for third REALLOC argumentKeith Whitwell
Our fallback realloc path requires an old_size argument, but the posix varient doesn't need this. Add some code to avoid gcc unused variable warnings for this extra argument.
2009-08-13util: remove unneeded includesKeith Whitwell
2009-08-13util: convert u_simple_shaders to use tgsi_uregKeith Whitwell
Much nicer now.
2009-08-13tgsi: add tgsi_ureg, a simplified tgsi shader builderKeith Whitwell
This is modelled on the nice & easy-to-use facilities we had for building shaders in mesa, eg. in texenvprogram.c and friends. Key points include pass-by-value register structs that can be manipulated in a functional style, eg: negate(swizzle(reg, X,X,X,X)) and per-opcode instruction functions, eg: emit_MOV( p, writemask(dst, 0x1), negate(src)); and similar. Additionally, the interface allows mixed emit of instructions and decls, which are sorted out internally to obey TGSI ordering. Immediates may be emitted at any time and are scanned against existing immediates to try and reduce redundancy. Not all TGSI functionality is accessible through this interface, but most or all of what mesa uses should be.