Commit Graph

251 Commits

Author SHA1 Message Date
Keith Whitwell
af74abab6b mesa: get fixed-function program generation working again 2008-09-12 10:04:56 +01:00
Keith Whitwell
0397b2bb41 Merge branch 'gallium-0.1' into gallium-0.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
2008-09-11 16:05:15 +01:00
Roland Scheidegger
489fc4d10a mesa: fix issues around multisample enable
multisample enable is enabled by default, however gl mandates multisample
rendering rules only apply if there's also a multisampled buffer.
2008-07-02 20:22:08 +02:00
Roland Scheidegger
5ef4e4ffb8 mesa: fix issues around multisample enable
multisample enable is enabled by default, however gl mandates multisample
rendering rules only apply if there's also a multisampled buffer.
2008-07-02 20:21:06 +02:00
Brian Paul
d378f7b3df mesa: point size arrays 2008-06-25 08:45:14 -06:00
Brian Paul
40d1a40f29 mesa: refactor: move #define FEATURE flags into new mfeatures.h file
Also, check the FEATURE flags in many places.
2008-06-10 16:13:42 -06:00
Brian Paul
b36e6f0baf mesa: refactor: move _mesa_init_exec_table() into new api_exec.c file 2008-06-09 14:49:04 -06:00
Brian Paul
d960a0621d mesa: refactor: move glReadPixels code into new readpix.c file 2008-06-09 14:22:15 -06:00
Brian Paul
f26baad2e1 mesa: refactor: move glPixelStore function into new pixelstore.c file 2008-06-09 14:14:34 -06:00
Brian Paul
16e8ee33bd mesa: remove EXT/NV suffixes from _mesa_PointParameter functions 2008-06-05 12:08:19 -06:00
Keith Whitwell
a2b1c46535 mesa: evaluate _NeedEyeCoords prior to generating internal vertex shader 2008-05-24 13:22:39 +01:00
Brian Paul
f9e1ef2a5b alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)
these should be the same functions (as per spec).

