summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/state.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Remove _Active and _UseTexEnvProgram flags from fragment programs.Eric Anholt2009-01-071-11/+0
| | | | | | | | There was a note in state.c about _Active deserving to die, and there were potential issues with it due to i965 forgetting to set _UseTexEnvProgram. Removing both simplifies things. Reviewed-by: Brian Paul <[email protected]>
* mesa: remove unneeded _mesa_reference_fragprog() callBrian Paul2008-12-171-4/+2
| | | | The subsequent if/else cases always call _mesa_reference_fragprog() anyway.
* mesa: fix generation of fixed function state when no vp existsAlan Hourihane2008-11-131-43/+41
|
* mesa: remove invalid assertions that programs have parametersBrian Paul2008-09-261-6/+0
| | | | Fixes failure with demos/fplight.c
* mesa: refactor: move #define FEATURE flags into new mfeatures.h fileKeith Whitwell2008-09-211-0/+4
| | | | | | | | | | | | | Also, check the FEATURE flags in many places. (cherry picked from commit 40d1a40f294f1ed2dacfad6f5498322fc08cc2d1) Conflicts: src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c
* mesa: refactor: move _mesa_init_exec_table() into new api_exec.c fileBrian Paul2008-09-211-796/+7
| | | | (cherry picked from commit b36e6f0baf64491772b8e1a1cddf68a7dcf8ee22)
* mesa: refactor: move glReadPixels code into new readpix.c fileBrian Paul2008-09-211-2/+3
|
* mesa: refactor: move glPixelStore function into new pixelstore.c fileBrian Paul2008-09-211-0/+1
|
* mesa: remove EXT/NV suffixes from _mesa_PointParameter functionsBrian Paul2008-09-211-4/+4
|
* mesa: move fixed function vertex program builder from tnl to core mesaKeith Whitwell2008-09-211-32/+66
| | | | | | Also unify caching of fragment and vertex programs in shader/prog_cache.c` Brought across from gallium-0.2
* mesa: fix MSAA enable state in update_multisample()Brian Paul2008-09-151-4/+4
|
* mesa: fix issues around multisample enableRoland Scheidegger2008-07-021-0/+17
| | | | | multisample enable is enabled by default, however gl mandates multisample rendering rules only apply if there's also a multisampled buffer.
* implement full reference counting for vertex/fragment programsBrian2008-05-061-9/+19
| | | | | Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test.
* fix mistakenly set ATIFragmentShader._Enabled bit (bug 15269)Roland Scheidegger2008-04-011-1/+1
|
* alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)Roland Scheidegger2007-11-091-4/+4
| | | | these should be the same functions (as per spec).
* Alias glStencilOpSeparateATI with glStencilOpSeparate.Brian2007-10-301-1/+0
|
* Finish up ATI_separate_stencilBrian2007-10-301-0/+4
| | | | | | Add entrypoints to glapi XML file and regenerate files. Implement glStencilOpSeparateATI(). Consolidate some code in stencil.c
* Restore old _TriangleCaps code to fix Blender problem (bug 12164)Brian2007-09-271-0/+38
|
* Remove ctx->Point._Size and ctx->Line._Width.Brian2007-07-211-2/+2
| | | | | | The clamping for these values depends on whether we're drawing AA or non-AA points, lines. Defer clamping until drawing time. Drivers could compute and keep clamped AA and clamped non-AA values if desired.
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-6/+6
| | | | of -I flags.
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-0/+5
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* Unconditionally update _TriangleCaps bits. Fixes software fallback bugs, ↵Brian2007-04-261-3/+3
| | | | such as #10687.
* Rename occlude.[ch] to queryobj.[ch]Brian2007-04-211-3/+3
|
* Restore the UseTexEnvProgram logic.Brian2007-03-271-0/+10
| | | | | Was removed during glsl-compiler work. Still need to go back and revisit this because of the interaction with fragment shaders...
* Merge branch 'origin' into glsl-compiler-1Brian2007-02-221-22/+80
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * ctx->Point._Size fixRune Peterson2007-02-101-3/+0
| |
| * Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Keith Whitwell2007-01-161-25/+111
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into vbo-0.2 Conflicts: src/mesa/array_cache/sources src/mesa/drivers/dri/i965/brw_context.c src/mesa/drivers/dri/i965/brw_draw.c src/mesa/drivers/dri/i965/brw_fallback.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_vs_tnl.c src/mesa/drivers/dri/mach64/mach64_context.c src/mesa/main/extensions.c src/mesa/main/getstring.c src/mesa/tnl/sources src/mesa/tnl/t_save_api.c src/mesa/tnl/t_save_playback.c src/mesa/tnl/t_vtx_api.c src/mesa/tnl/t_vtx_exec.c src/mesa/vbo/vbo_attrib.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_api.c src/mesa/vbo/vbo_save_draw.c
| | * Move all the code for computing ctx->_TriangleCaps into state.c.Brian2006-12-131-21/+83
| | | | | | | | | | | | ctx->_TriangleCaps should probably go away altogether someday...
| * | merge current trunk into vbo branchAlan Hourihane2006-11-021-1/+14
| | |
| * | Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that ourKeith Whitwell2006-10-301-2/+2
| | | | | | | | | | | | | | | | | | | | | NV_vertex_program implementation has slightly incorrect aliasing behaviour. I think this is reasonable given the simplification and the fact that the mainstream ARB_vp continues to have the correct behaviour.
* | | Clean-up and re-org of the main GLSL object types.Brian2006-12-191-5/+4
| | | | | | | | | | | | | | | | | | | | | Use the gl_shader struct as it should be. Renamed gl_linked_program to gl_shader_program. Store both shaders and programs in the same hash table and use the Type field to distinguish them.
* | | Overhaul of GLSL API functions, dispatching, etc.Brian2006-12-191-2/+2
| | |
* | | Lots of assorted changes for new GLSL compiler backend.Brian2006-12-151-27/+62
| |/ |/| | | | | New datatypes, constants, variables.
* | plug in 2.0, 2.1 functionsBrian Paul2006-11-031-0/+26
| |
* | new RGBA_LOGICOP_ENABLED() macroBrian Paul2006-11-021-3/+1
| |
* | Rename _mesa_IsProgram() to _mesa_IsProgramARB() to avoid collision with theBrian Paul2006-11-021-1/+1
| | | | | | | | OpenGL 2.0 function of the same name.
* | Merge texmem-0-3-branch.Keith Whitwell2006-11-011-1/+14
|/
* Fix bug #4681.Ian Romanick2006-10-111-19/+1
| | | | | | | | | | | | | | | | | glDeleteTextures and glDeleteTexturesEXT were erroneously listed as aliases of each other. For anything /except/ GLX protocol they are aliases. This set of changes allows functions that are functionally identical but have different GLX protocol to be listed as aliases. When building with GLX_INDIRECT_RENDERING set, different static functions are used. These functions determine whether the current context is direct rendering or not. If the context is direct rendering, the aliased function (e.g., glDeleteTextures in the case of glDeleteTexturesEXT) is called. If the context is not direct rendering, the correct GLX protocol is sent. For a deeper explanation of what is changed, please see: http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
* GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.Ian Romanick2006-08-241-14/+14
| | | | | | | | | | The functions for GL_EXT_paletted_texture that do not share GLX protocol with GL_ARB_imaging are supposed to alias the similar functions from GL_SGI_color_table. They didn't. This patch corrects this problem and enables GLX protocol for both extensions. Since this removes 3 entries from the dispatch table, this change creates a lot of changes in the generated files.
* added FEATURE_EXT_timer_query and testsBrian Paul2006-08-171-3/+4
|
* Add support for GL_EXT_gpu_program_parameters. Any driver that enablesIan Romanick2006-08-151-0/+6
| | | | | either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this extension as well.
* Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul2006-07-201-1/+1
| | | | "gl_" to match other structs.
* Compute ctx->Color._LogicOpEnabled in one place instead of four places!Brian Paul2006-07-181-1/+18
|
* Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick2006-06-121-38/+45
| | | | | | | and demos are also added. Adding basic support to drivers should be as easy as just enabling the extension, though thorough test would also be required.
* The ctx->_TexEnvProgram that's allocated in update_state() doesn't seem toBrian Paul2006-05-241-1/+2
| | | | | | be needed (it's set in texenvprogram.c) and is a memory leak according to valgrind. Disable with #if 0 / #endif
* Put color index attribute into the 6th attribute slot.Brian Paul2006-04-251-6/+6
| | | | | | Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values instead of specific vertex attributes. Remove the EdgeFlagv function from the GLvertexformat struct.
* More GLSL code:Michal Krol2006-04-111-2/+15
| | | | | | | | | | | | - use macros to access and modify render inputs bit-field; - un-alias generic vertex attributes for ARB vertex calls; - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS (ARB code) in place of VERT_ATTRIB_MAX; - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex attributes for ARB_vertex_shader; - fix generic attribute index range check in arbprogparse.c; - interface GLSL varyings between vertex and fragment shader; - use 64-bit optimised bitset (bitset.h) for render inputs;
* Move the computation of the viewport matrix into a new update_viewport_matrix()Brian Paul2006-03-291-0/+23
| | | | | | | function since the matrix depends on the viewport params and the framebuffer's depth buffer resolution. Fixes some renderbuffer / depth range issues. This simplifies the _mesa_set_viewport() and _mesa_DepthRange() functions too.
* Added glBlitFramebufferEXT function.Brian Paul2006-03-011-2/+6
|
* s/GLuint/GLbitfield/Brian Paul2006-01-091-1/+1
|