summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/config.h
Commit message (Collapse)AuthorAgeFilesLines
* mesa: move last bits of GLchan stuff into swrastBrian Paul2011-09-201-1/+1
| | | | | This removes the last remnants of the GLchan datatype and associated macros out of core Mesa and into swrast.
* Increase MAX_CLIP_PLANES to 8Paul Berry2011-09-201-2/+5
| | | | | | | | | | | | This will allow drivers to increase ctx->Const.MaxClipPlanes to 8, which is required for GLSL-1.30 compliance. No driver behavior should be affected. However, many data structures use MAX_CLIP_PLANES as an array size, so these arrays will get slightly larger. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: bump max program local params, max uniforms limitBrian Paul2011-08-311-2/+2
| | | | | | Some driver support more than 1024. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Temporary hack to prevent stack overflow on windowsJosé Fonseca2010-12-021-0/+17
| | | | | e.g. st_readpixels is trying to alloca() an huge ammount of memory from the stack.
* mesa: raise max texture sizes to 16KBrian Paul2010-12-021-7/+10
| | | | | | | | | | | This allows 16K x 16K 2D textures, for example, but we don't want to allow that for 3D textures. The new gl_constants::MaxTextureMBytes field is used to prevent allocating too large of texture image. This allows a 16K x 32 x 32 3D texture, for example, but prevents 16K^3. Drivers can override this limit. The default is currently 1GB. Apps should use the proxy texture mechanism to determine the actual max texture size.
* mesa: fix comment typoBrian Paul2010-08-101-1/+1
|
* mesa: initial support for ARB_geometry_shader4Zack Rusin2010-06-281-0/+9
| | | | | | laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
* mesa: increase MAX_DRAW_BUFFERS to 8Brian Paul2010-05-031-1/+1
| | | | Required for GL 3.x
* mesa: initial data structures for transform feedbackBrian Paul2010-03-301-0/+5
|
* mesa: Fix default (swrast) GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS.Eric Anholt2009-12-101-1/+2
| | | | | | | | The swrast pipeline shouldn't have any problem with all the frag and vert textures being bound at the same time. Note that this may result in DRI drivers that don't set this limit having an improbable return (fragment + vertex < combined), but it seems like it shouldn't cause problems for apps.
* Merge branch 'outputswritten64'Ian Romanick2009-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add a GLbitfield64 type and several macros to operate on 64-bit fields. The OutputsWritten field of gl_program is changed to use that type. This results in a fair amount of fallout in drivers that use programs. No changes are strictly necessary at this point as all bits used are below the 32-bit boundary. Fairly soon several bits will be added for clip distances written by a vertex shader. This will cause several bits used for varyings to be pushed above the 32-bit boundary. This will affect any drivers that support GLSL. At this point, only the i965 driver has been modified to support this eventuality. I did this as a "squash" merge. There were several places through the outputswritten64 branch where things were broken. I foresee this causing difficulties later for bisecting. The history is still available in the branch. Conflicts: src/mesa/drivers/dri/i965/brw_wm.h
* ARB prog: Change handling of program parameter limitsIan Romanick2009-08-261-17/+39
| | | | | | | | | | | | | | | | | Several changes are made to program parameter limits. Several of the non-NATIVE limits are set higher. All of the NATIVE limits are set to zero in the core Mesa code. Each driver must set the actual value in its context creation routine. If the NATIVE value remains zero, this indicates that hardware shaders may not be supported. Each of the preceeding changes matches the bahavior of Apple's shader assembler, so it seems safe. Finally, we limit the value of MaxEnvParams to be no greater than MaxNativeAttribs. At least one case has been found where an application does the wrong thing if MaxNativeAttribs < MaxEnvParams. See also bugzilla #23490.
* Allow external settings of MAX_WIDTH/HEIGHT.Tom Fogal2009-08-141-2/+7
| | | | | Conditionalize MAX_WIDTH / MAX_HEIGHT defines so that users can set them via CFLAGS.
* Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-06-091-2/+2
|\ | | | | | | | | | | | | | | | | Conflicts: Makefile src/mesa/main/version.h src/mesa/shader/slang/slang_preprocess.c src/mesa/state_tracker/st_cb_bufferobjects.c
| * mesa: bump MAX_PROGRAM_ENV_PARAMS from 128 to 256Brian Paul2009-06-081-2/+2
| | | | | | | | Also, MAX_NV_VERTEX_PROGRAM_PARAMS should be 96, not 128 (or 256).
* | mesa: remove MAX_VERTEX_PROGRAM_ATTRIBSBrian Paul2009-05-221-1/+0
| | | | | | | | | | Use MAX_VERTEX_GENERIC_ATTRIBS instead. No need for two #defines for the same quantity.
* | mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul2009-05-221-1/+1
| | | | | | | | | | Be clearer that this is the number of generic vertex program/shader attributes, not counting the legacy attributes (pos, normal, color, etc).
* | mesa: raise MAX_VARYING (number of shader varying vars) to 16Brian Paul2009-05-081-1/+1
|/ | | | 16 is the limit for now because of various 32-bit bitfields.
* mesa: bump MAX_PROGRAM_TEMPS to 256 (there's some big shaders out there)Alan Hourihane2009-03-241-1/+1
|
* mesa: add support for ATI_envmap_bumpmapRoland Scheidegger2009-03-121-1/+2
| | | | | | | | add new entrypoints, new texture format, etc translate in texenvprogram.c for drivers using the mesa-generated tex env fragment program also handled in swrast, but not tested (cannot work due to negative texel results not handled correctly)
* mesa: remove unused AUX buffersBrian Paul2009-03-021-1/+1
| | | | | | Remove all references to aux buffers 1..3. Keep AUX0 around for now just in case, but it'll probably go too someday. I don't know of any OpenGL drivers since the IRIX days that support aux color buffers.
* mesa: move a bunch of compiler-related stuff into new compiler.h headerBrian Paul2009-02-221-4/+1
| | | | This trims down and cleans up imports.h and glheader.h quite a bit.
* mesa: increase MAX_UNIFORMS to 1024 (of vec4 type)Brian Paul2009-02-181-1/+1
| | | | | | | | Old limit was 256. Note that no arrays are declared to this size. The only place we have to be careful about raising this limit is the prog_src/dst_register Index bitfields. These have been bumped up too. Added assertions to check we don't exceed the bitfield in the future too.
* i965: Eric Anholt's patch for bumping up texture sizesRobert Ellison2009-02-131-4/+4
| | | | | | | | | | | | | I'm committing this because it fixes a conform failure; the failure occurs on the TextureProxy test, where the test attempts to create proxy textures at every level, but fails at the last level (border == 1, width == 1, height == 1) because it's beyond MAX_TEXTURE_LEVELS. Eric's original comment was: idr said that in his review swrast was ready for it, and the 965 driver is advertising it already though it has been resulting in many crashes due to arrays using these defines not being big enough.
* Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-021-26/+27
|\ | | | | | | | | | | | | Conflicts: src/mesa/main/ffvertex_prog.c src/mesa/main/texenvprogram.c
| * mesa: increase max texture image units and GLSL samplers to 16Brian Paul2008-12-311-26/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max texture coord units is still 8. All the fixed-function paths are still limited to 8 too. But GLSL shaders can use more samplers now. Note that some texcoord-related data structures are declared to be 16 elements in size rather than 8. This just simplifies the code in a few places; the extra elements aren't accessible to the user. These changes haven't been extensively tested yet, but sanity checking has been done. It should be possible to increase the max image units/samplers to 32 without doing anything special. Beyond that we'll need longer bitfields in a few places.
* | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-12-301-2/+2
|\| | | | | | | | | | | Conflicts: src/mesa/main/config.h
| * mesa: increase max constants/uniforms to 256 (vec4 vectors)Brian Paul2008-12-301-2/+2
| |
* | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-241-0/+2
|\| | | | | | | | | | | Conflicts: progs/glsl/Makefile
| * mesa: add gl_program::Input/OutputFlags[] arrayBrian Paul2008-11-241-0/+2
| | | | | | | | | | These arrays will indicate per-input or per-output options for vertex/fragment programs such as centroid-sampling and invariance.
| * mesa: comments about vectors vs componentsBrian Paul2008-09-211-2/+2
| |
| * mesa: refactor: move #define FEATURE flags into new mfeatures.h fileKeith Whitwell2008-09-211-35/+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: fix/simplify initialization of vertex/fragment program limitsBrian Paul2008-09-261-3/+1
| | | | | | | | | | | | Defaults for program length, num ALU instructions, num indirections, etc. basically indicate no limit for software rendering. Driver should override as needed.
* | Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-37/+6
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: comments about vectors vs componentsBrian Paul2008-07-141-2/+2
| |
| * mesa: refactor: move #define FEATURE flags into new mfeatures.h fileBrian Paul2008-06-101-34/+4
| | | | | | | | Also, check the FEATURE flags in many places.
| * alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)Brian Paul2008-05-181-19/+20
| | | | | | | | | | | | these should be the same functions (as per spec). cherry-picked from master (86a4810b09097714942bf2b889e6c62357bba931)
| * Re-implement GLSL texture sampler variables.Brian2007-10-261-0/+1
| | | | | | | | | | | | | | | | | | | | GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
* | mesa: implement grammar/parsing for precision/invariant syntaxBrian Paul2008-07-291-0/+1
| | | | | | | | Plus, fix some issues with pre-defined preprocessor symbols and version checking.
* | Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul2008-05-141-0/+1
| | | | | | | | | | | | | | | | | | | | Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
* | New ctx->Driver.Map/UnmapTexture() functions for accessing textures from ↵Brian2007-11-291-1/+1
| | | | | | | | t_vb_program.c
* | alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)Roland Scheidegger2007-11-091-19/+20
|/ | | | these should be the same functions (as per spec).
* increase MAX_POINT_SIZE to 60Brian2007-06-281-1/+1
|
* remove obsolete comment about max DEFAULT_SOFTWARE_DEPTH_BITSBrian2007-06-081-6/+3
|
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-0/+3
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* enable GLSL 1.20Brian2007-04-081-0/+1
|
* Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1.Brian2007-03-111-1/+1
| | | | | | GL_MAX_DRAW_BUFFERS is currently 4. Added gl_FragData[] output for fragment programs. In _swrast_write_rgba_span() loop over the color outputs/renderbuffers.
* define and use MAX_PROGRAM_ADDRESS_REGSBrian2007-02-251-0/+1
|
* added MAX_PROGRAM_ENV_PARAMSBrian2007-02-221-0/+1
|
* Lots of assorted changes for new GLSL compiler backend.Brian2006-12-151-7/+3
| | | | New datatypes, constants, variables.