summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi
Commit message (Collapse)AuthorAgeFilesLines
* gallium: implement bounds checking for constant buffersBrian Paul2010-07-292-7/+56
| | | | | | Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
* tgsi: Fix error message on invalid swizzle parseJakob Bornecrantz2010-07-221-1/+1
|
* tgsi: added tgsi_shader_info::indirect_files fieldBrian Paul2010-07-212-0/+19
| | | | Indicates which register files are accessed with indirect addressing.
* tgsi: Remove dead assignment in uprcase function.Vinson Lee2010-07-151-1/+1
|
* tgsi: make sure that we print out the adjacency prims correctlyZack Rusin2010-07-101-1/+5
|
* gallium: add a temporary array register fileZack Rusin2010-06-189-131/+324
| | | | | | | | | | | | | | like normal temporaries, but allows to define a number of distinct arrays, all of which make it explicit that they contain /indexable/ registers. as a side-effect we're adding support for multi-dimensional destination registers. The whole thing looks like this: DCL TEMPX[0][0..128] # 0 array with 128 registers ADD TEMPX[0][0], IN[0], IMM[0] ADD TEMPX[0][1], IN[0], IMM[0] ABS OUT[0], TEMPX[0][TEMP[0]]
* gallium: add a new register file - immediate arrayZack Rusin2010-06-188-59/+227
| | | | | | allows one to specify a safe (bound checked) array filled with immediates. it works just like a const array and declares much like our current immediates.
* gs: make sure we end primitives when finishing executing shadersZack Rusin2010-06-151-0/+16
|
* tgsi: support 2d indirect addressingZack Rusin2010-06-115-18/+86
|
* geometry shaders: make gs work with changable primitives and variable number ↵Zack Rusin2010-06-091-1/+1
| | | | | | | | of vertices lots and lots of fixes for geometry shaders. in particular now we work when the gs emits a different primitive than the one the pipeline was started with and also we work when gs emits more vertices than would fit in the original buffer.
* tgsi: null-terminate string in parse_identifierKeith Whitwell2010-06-071-0/+1
| | | | Hit this parsing geometry shader properties.
* tgsi: reject interpolation and semantics on vs inputsKeith Whitwell2010-06-071-2/+6
|
* tgsi: we don't support indirect input/output registers in SSE codegen yetBrian Paul2010-06-031-6/+10
| | | | | | | | Extend the check for indirect addressing of temp regs to include input/output regs. Fixes failure with piglit glsl-texcoord-array.shader_test test when using SSE codegen.
* tgsi: whitespace cleanupBrian Paul2010-06-031-14/+2
|
* tgsi: Drop uses_fogcoord and uses_frontfacing from tgsi_scan.José Fonseca2010-06-012-16/+0
| | | | | | | It was not used anywhere; the code was buggy (it didn't take care of indirect registers and could potential cause buffer underflows) and the same effect can now be easily achieved by just by looking at input_semantic_name[] and input_usage_mask[].
* tgsi: Remove tgsi-instruction-set.txt.José Fonseca2010-06-011-1127/+0
| | | | | Deprecated by tgsi.rst, and no point in keeping it around if it's not being updated.
* tgsi: Determine which shader input channels are effectively.José Fonseca2010-06-014-7/+177
| | | | | | TGSI's UsageMask flag is never set. We can move this logic into tgsi_ureg, but there there are still cases where's not used, so this seems a better place for now.
* tgsi: Implement OPCODE_DIV.Michal Krol2010-05-191-1/+1
|
* tgsi: add a dummy function to silence warningBrian Paul2010-05-141-0/+8
|
* tgsi: also count instructions in tgsi_scan_shader()Brian Paul2010-05-122-4/+4
|
* softpipe: Adverstise (tgsi_exec's) shader limits.José Fonseca2010-05-121-4/+5
|
* mesa/st+tgsi: Provide a free callback to match with ureg_get_tokens().José Fonseca2010-05-112-0/+10
| | | | | | This fixes crashes with the memory debugging routines on Windows. NOTE: This is a candidate for the 7.8 stable branch
* tgis: fix SOA aliasing for MUL instruction in SSE codegenBrian Paul2010-05-071-4/+11
| | | | Part of a fix for piglit trinity-fp1 test failure.
* tgsi: make SSE ADD instruction SOA-safeBrian Paul2010-05-061-5/+13
| | | | | | | | | | | To properly execute an instruction such as "ADD tmp, tmp.wzyx, foo;" with SOA we (sometimes) need to put the results into temporaries before writing the results to the destination register. This patch fixes the ADD instruction but this needs to be done for many more instructions. Helps to fix piglit fp-long-alu test (fd.o bug 27989).
* tgsi: code refactoringBrian Paul2010-05-061-16/+34
|
* tgsi: added tgsi_get_processor_name()Brian Paul2010-05-062-0/+18
|
* tgsi: fix tgsi_exec_machine_bind_shader() to handle NULL tokens, samplersBrian Paul2010-05-061-1/+20
| | | | | | This lets us unbind a shader from the tgsi_exec_machine. Since shaders aren't ref counted we need this to properly clean up when deleting shaders elsewhere.
* gallium/tgsi: remove unused tgsi_exec_labels codeBrian Paul2010-05-062-22/+0
|
* tgsi: make dumping work on non-debug buildsMarek Olšák2010-05-051-1/+1
|
* tgsi: Parse and dump predicates.José Fonseca2010-05-032-1/+63
|
* gallium: Remove loop register file.José Fonseca2010-05-037-40/+2
| | | | | It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is just like another address register now.
* tgsi: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.José Fonseca2010-04-277-161/+4
|
* tgsi: add comment about potential code removalBrian Paul2010-04-181-0/+6
|
* tgsi: replace 0xf with TGSI_WRITEMASK_XYZWBrian Paul2010-04-181-2/+2
|
* aux/tgsi: fix some minor glitches in string routinesKeith Whitwell2010-03-281-2/+2
| | | | | Not sure why we are open-coding these rather than using standard library functions.
* tgsi: Cleanup exec code for CLAMP, CMP and CND.Michal Krol2010-03-011-28/+39
|
* tgsi: Remove dead code.Michal Krol2010-02-251-12/+0
|
* tgsi: Report an error when a destination has an empty writemask.José Fonseca2010-02-221-0/+3
|
* tgsi: ifdef out unused function micro_sqrt.Vinson Lee2010-02-201-0/+2
|
* tgsi: Make more exec opcodes look pretty.Michal Krol2010-02-191-64/+20
|
* tgsi: Change prototypes of micro opcodes to explicitly indicates number of args.Michal Krol2010-02-191-164/+206
|
* tgsi: Rewrite exec implementations of NRM and NRM4.Michal Krol2010-02-191-61/+70
|
* tgsi: Gather cylindrical wrap info in tgsi_shader_info struct.Michal Krol2010-02-092-0/+2
|
* tgsi: Add ureg_DECL_fs_input_cyl().Michal Krol2010-02-092-52/+94
| | | | Allows one to declare fragment shader inputs with cylindrical wrap info.
* gallium: Add cylindrical wrap info to TGSI declaration.Michal Krol2010-02-093-1/+21
|
* tgsi: Remove tgsi_dump_c.[ch].Michal Krol2010-02-092-511/+0
| | | | Little utility after development stabilisation, use tgsi_dump instead.
* tgsi: remove special-case code for fragment positionBrian Paul2010-02-051-7/+1
| | | | | | | | | Since the origin_lower_left / pixel_center_origin changes, we need to use the fragcoord info that's set up in setup_fragcoord_coeff(). The code in exec_declaration() was clobbering the the interpolated fragment position. Fixes progs/glsl/fragcoord.c demo.
* Merge branch 'gallium-embedded'José Fonseca2010-02-033-1/+3
|\
| * gallium: Make pipe_atomic a regular int32_t.José Fonseca2010-02-022-0/+2
| |
| * gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca2010-02-021-1/+1
| |