summaryrefslogtreecommitdiff
path: root/src/mesa/swrast/s_fragprog.c
AgeCommit message (Collapse)Author
2010-10-27Track separate programs for each stageIan Romanick
The assumption is that all stages are the same program or that varyings are passed between stages using built-in varyings.
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-08-07swrast: Reduce header file inclusion in s_fragprog.h.Vinson Lee
s_fragprog.h Include mtype.h for GLcontext symbol. Include s_span.h for SWspan symbol. s_fragprog.c Include s_context.h now that it is removed from s_fragprog.h.
2010-07-31swrast: Remove unnecessary headers.Vinson Lee
2010-06-10mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul
2010-02-19mesa: replace _mesa_bzero() with memset()Brian Paul
2010-01-27swrast: silence double->float assignment warningsBrian Paul
Reported by Karl Schultz.
2010-01-26swrast: Implement ARB_fragment_coord_conventions but don't enable.Eric Anholt
This brings swrast's support up to the state of gallium, and fixes the default center behavior of fragment.position.xy in piglit fp-arb-fragment-coord-conventions-none. The extension is not enabled currently because the GLSL part of the extension isn't supported, so piglit glsl-arb-fragment-coord-conventions-define fails as would any serious test of the GLSL part.
2010-01-12swrast: Remove unnecessary header from s_fragprog.c.Vinson Lee
2009-11-17Merge branch 'outputswritten64'Ian Romanick
Add a GLbitfield64 type and several macros to operate on 64-bit fields. The OutputsWritten field of gl_program is changed to use that type. This results in a fair amount of fallout in drivers that use programs. No changes are strictly necessary at this point as all bits used are below the 32-bit boundary. Fairly soon several bits will be added for clip distances written by a vertex shader. This will cause several bits used for varyings to be pushed above the 32-bit boundary. This will affect any drivers that support GLSL. At this point, only the i965 driver has been modified to support this eventuality. I did this as a "squash" merge. There were several places through the outputswritten64 branch where things were broken. I foresee this causing difficulties later for bisecting. The history is still available in the branch. Conflicts: src/mesa/drivers/dri/i965/brw_wm.h
2009-09-24Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-23swrast: add lod bias when texture samplingBrian Paul
Mostly fixes progs/demos/lodbias when MESA_TEX_PROG=1. But the LOD still seems off by -1 or so. May be an issue with the params passed to _swrast_compute_lambda()
2009-09-23swrast: fix typo in partial derivatives parameter passingBrian Paul
2009-07-29mesa: add new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment program inputsBrian Paul
Previously, the FOGC attribute contained the fragment fog coord, front/back- face flag and the gl_PointCoord.xy values. Now each of those things are separate fragment program attributes. This simplifies quite a few things in Mesa and gallium. Need to test i965 driver and fix up point coord handling in the gallium/draw module...
2009-04-01mesa: texture combine clean-upsBrian Paul
Use MAX_COMBINER_TERMS instead of 4. Rename some vars. Update comments.
2009-04-01swrast: do texture sampling/combining in floating pointBrian Paul
The code's cleaner and a step toward supporting float-valued texture sampling. Some optimizations for common cases can be added and re-enabled...
2009-03-11mesa: remove some last remnants of GL_MESA_program_debugBrian Paul
2009-02-28mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it. Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
2009-02-09swrast: use ASSIGN_4V() macroBrian Paul
2009-02-06swrast: return (0,0,0,1) when sampling incomplete textures, not (0,0,0,0)Brian Paul
Fixes piglit shaders/fp-incomplete-tex test.
2009-01-28mesa: implement texture swizzling in swrastBrian Paul
And enable GL_EXT_texture_swizzle for software drivers.
2009-01-28mesa: if texObj is NULL in fetch_texel_*(), return black.Brian Paul
2008-08-11mesa: added comment about gl_PointCoordBrian Paul
2008-07-08added null texObj ptr check (bug 15567)Brian Paul
2008-05-14Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul
Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
2008-01-06Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.Brian
These fields are no longer indexed by shader output. Now, we just have a simple array of renderbuffer pointers. If the shader writes to gl_FragData[i], send those colors to the N _ColorDrawBuffers. Otherwise, replicate the single gl_FragColor (or the fixed-function color) to the N _ColorDrawBuffers. A few more changes and simplifications can follow from this...
2007-12-04fix span->facing computation and gl_FrontFacing initializationBrian
2007-11-30fix broken two-sided stencilBrian
2007-11-23Consolidate texture fetch code and use partial derivatives when possible.Brian
2007-11-20clamp lambda to Min/MaxLodBrian
2007-10-24Implement gl_PointCoord attribute for GLSL fragment shaders.Brian
Contains the normalized fragment position within a point sprite.
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-06-11Rework _mesa_update_texture_compare_function() to only be called duringBrian
state validation/update. Note that we're still temporarily skipping the test for an active fragment program. Need to fix shadow2D() ...
2007-06-11Temporarily disable the calls to _mesa_update_texture_compare_function().Brian
This fixes the depth-peel regression reported by Brad King.
2007-06-07Add support for GL_ARB_fragment_program_shadow.Ian Romanick
2007-06-07Fix ARB_fp spec conformance bug WRT shadow sampling.Ian Romanick
The ARB_fp (and other assembly-level fragment program specs) say that the depth comparison function is always GL_NONE in fragment program mode.
2007-05-11remove some unneeded code in init_machine()Brian
2007-05-02changes to get DDX/DDY working againBrian
2007-04-28only load front/back face attrib if using a shader (bug 10788)Brian
2007-04-21undo a test/debug changeBrian
2007-04-19Put gl_program_machine into swrast structure rather than using a local variable.Brian
Basically an easy way to make sure the memory gets initialized once (to zero) to avoid lots of valgrind warnings.
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-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-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-17Lots of changes to prog_print.c code.Brian
Mainly, allow printing programs in either ARB, NV or "debug" formats.