summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50
AgeCommit message (Collapse)Author
2010-09-12nv50: fix size of outputs_written arrayXavier Chantry
2010-09-12nv50: minor compiler fixes and cleanupsChristoph Bumiller
2010-09-12nv50: reduce bb_reachable_by runtime from pot to linearChristoph Bumiller
As a by-product, remove the memory leak of nv_basic_blocks.
2010-09-09nv50: fix can_load check for 3rd sourceChristoph Bumiller
2010-09-09nv50: address regs are 16 bitChristoph Bumiller
2010-09-09nv50: duplicate interps in load_proj_tex_coordsChristoph Bumiller
Otherwise we might clobber the origin interpolation result or use the result of the RCP before its definition.
2010-09-09nv50: create value references with the right typeChristoph Bumiller
Since atm our OPs aren't typed but instead values are, we need to take care if they're used as different types (e.g. a load makes a value u32 by default). Maybe this should be changed (also to match TGSI), but it should work as well if done properly.
2010-09-09nv50: use actual loads/stores if TEMPs are accessed indirectlyChristoph Bumiller
2010-09-09nv50: don't parse again in tgsi_2_ncChristoph Bumiller
2010-09-09nv50: prepare for having multiple functionsChristoph Bumiller
At some point we'll want to support real subroutines instead of just inlining them into the main shader. Since recursive calls are forbidden, we can just save all used registers to a fixed local memory region and restore them on a return, no need for a stack pointer.
2010-09-09nv50: save tgsi instructionsChristoph Bumiller
2010-09-05nouveau: delete nouveau_class.h, move nv50 regs to nv50_reg.hLuca Barbieri
nv50 should switch to rules-ng-ng too at some point. The classic Mesa Nouveau driver also includes a copy of nouveau_class.h, and should convert to rules-ng-ng too and remove it.
2010-09-03nv50: load address register before using it, not afterChristoph Bumiller
2010-09-02Merge remote branch 'origin/master' into nv50-compilerChristoph Bumiller
Conflicts: src/gallium/drivers/nv50/nv50_program.c
2010-09-02nv50: fix build-predicate functionChristoph Bumiller
2010-09-02nv50: fix find_dom_frontierChristoph Bumiller
2010-09-01nv50: fix XPD, was negatedChristoph Bumiller
2010-09-01nv50: must join SELECT inputs before MOV inputsChristoph Bumiller
2010-09-01nv50: make use of TGSI immediate typeChristoph Bumiller
2010-09-01nv50: re-add proper TEXBIAS sequenceChristoph Bumiller
2010-09-01nv50: make FrontFacing -1 or +1Christoph Bumiller
2010-09-01nv50: SSGChristoph Bumiller
2010-09-01nv50: DPHBen Skeggs
2010-09-01nv50: DSTBen Skeggs
2010-09-01nv50: attempt at making more complicated loops workChristoph Bumiller
Nested loops, and loops with multiple exits (BREAK, CONT).
2010-09-01nv50: turn off verbose debug output by defaultChristoph Bumiller
2010-09-01nv50: set the FragDepth output indexChristoph Bumiller
2010-09-01nv50: handle TEXTURE_SWIZZLE and GEOMETRY_SHADER4 capsChristoph Bumiller
GP support will probably be re-added soon.
2010-08-23nv50: fix check for sprite/point coord enableChristoph Bumiller
2010-08-23nv50: yet another case we need a nop.exitChristoph Bumiller
2010-08-23nv50: DP2, fix ARLChristoph Bumiller
2010-08-21nv50: Silence incompatible pointer type initialization warning.Vinson Lee
Silence the following GCC warning. warning: initialization from incompatible pointer type
2010-08-21nv50: Disable unused code.Vinson Lee
Disable release_hw and emit_mov_from_pred functions as they are currently not being used.
2010-08-20nv50: use NV50TIC_0_2_TARGET_RECTLuca Barbieri
2010-08-20gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri
Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
2010-08-18Merge remote branch 'origin/master' into nv50-compilerChristoph Bumiller
2010-08-18nv50: emit predicate for interpChristoph Bumiller
2010-08-17nv50: initialize edgeflag input indexChristoph Bumiller
2010-08-17nv50: check dst compatibility in CSEChristoph Bumiller
2010-08-17nv50: fix PSIZ and PRIMID mappingChristoph Bumiller
Initializing map to 0x40 (0x80) instead of 0 now, so need to clear it first.
2010-08-17nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP)Christoph Bumiller
2010-08-17nv50: generate JOINs for outermost IF clausesChristoph Bumiller
2010-08-17nv50: fix thinko in store to output reg possible checkChristoph Bumiller
2010-08-17nv50: flatten simple IF/ELSE/ENDIF constructsChristoph Bumiller
Less branching means less instructions and less thread divergence.
2010-08-15nv50: loops part 2Christoph Bumiller
At least the mesa demo glsl/mandelbrot should work now.
2010-08-15nv50: more constant foldingChristoph Bumiller
2010-08-11auxiliary: fix u_split_prim naming conventionLuca Barbieri
Current practice is to start identifiers with "util_" instead of "u_".
2010-08-11auxiliary: move Ben Skeggs' primitive splitter to common codeLuca Barbieri
This is a simple framework that handles splitting primitives in an abstract way. The user has to specify the primitive start, start index and count. Then, it can ask the primitive splitter to "draw" a chunk of the primitive, staying under a given vertex/index budget. The primitive splitter will then call user-supplied functions to emit a range of vertices/indices, as well as switch the edgeflag on or off. This is particularly useful for hardware that either has limits on the vertex count field, or where vertices are pushed on a FIFO or temporary buffer of limited size. Note that unlike other splitters, it does not manipulate data in any way, and merely asks a callback to do so, in vertex intervals.
2010-08-10nv50: begin implementing loopsChristoph Bumiller
2010-08-10nv50: fix reg countChristoph Bumiller