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