Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gallium: implement bounds checking for constant buffers | Brian Paul | 2010-07-29 | 2 | -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 parse | Jakob Bornecrantz | 2010-07-22 | 1 | -1/+1 |
| | |||||
* | tgsi: added tgsi_shader_info::indirect_files field | Brian Paul | 2010-07-21 | 2 | -0/+19 |
| | | | | Indicates which register files are accessed with indirect addressing. | ||||
* | tgsi: Remove dead assignment in uprcase function. | Vinson Lee | 2010-07-15 | 1 | -1/+1 |
| | |||||
* | tgsi: make sure that we print out the adjacency prims correctly | Zack Rusin | 2010-07-10 | 1 | -1/+5 |
| | |||||
* | gallium: add a temporary array register file | Zack Rusin | 2010-06-18 | 9 | -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 array | Zack Rusin | 2010-06-18 | 8 | -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 shaders | Zack Rusin | 2010-06-15 | 1 | -0/+16 |
| | |||||
* | tgsi: support 2d indirect addressing | Zack Rusin | 2010-06-11 | 5 | -18/+86 |
| | |||||
* | geometry shaders: make gs work with changable primitives and variable number ↵ | Zack Rusin | 2010-06-09 | 1 | -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_identifier | Keith Whitwell | 2010-06-07 | 1 | -0/+1 |
| | | | | Hit this parsing geometry shader properties. | ||||
* | tgsi: reject interpolation and semantics on vs inputs | Keith Whitwell | 2010-06-07 | 1 | -2/+6 |
| | |||||
* | tgsi: we don't support indirect input/output registers in SSE codegen yet | Brian Paul | 2010-06-03 | 1 | -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 cleanup | Brian Paul | 2010-06-03 | 1 | -14/+2 |
| | |||||
* | tgsi: Drop uses_fogcoord and uses_frontfacing from tgsi_scan. | José Fonseca | 2010-06-01 | 2 | -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é Fonseca | 2010-06-01 | 1 | -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é Fonseca | 2010-06-01 | 4 | -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 Krol | 2010-05-19 | 1 | -1/+1 |
| | |||||
* | tgsi: add a dummy function to silence warning | Brian Paul | 2010-05-14 | 1 | -0/+8 |
| | |||||
* | tgsi: also count instructions in tgsi_scan_shader() | Brian Paul | 2010-05-12 | 2 | -4/+4 |
| | |||||
* | softpipe: Adverstise (tgsi_exec's) shader limits. | José Fonseca | 2010-05-12 | 1 | -4/+5 |
| | |||||
* | mesa/st+tgsi: Provide a free callback to match with ureg_get_tokens(). | José Fonseca | 2010-05-11 | 2 | -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 codegen | Brian Paul | 2010-05-07 | 1 | -4/+11 |
| | | | | Part of a fix for piglit trinity-fp1 test failure. | ||||
* | tgsi: make SSE ADD instruction SOA-safe | Brian Paul | 2010-05-06 | 1 | -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 refactoring | Brian Paul | 2010-05-06 | 1 | -16/+34 |
| | |||||
* | tgsi: added tgsi_get_processor_name() | Brian Paul | 2010-05-06 | 2 | -0/+18 |
| | |||||
* | tgsi: fix tgsi_exec_machine_bind_shader() to handle NULL tokens, samplers | Brian Paul | 2010-05-06 | 1 | -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 code | Brian Paul | 2010-05-06 | 2 | -22/+0 |
| | |||||
* | tgsi: make dumping work on non-debug builds | Marek Olšák | 2010-05-05 | 1 | -1/+1 |
| | |||||
* | tgsi: Parse and dump predicates. | José Fonseca | 2010-05-03 | 2 | -1/+63 |
| | |||||
* | gallium: Remove loop register file. | José Fonseca | 2010-05-03 | 7 | -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é Fonseca | 2010-04-27 | 7 | -161/+4 |
| | |||||
* | tgsi: add comment about potential code removal | Brian Paul | 2010-04-18 | 1 | -0/+6 |
| | |||||
* | tgsi: replace 0xf with TGSI_WRITEMASK_XYZW | Brian Paul | 2010-04-18 | 1 | -2/+2 |
| | |||||
* | aux/tgsi: fix some minor glitches in string routines | Keith Whitwell | 2010-03-28 | 1 | -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 Krol | 2010-03-01 | 1 | -28/+39 |
| | |||||
* | tgsi: Remove dead code. | Michal Krol | 2010-02-25 | 1 | -12/+0 |
| | |||||
* | tgsi: Report an error when a destination has an empty writemask. | José Fonseca | 2010-02-22 | 1 | -0/+3 |
| | |||||
* | tgsi: ifdef out unused function micro_sqrt. | Vinson Lee | 2010-02-20 | 1 | -0/+2 |
| | |||||
* | tgsi: Make more exec opcodes look pretty. | Michal Krol | 2010-02-19 | 1 | -64/+20 |
| | |||||
* | tgsi: Change prototypes of micro opcodes to explicitly indicates number of args. | Michal Krol | 2010-02-19 | 1 | -164/+206 |
| | |||||
* | tgsi: Rewrite exec implementations of NRM and NRM4. | Michal Krol | 2010-02-19 | 1 | -61/+70 |
| | |||||
* | tgsi: Gather cylindrical wrap info in tgsi_shader_info struct. | Michal Krol | 2010-02-09 | 2 | -0/+2 |
| | |||||
* | tgsi: Add ureg_DECL_fs_input_cyl(). | Michal Krol | 2010-02-09 | 2 | -52/+94 |
| | | | | Allows one to declare fragment shader inputs with cylindrical wrap info. | ||||
* | gallium: Add cylindrical wrap info to TGSI declaration. | Michal Krol | 2010-02-09 | 3 | -1/+21 |
| | |||||
* | tgsi: Remove tgsi_dump_c.[ch]. | Michal Krol | 2010-02-09 | 2 | -511/+0 |
| | | | | Little utility after development stabilisation, use tgsi_dump instead. | ||||
* | tgsi: remove special-case code for fragment position | Brian Paul | 2010-02-05 | 1 | -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é Fonseca | 2010-02-03 | 3 | -1/+3 |
|\ | |||||
| * | gallium: Make pipe_atomic a regular int32_t. | José Fonseca | 2010-02-02 | 2 | -0/+2 |
| | | |||||
| * | gallium: pipe/p_inlines.h -> util/u_inlines.h | José Fonseca | 2010-02-02 | 1 | -1/+1 |
| | |