summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/light.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: remove SQRTF, use sqrtf. Convert INV_SQRT() to inline function.Brian Paul2012-09-031-1/+1
| | | | | | | We were already defining sqrtf where we don't have the C99 version. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* mesa/es: Validate glLightModel pname in Mesa code rather than the ES wrapperIan Romanick2012-08-291-2/+11
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Validate glGetMaterial pname in Mesa code rather than the ES wrapperIan Romanick2012-08-291-0/+6
| | | | | | | | Fixes a bug that glGetMaterial[fx]v in ES1 contexts would (try to) allow queries of GL_AMBIENT_AND_DIFFUSE. This enum can only be used in glMaterial, not in the get. Signed-off-by: Ian Romanick <[email protected]>
* mesa: rename ColorMaterialBitmask to _ColorMaterialBitmaskBrian Paul2012-06-271-5/+5
| | | | Since it's a derived field.
* mesa: fix/add error check in _mesa_ColorMaterial()Brian Paul2012-05-111-0/+2
| | | | | | | _mesa_material_bitmask() will record a GL error and return 0 if face or mode are illegal. Return early in that case. NOTE: This is a candidate for the 8.0 branch.
* mesa: remove unused DD_FLATSHADEBrian Paul2012-03-121-4/+0
| | | | | Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Push the shine table into the tnl module.Mathias Fröhlich2012-02-291-124/+0
| | | | | | | | | | All users of the shine table outside of the tnl module are gone. Move the implementation into the tnl module and prefix the public functions with _tnl. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Do not invalidate shine tables in compute light positions.Mathias Fröhlich2012-02-291-3/+0
| | | | | | | | | | | | Since the shine tables are now only used in the tnl lighting stage, where they are validated through the tnl driver function NotifyMaterialChange called in tnl/t_vb_light.c, we can not omit calling _mesa_validate_all_lighting_tables (which only validates the shine tables) in main/light.c. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Avoid explicit invalidation of shine tables.Mathias Fröhlich2012-02-291-27/+0
| | | | | | | | | | Since the shine tables are implicitly invalidated by having a different shininess value than the current one, we can omit the explicit invalidation of the shine table. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Remove gl_light_attrib::_Flags.Mathias Fröhlich2012-02-291-4/+4
| | | | | | | | This variable is only used locally in _mesa_update_lighting. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Remove _CosCutoffNeg from light state.Mathias Fröhlich2012-02-291-5/+2
| | | | | | | | | It is only used as a temporary variable during computation of _CosCutoff. So, don't store it. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: make _mesa_invalidate_shine_table() staticBrian Paul2012-02-101-4/+9
|
* mesa: remove gl_light::_SpotExpTable fieldBrian Paul2012-02-101-51/+1
| | | | | | | Just use pow() instead. Spot lights aren't too common and fixed-function lighting isn't as important as it used to me. This saves 32KB per context. Each table was 4KB and there's 8 lights.
* mesa: remove unused _mesa_copy_materials.Mathias Fröhlich2011-12-261-16/+0
| | | | Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: make sure all lighting tables are updated before the computationYuanhan Liu2011-11-161-0/+3
| | | | | | | | | Make sure all lighting tables are updated before using the table to calculate something, say using _SpotExpTable to calculate _VP_inf_spot_attenuation. Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-14/+14
|
* mesa: Fix printf-like warnings.Vinson Lee2010-09-021-3/+3
|
* mesa: Remove no-op wrappers around trig functions.Eric Anholt2010-05-131-1/+1
|
* mesa: Remove _mesa_pow(), which is always just pow().Eric Anholt2010-05-131-2/+2
|
* mesa: Remove checks of Visual.rgbModeIan Romanick2010-03-031-25/+16
| | | | | | This must always be true now, so there is no reason to check it. Ever. Signed-off-by: Ian Romanick <[email protected]>
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-191-2/+2
|
* Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul2009-12-111-4/+16
|\
| * mesa: Fix array out-of-bounds access by _mesa_Lighti.Vinson Lee2009-12-091-1/+4
| | | | | | | | | | _mesa_Lighti calls _mesa_Lightiv, which uses the params argument as an array.
| * mesa: Fix array out-of-bounds access by _mesa_Lightf.Vinson Lee2009-12-091-1/+4
| |
| * mesa: Fix array out-of-bounds access by _mesa_LightModelf.Vinson Lee2009-12-091-1/+4
| | | | | | | | | | _mesa_LightModelf calls _mesa_LightModelfv, which uses the params argument as an array.
| * mesa: Fix array out-of-bounds access by _mesa_LightModeli.Vinson Lee2009-12-081-1/+4
| | | | | | | | | | _mesa_LightModeli calls _mesa_LightModeliv, which uses the params argument as an array.
* | mesa: rename VERBOSE_IMMEDIATE->VERBOSE_MATERIAL to reflect what it doesBrian Paul2009-10-141-1/+1
|/
* Merge branch 'mesa_7_5_branch'Brian Paul2009-08-141-4/+4
|\
| * mesa: fix warnings about locals hiding function paramsBrian Paul2009-08-131-3/+3
| |
| * mesa: fix some potential uninitialized memory referencesBrian Paul2009-08-131-1/+1
| |
* | mesa: exec/dlist functions for glProvokingVertexEXT()Brian Paul2009-05-281-2/+35
|/
* mesa: rename some gl_light fields to be clearerBrian Paul2009-04-031-13/+13
| | | | | EyeDirection -> SpotDirection _NormDirection -> _NormSpotDirection
* mesa: don't normalize spot light direction until validation timeBrian Paul2009-04-031-2/+7
| | | | | In glLight() we're only supposed to transform the direction by the modelview matrix, not normalized it too.
* Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-141-1/+2
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: docs/install.html docs/relnotes-7.3.html src/mesa/shader/slang/slang_codegen.c src/mesa/shader/slang/slang_compile.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_preprocess.c src/mesa/shader/slang/slang_preprocess.h
| * mesa: fix incorrect transformation of GL_SPOT_DIRECTIONBrian Paul2009-01-141-1/+2
| | | | | | | | This was changed between GL 1.0 and 1.1. Mesa still had the 1.0 behaviour.
| * mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca2008-09-231-1/+1
| |
* | Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa into ↵Alan Hourihane2008-09-111-0/+1
|\| | | | | | | | | | | | | | | | | | | | | gallium-0.2 Conflicts: src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/main/texstore.c src/mesa/tnl/t_vp_build.c src/mesa/vbo/vbo_exec_draw.c
| * fix no error generated when calling glLight{if}[v] inside begin/end (bug 17408)Roland Scheidegger2008-09-021-0/+1
| |
* | Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-1/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| |
| * mesa: undo accidental setting of _ForceEyeCoordsKeith Whitwell2008-05-301-1/+1
| |
| * ffvertex: emit full LIT when attenuating (needs the 1 in X position)Keith Whitwell2008-05-271-0/+1
| |
* | Restore old _TriangleCaps code to fix Blender problem (bug 12164)Brian2007-09-271-0/+9
|/
* if light position is local, treat it as a homogeneous coord and divide by W ↵Brian2007-05-211-2/+9
| | | | (see bug 11009)
* Move all the code for computing ctx->_TriangleCaps into state.c.Brian2006-12-131-10/+4
| | | | ctx->_TriangleCaps should probably go away altogether someday...
* Color clamping fixes.Brian Paul2006-10-221-0/+1
|
* Remove carriage returns.Michal Krol2006-04-251-4/+4
|
* GLSL fixes:Michal Krol2006-03-211-8/+11
| | | | | | | | | | | | | | | | | | - generate error on NULL pointers in glShaderSourceARB; - reinstall program object, if current, in glLinkProgramARB; - vertex and fragment shaders are optional in program object; - floor asm was wrongly computed for x86 back-end; - allow for (void) idiom in function prototypes; - all fixed-state uniforms are updated; - local variable initializers are working; - implement texture* and shadow* functions for vertex processor; - generate error if too many arguments in general constructor; - trim unused data in general constructor; - struct r-value field select was badly relocated; Changes: - add derived state gl_fog_attrib::_Scale; - add derived state gl_light::_CosCutoffNeg;
* Added _mesa_light() helper function so we can avoid transforming thenBrian Paul2005-11-121-77/+128
| | | | | un-transforming light positions and spot directions when popping light state off the attribute stack.
* s/MAX_LIGHTS/ctx->Const.MaxLights/ and spruce up some commentsBrian Paul2005-11-101-14/+22
|