summaryrefslogtreecommitdiff
path: root/src/mesa/main/texenvprogram.c
AgeCommit message (Collapse)Author
2008-10-10Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell
Conflicts: src/gallium/auxiliary/gallivm/instructionssoa.cpp src/gallium/auxiliary/gallivm/soabuiltins.c src/gallium/auxiliary/rtasm/rtasm_x86sse.c src/gallium/auxiliary/rtasm/rtasm_x86sse.h src/mesa/main/texenvprogram.c src/mesa/shader/arbprogparse.c src/mesa/shader/prog_statevars.c src/mesa/state_tracker/st_draw.c src/mesa/vbo/vbo_exec_draw.c
2008-10-07mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul
Also, fix up some comments to be doxygen style.
2008-10-07mesa: protect against segfault in get_fp_input_mask()Keith Whitwell
2008-10-04mesa: handle vertex program enabled case also in texenvprogram.cKeith Whitwell
2008-10-03mesa: avoid generating constant vertex attributes in fixedfunc programsKeith Whitwell
Keep track of enabled/active vertex attributes. Keep track of potential vertex program outputs. When generating fragment program, replace references to fragment attributes which are effectively non-varying and non-computed passthrough attributes with references to the new CURRENT_ATTRIB tracked state value. Only downside is slight ugliness in VBO code where we need to validate state twice in succession.
2008-10-03mesa: shrink texenvprogram state key structKeith Whitwell
2008-10-02mesa: fix temp register allocation problems.Brian Paul
Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
2008-09-26mesa: fix temp register allocation problems.Brian Paul
Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
2008-09-26mesa: increase MAX_INSTRUCTIONSBrian Paul
2008-09-26mesa: fix swizzle failure, fix typoBrian Paul
2008-09-25mesa: increase MAX_INSTRUCTIONSBrian Paul
2008-09-25mesa: fix swizzle failure, fix typoBrian Paul
2008-09-24set SamplerUnit[] entry in load_texture() just to be safeBrian
(cherry picked from commit fce4612f8a29ee1798c9326a431a139d856c7a04)
2008-09-24use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating ↵Brian
immediates/literals (cherry picked from commit fdc8636bdc65deb0d95a62a51c8d9bca05bc6bb8)
2008-09-24set program->SamplersUsed bit when using a texture instructionBrian
2008-09-24Remove ctx field from texenvprog_cacheBrian
2008-09-24include programopt.hBrian
(cherry picked from commit 83fad68ec1989c719646a76f4cc5e0b3d23537ed)
2008-09-24Disable vertex shader fog, compute fog in fragment shader.Brian
2008-09-24temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabledBrian
(cherry picked from commit 63be96bdc7e9f388a5c49295bd7e150462fd003a)
2008-09-23mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-09-21mesa: move fixed function vertex program builder from tnl to core mesaKeith Whitwell
Also unify caching of fragment and vertex programs in shader/prog_cache.c` Brought across from gallium-0.2
2008-09-12mesa: get fixed-function program generation working againKeith Whitwell
2008-09-11Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell
A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj
2008-06-14texenvprogram: Mark textures using ARB_shadow as ShadowSamplersNicolai Haehnle
Since ARB_fragment_program and friends are defined to ignore the setting of the GL_TEXTURE_COMPARE_FUNC parameter, we have to explicitly enable the shadow comparison by marking the texture unit in ShadowSamplers when appropriate.
2008-06-02[texenvprogram] Fix refcounting-related memory leak.Nicolai Haehnle
All newly created programs have RefCount == 1, but the fragment program cache added an additional reference in cache_item, with the result being that none of the programs were ever freed. Solve the problem by not creating the additional reference in cache_item.
2008-05-31mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-05-07fix refcounting bugs in tnl/tex program cachesBrian Paul
2008-03-09replace // comment with /* */ (bug 14916)Brian
2008-02-29i965: use _Current pointer instead of Current pointer.Xiang, Haihao
fix double free issue(bug#14710). It also corrects glsl/bitmap demo behavior.
2008-02-15fix bug with generated fragment programs if vertex shader is activeRoland Scheidegger
When generating a fragment program from fixed function, checking texUnit->_ReallyEnabled is not sufficient, need texUnit->Enabled too since the former also represents texture enables from an active vertex shader.
2008-01-18use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating ↵Brian
immediates/literals
2007-12-14set SamplerUnit[] entry in load_texture() just to be safeBrian
2007-12-14set program->SamplersUsed bit when using a texture instructionBrian
2007-10-31Update texenvprogram.c code to use prog_cache.c routines.Brian
2007-10-29Remove ctx field from texenvprog_cacheBrian
2007-10-29Refactor _mesa_UpdateTexEnvProgram()Brian
Will be replaced by _mesa_get_fixed_func_fragment_program().
2007-10-29Disable the else clause which assigns the default fragment program to ↵Brian
ctx->FragmentProgram._Current The _Current field should either point to the fragment program which is to be run (GLSL, ARB_f_p, fixed-func-generated, etc) or be NULL if conventional fixed-function code is to be used. Matches TNL program code.
2007-10-26Merge branch '965-glsl'Zou Nan hai
Conflicts: src/mesa/drivers/dri/i965/brw_sf.h src/mesa/drivers/dri/i965/intel_context.c
2007-10-23properly init dst reg's CondMask/Swizzle fieldsBrian
2007-10-23properly init dst reg's CondMask/Swizzle fieldsBrian
2007-10-23bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many ↵Brian
instructions
2007-10-23bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many ↵Brian
instructions
2007-10-08 Only vertex program fix, bypass tnl vertex programZou Nan hai
2007-10-02Generate a texenv fragment program if there's a GLSL vertex shader but no ↵Brian
GLSL fragment shader. This allows Glean glsl1 test to get pretty far.
2007-09-25include programopt.hBrian
2007-09-25Disable vertex shader fog, compute fog in fragment shader.Brian
2007-09-18temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabledBrian
2007-08-17Brian's fix for bug9829Xiang, Haihao
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-07-03fix GL_DOT3_RGBA texture combiner mode in generated fragment programs (bug ↵Roland Scheidegger
#11030)