summaryrefslogtreecommitdiff
path: root/src/mesa/swrast
AgeCommit message (Collapse)Author
2007-03-13be smarter about which fragment attribs are interpolated before running frag ↵Brian
progs
2007-03-13comment about SPAN_* vs FRAG_BIT_* valuesBrian
2007-03-13Check if FRAG_RESULT_COLR is written and update span->interpMask, arrayMask.Brian
Also, fix an assertion.
2007-03-11Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1.Brian
GL_MAX_DRAW_BUFFERS is currently 4. Added gl_FragData[] output for fragment programs. In _swrast_write_rgba_span() loop over the color outputs/renderbuffers.
2007-03-10Implement gl_FrontFacing for fragment shaders.Brian
For the time being, we put the gl_FrontFacing value in the FOGC.Y input register. Combining FOGC and FrontFacing in one register is a bit of a hack and may need to be changed someday.
2007-03-10clean-up formattingBrian
2007-03-09Merge branch 'origin' into glsl-compiler-1Brian
Conflicts: src/mesa/main/context.c
2007-03-07fix deferredTexture bugBrian
2007-02-26if renderbuffer ptr is null, just returnBrian
2007-02-25remove unneeded includesBrian
2007-02-25remove 'maxInst' parameter from _mesa_execute_program()Brian
2007-02-25remove unused 'element' parameter from _mesa_execute_program()Brian
2007-02-24Remove unneeded _Fragment/VertexShaderPresent fields, update comments.Brian
2007-02-22Use the new unified vertex/fragment program interpreter from prog_execute.c.Brian
Currently, DDX, DDY don't work.
2007-02-22use MAX_PROGRAM_ENV_PARAMSBrian
2007-02-22Merge branch 'origin' into glsl-compiler-1Brian
Conflicts: src/mesa/main/state.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/programopt.c src/mesa/shader/slang/slang_execute.c src/mesa/sources src/mesa/swrast/s_arbshader.c src/mesa/swrast/s_context.c src/mesa/swrast/s_span.c src/mesa/swrast/s_zoom.c src/mesa/tnl/t_context.c src/mesa/tnl/t_save_api.c src/mesa/tnl/t_vb_arbprogram.c src/mesa/tnl/t_vp_build.c src/mesa/tnl/t_vtx_eval.c
2007-02-17Lots of changes to prog_print.c code.Brian
Mainly, allow printing programs in either ARB, NV or "debug" formats.
2007-02-14test for POT before using sample_2d_linear_repeat()Etienne Clement
2007-02-08consolidate BRA with BRK, CONTBrian
2007-02-08Simplify code with eval_condition(). Implement conditional BRK.Brian
2007-02-07Use IR_LOOP to represent do-while and for-loops.Brian
Also, start moving high vs. low-level instruction selection into slang_emit.c
2007-02-06BRK and CONT work the sameBrian
2007-02-06Implement CONT, improve BRK.Brian
IR_LOOP's BranchNode ptr is the head of a linked list of CONT and BRK nodes. After emitting loop, walk over the linked list, filling in the CONT/BRK instruction's BranchTarget field (location of the ENDLOOP instruction, or one past).
2007-02-05BRK instruction's BranchTarget field now used for efficiently breaking out ↵Brian
of loops. BRK's BranchTarget field actually points to the top of the loop, not the bottom, since we don't know the later's location yet. In the interpreter, basically do an indirect jump to update the PC.
2007-02-05Use IR node's BranchNode field for IF/ELSE/ENDIF instructions.Brian
This allows us to back-patch the IF/ELSE instruction's BranchTarget field to point to the location of the ELSE/ENDIF instructions. No longer have to search for ELSE/ENDIF in the interpreter. Also makes it trivial to translate IF/ELSE instructions into conditional/unconditional BRA instructions.
2007-02-05Initial implementation of high-level flow-control instructions.Brian
IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work. Disabled by default though until better tested. Implemented IR_NOT, but needs optimization.
2007-02-05Initial support of loop and subroutine instructions.Brian
New high-level flow-control instructions, both at IR level and GPU instructions for looping and subroutines.
2007-02-05Merge SWvertex texcoord and varying fields into attrib[] array field.Brian
Fragment texcoords and varying code is now unified in the point/line/triangle rasterization code. In the future, merge color, fog, etc. attribs.
2007-02-02fix maxInst argumentBrian
2007-02-02unroll inner loop of interpolate_varying()Brian
2007-02-02simplify derivative-related codeBrian
2007-02-02simplify interpolate_texcoords()Brian
2007-02-02Replace color, z, w, texture interpolants with new generic attrib interpolants.Brian
2007-02-02New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. ↵Brian
fields. More to come.
2007-02-02get rid of unused span->start fieldBrian
2007-02-01commentsBrian
2007-02-01New SWspanarrays attribs[] array.Brian
Replace texcoord[], varying[], etc. arrays with single attribs[] array, indexed by FRAG_ATTRIB_* values. Eliminates need to copy data into fragment program machine input registers. Will lead to future clean-ups.
2007-02-01move span-related types/tokens into s_span.hBrian
2007-02-01additional assertions, bump up MAX_EXECBrian
2007-01-28noise functionsBrian
2007-01-25asst fixes, tranpose span->varying array indexesBrian
2007-01-25fixes, clean-ups, transpose span->varying array indexingBrian
2007-01-25new comments, ideasBrian
2007-01-24fix varying interpolationBrian
2007-01-24only setup varying vars that will be usedBrian
2007-01-23fix g++ warnings/errorsBrian
2007-01-23silence C++ warningsBrian
2007-01-23fixes for C++ warnings/errorsBrian
2007-01-20Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.Brian
2007-01-17Added OPCODE_INT to convert 4 floats to 4 ints.Brian