summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texenvprogram.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-10-101-16/+106
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul2008-10-071-14/+16
| | | | | | | | Also, fix up some comments to be doxygen style.
| * mesa: protect against segfault in get_fp_input_mask()Keith Whitwell2008-10-071-1/+4
| |
| * mesa: handle vertex program enabled case also in texenvprogram.cKeith Whitwell2008-10-041-5/+4
| |
| * mesa: avoid generating constant vertex attributes in fixedfunc programsKeith Whitwell2008-10-031-5/+89
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * mesa: shrink texenvprogram state key structKeith Whitwell2008-10-031-5/+7
| |
| * mesa: fix temp register allocation problems.Brian Paul2008-09-261-0/+15
| | | | | | | | Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
| * mesa: increase MAX_INSTRUCTIONSBrian Paul2008-09-251-4/+2
| |
| * mesa: fix swizzle failure, fix typoBrian Paul2008-09-251-3/+5
| |
* | mesa: fix temp register allocation problems.Brian Paul2008-10-021-0/+15
| | | | | | | | Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
* | mesa: increase MAX_INSTRUCTIONSBrian Paul2008-09-261-4/+2
| |
* | mesa: fix swizzle failure, fix typoBrian Paul2008-09-261-3/+5
| |
* | mesa: get fixed-function program generation working againKeith Whitwell2008-09-121-0/+3
| |
* | Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-153/+59
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca2008-05-311-5/+5
| |
| * use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating ↵Brian2008-01-181-1/+1
| | | | | | | | immediates/literals
| * set SamplerUnit[] entry in load_texture() just to be safeBrian2007-12-141-0/+4
| |
| * set program->SamplersUsed bit when using a texture instructionBrian2007-12-141-1/+3
| |
| * Update texenvprogram.c code to use prog_cache.c routines.Brian2007-10-311-128/+7
| |
| * Remove ctx field from texenvprog_cacheBrian2007-10-291-12/+11
| |
| * Refactor _mesa_UpdateTexEnvProgram()Brian2007-10-291-32/+36
| | | | | | | | Will be replaced by _mesa_get_fixed_func_fragment_program().
| * Disable the else clause which assigns the default fragment program to ↵Brian2007-10-291-0/+2
| | | | | | | | | | | | | | | | 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.
| * properly init dst reg's CondMask/Swizzle fieldsBrian2007-10-231-2/+2
| |
| * bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many ↵Brian2007-10-231-3/+6
| | | | | | | | instructions
| * Generate a texenv fragment program if there's a GLSL vertex shader but no ↵Brian2007-10-021-1/+2
| | | | | | | | | | | | GLSL fragment shader. This allows Glean glsl1 test to get pretty far.
| * include programopt.hBrian2007-09-251-0/+1
| |
| * Disable vertex shader fog, compute fog in fragment shader.Brian2007-09-251-5/+11
| |
| * temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabledBrian2007-09-181-0/+1
| |
* | texenvprogram: Mark textures using ARB_shadow as ShadowSamplersNicolai Haehnle2008-06-141-2/+6
| | | | | | | | | | | | | | 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.
* | [texenvprogram] Fix refcounting-related memory leak.Nicolai Haehnle2008-06-021-1/+2
| | | | | | | | | | | | | | | | 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.
* | fix refcounting bugs in tnl/tex program cachesBrian Paul2008-05-071-26/+33
| |
* | replace // comment with /* */ (bug 14916)Brian2008-03-091-1/+1
| |
* | i965: use _Current pointer instead of Current pointer.Xiang, Haihao2008-02-291-1/+2
| | | | | | | | fix double free issue(bug#14710). It also corrects glsl/bitmap demo behavior.
* | fix bug with generated fragment programs if vertex shader is activeRoland Scheidegger2008-02-151-2/+2
| | | | | | | | | | | | | | 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.
* | Merge branch '965-glsl'Zou Nan hai2007-10-261-1/+1
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/i965/brw_sf.h src/mesa/drivers/dri/i965/intel_context.c
| * | Only vertex program fix, bypass tnl vertex programZou Nan hai2007-10-081-1/+1
| |/
* | properly init dst reg's CondMask/Swizzle fieldsBrian2007-10-231-2/+2
| |
* | bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many ↵Brian2007-10-231-4/+7
| | | | | | | | instructions
* | Brian's fix for bug9829Xiang, Haihao2007-08-171-1/+1
|/
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-4/+4
| | | | of -I flags.
* fix GL_DOT3_RGBA texture combiner mode in generated fragment programs (bug ↵Roland Scheidegger2007-07-031-1/+1
| | | | #11030)
* merge of glsl-compiler-1 branchBrian2007-03-261-40/+58
|\
| * Undo some changes to _mesa_UpdateTexEnvProgram(). Fixes broken i915 texturing.Brian2007-02-241-3/+9
| |
| * s/GLint/gl_state_index/, length is now 5 not 6Brian2007-02-231-9/+7
| |
| * fix g++ warnings/errorsBrian2007-01-231-2/+3
| |
| * Moved NumTexInstructions, NumTexIndirections, etc. into gl_program sinceBrian2007-01-091-9/+9
| | | | | | | | they can now apply to vertex programs.
| * Lots of assorted changes for new GLSL compiler backend.Brian2006-12-151-26/+40
| | | | | | | | New datatypes, constants, variables.
* | use _mesa_copy_instructions()Brian2007-03-221-4/+3
| |
* | fixes for C++ warnings/errorsBrian2007-01-231-2/+3
|/
* Add a size parameter to _mesa_add_unnamed_constant() andBrian Paul2006-11-151-1/+1
| | | | | _mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now...