cherry-picked from master (86a4810b09)
2008-05-18 15:21:28 -06:00
Brian
df43fb661b implement full reference counting for vertex/fragment programs
Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
Fixes a memory corruption bug found with glean/api2 test.
2008-05-06 23:08:51 -06:00
Brian
103ae5d16f gallium: implement full reference counting for vertex/fragment programs
Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
Fixes a memory corruption bug found with glean/api2 test.
Another memory bug involving shaders yet to be fixed...
2008-05-06 22:13:06 -06:00
Brian
9edac96d69 Alias glStencilOpSeparateATI with glStencilOpSeparate. 2008-04-04 12:44:14 +02:00
Brian
102f2ef4fc Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
2008-04-04 12:44:14 +02:00
Roland Scheidegger
28dfb0613b fix mistakenly set ATIFragmentShader._Enabled bit (bug 15269) 2008-04-01 23:24:11 +02:00
Roland Scheidegger
86a4810b09 alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)
these should be the same functions (as per spec).
2007-11-09 14:46:59 +01:00
Brian
68ab379be0 more flags for MaintainTnlProgram case, update #includes 2007-10-31 12:27:47 -06:00
Brian
ba0fcc47d6 Set _NEW_BUFFERS in glRead/DrawBuffer().
Previously, we set _NEW_PIXEL and _NEW_COLOR in these functions, respectively.
That correponds to the GL attribute groups, but doesn't make much sense
otherwise.  This could improve validation efficiency in a few places too.
It looks like all the drivers are already checking for _NEW_BUFFERS in the
right places (since that's the bit for FBO state) so we can trim out
_NEW_PIXEL and _NEW_COLOR at any time.
2007-10-30 11:32:53 -06:00
Brian
a7f64635a6 Alias glStencilOpSeparateATI with glStencilOpSeparate. 2007-10-30 10:24:34 -06:00
Brian
f70ca96ba9 Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
2007-10-30 09:13:58 -06:00
Brian
1553eba50c Rewrite update_program() to use _mesa_get_fixed_func_fragment/vertex_program(). 2007-10-29 15:15:34 -06:00
Brian
ed6d5ff6f8 Restore old _TriangleCaps code to fix Blender problem (bug 12164) 2007-09-27 10:39:01 -06:00
Brian
af2aa8e9cf Remove ctx->Point._Size and ctx->Line._Width.
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.
2007-07-21 10:06:41 -06:00
Brian
c223c6b663 Be more consistant with paths in #includes. Eventually, eliminate a bunch of -I flags. 2007-07-04 13:15:20 -06:00
Ian Romanick
bb372f1c9b Initial implementation of MESA_texture_array
Shadow sampling from texture arrays is still not implemented.  Everything
else should be there, though.
2007-05-16 15:34:22 -07:00
Brian
b7f5b8af65 Unconditionally update _TriangleCaps bits. Fixes software fallback bugs, such as #10687. 2007-04-26 10:45:44 -06:00
Brian
74afcabd85 Rename occlude.[ch] to queryobj.[ch] 2007-04-21 12:42:54 -06:00
Brian
3e45db6729 Restore the UseTexEnvProgram logic.
Was removed during glsl-compiler work.  Still need to go back and revisit this
because of the interaction with fragment shaders...
2007-03-27 09:51:52 -06:00
Brian
29c471aafc Merge branch 'origin' into glsl-compiler-1
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
2007-02-22 08:53:33 -07:00
Rune Peterson
3bacb68c70 ctx->Point._Size fix 2007-02-10 18:19:43 -07:00
Keith Whitwell
6a3fdc3a1e Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa 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
2007-01-16 11:22:57 +00:00
Brian
65a18442e5 Clean-up and re-org of the main GLSL object types.
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.
2006-12-19 18:46:56 -07:00
Brian
0bf5dbe002 Overhaul of GLSL API functions, dispatching, etc. 2006-12-19 18:02:41 -07:00
Brian
a90046f109 Lots of assorted changes for new GLSL compiler backend.
New datatypes, constants, variables.
2006-12-15 10:07:26 -07:00
Brian
8dcfcad7a2 Move all the code for computing ctx->_TriangleCaps into state.c.
ctx->_TriangleCaps should probably go away altogether someday...
2006-12-13 15:31:14 -07:00
Brian Paul
c64a062918 plug in 2.0, 2.1 functions 2006-11-03 20:25:44 +00:00
Brian Paul
abc73d9cba new RGBA_LOGICOP_ENABLED() macro 2006-11-02 17:49:47 +00:00
Brian Paul
f49c0d0dfb Rename _mesa_IsProgram() to _mesa_IsProgramARB() to avoid collision with the
OpenGL 2.0 function of the same name.
2006-11-02 16:20:29 +00:00
Alan Hourihane
6d104cb932 merge current trunk into vbo branch 2006-11-02 12:02:13 +00:00
Keith Whitwell
5ac93f8621 Merge texmem-0-3-branch. 2006-11-01 14:21:57 +00:00
Keith Whitwell
fd2756006a Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that our
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.
2006-10-30 20:16:35 +00:00
Ian Romanick
f3f51bc844 Fix bug #4681.
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
2006-10-11 22:37:14 +00:00
Ian Romanick
a5f2206077 GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.
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.
2006-08-24 21:42:38 +00:00
Brian Paul
9dc90cd5f3 added FEATURE_EXT_timer_query and tests 2006-08-17 14:25:04 +00:00
Ian Romanick
8c41c757fe Add support for GL_EXT_gpu_program_parameters. Any driver that enables
either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this
extension as well.
2006-08-15 16:47:34 +00:00
Brian Paul
122629f279 Some structure renaming. Prefix vertex/fragment-related structs with
"gl_" to match other structs.
2006-07-20 16:49:57 +00:00
Brian Paul
813e56db51 Compute ctx->Color._LogicOpEnabled in one place instead of four places! 2006-07-18 19:15:40 +00:00
Ian Romanick
ee34e6ef71 Add support for GL_APPLE_vertex_array_object. Several test programs
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.
2006-06-12 16:26:29 +00:00