summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/config.h
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Add support for ARB_shader_atomic_counters.Francisco Jerez2013-10-291-0/+5
| | | | | | | | | | | | | | | This patch implements the common support code required for the ARB_shader_atomic_counters extension. It defines the necessary data structures for tracking atomic counter buffer objects (from now on "ABOs") associated with some specific context or shader program, it implements support for binding buffers to an ABO binding point and querying the existing atomic counters and buffers declared by GLSL shaders. v2: Fix extension checks. Drop unused MAX_ATOMIC_BUFFERS constant. Acked-by: Paul Berry <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add some constants and state variables for KHR_debug functionsTimothy Arceri2013-09-041-1/+6
| | | | | | Signed-off-by: Timothy Arceri <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: remove outdated version lines in commentsRico Schüller2013-06-051-1/+0
| | | | Signed-off-by: Brian Paul <[email protected]>
* mesa: change MAX_PROGRAM_ADDRESS_REGS to 1, clamp to it in state trackerBrian Paul2013-06-041-1/+1
| | | | | | | | | | | | | We've never properly supported more than one address register. There isn't even a field in prog_src_register or prog_dst_register to indicate which address register to use if RelAddr!=0. In the state tracker, clamp MaxAddressRegs against MAX_PROGRAM_ADDRESS_REGS since many gallium drivers do support more. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65226 Reviewed-by: Jose Fonseca <[email protected]>
* mesa: declare UniformBufferBindings as an array with a static sizeMarek Olšák2013-05-281-0/+3
| | | | | | | | Some Gallium drivers were crashing, because the array was not large enough. v2: clamp the per-shader maximum in st/mesa, then sum them all up NOTE: This is a candidate for the stable branches.
* mesa: remove unused gl_constants::MaxColorTableSizeMarek Olšák2013-05-111-3/+0
| | | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: unify MaxVertexVaryingComponents and MaxGeometryVaryingComponentsMarek Olšák2013-05-111-2/+0
| | | | | | | | | The limits should not be different and OpenGL requires both to be at least 32, which is also the maximum limit on radeon. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: consolidate definitions of max texture image unitsMarek Olšák2013-05-111-4/+2
| | | | | | | Shaders are unified on most hardware (= same limits in all stages). Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Restore 78-column wrapping of license text in C-style comments.Kenneth Graunke2013-04-231-3/+4
| | | | | | | | | | | | | | The previous commit introduced extra words, breaking the formatting. This text transformation was done automatically via the following shell command: $ git grep 'THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY' | sed 's/:.*$//' | xargs -I {} sh -c 'vim -e -s {} < vimscript where 'vimscript' is a file containing: /THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY/;/\*\// !fmt -w 78 -p ' * ' :wq Reviewed-by: Brian Paul <[email protected]>
* mesa: Add "OR COPYRIGHT HOLDERS" to license text disclaiming liability.Kenneth Graunke2013-04-231-1/+1
| | | | | | | | | | | | | | | This brings the license text in line with the MIT License as published on the Open Source Initiative website: http://opensource.org/licenses/mit-license.php Generated automatically be the following shell command: $ git grep 'THE AUTHORS BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \ sed -i 's/THE AUTHORS/THE AUTHORS OR COPYRIGHT HOLDERS/' {} This introduces some wrapping issues, to be fixed in the next commit. Reviewed-by: Brian Paul <[email protected]>
* mesa: Change "BRIAN PAUL" to "THE AUTHORS" in license text.Kenneth Graunke2013-04-231-1/+1
| | | | | | | | | | | | | | | | Generated automatically be the following shell command: $ git grep 'BRIAN PAUL BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \ sed -i 's/BRIAN PAUL/THE AUTHORS/' {} The intention here is to protect all authors, not just Brian Paul. I believe that was already the sensible interpretation, but spelling it out is probably better. More practically, it also prevents people from accidentally copy & pasting the license into a new file which says Brian is not liable when he isn't even one of the authors. Reviewed-by: Brian Paul <[email protected]>
* mesa: bump MAX_VARYING to 32Marek Olšák2012-10-291-1/+1
| | | | | | | | | | | | | | | | | We're starting to get apps utilizing more than 16 varyings and most current hardware supports 32 anyway. Tested with r600g. swrast, softpipe and llvmpipe still advertise 16 varyings. This fixes a WebGL crash after launching this demo: https://developer.mozilla.org/en-US/demos/detail/falling-cubes Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54402 NOTE: This is a candidate for the stable branches. Acked-by: Kenneth Graunke <[email protected]>
* mesa: Remove defines for NV_vertex_program limits.Eric Anholt2012-10-151-9/+0
| | | | | | | | Note that _mesa_GetVertexAttribPointervNV() is actually glGetVertexAttribPointerv(), which operates on the generic attributes. The geometry shader initialization looks like arbitrary cruft to me. Reviewed-by: Brian Paul <[email protected]>
* mesa: rename MaxTransformFeedbackSeparateAttribs to MaxTransformFeedbackBuffersMarek Olšák2012-06-281-0/+1
| | | | | | | | | | | | This is a cleanup for ARB_transform_feedback3, where GL_MAX_TRANSFORM_FEEDBACK_BUFFERS is introduced for interleaved attribs and has the same meaning as GL_MAX_.._SEPARATE_ATTRIBS for separate attribs. Also, the maximum number of TFB buffers is reduced from 32 to 4, which makes this patch useful even without the extension. I don't know of any hardware which can do more than 4. Reviewed-by: Brian Paul <[email protected]>
* mesa: add infrastructure for GL_ARB_debug_outputnobled2012-03-101-0/+6
| | | | Marek v2: don't add the extension to extensions.c yet
* mesa: move more swrast-related #defines out of core MesaBrian Paul2012-02-241-40/+0
|
* mesa: remove last of MAX_WIDTH, MAX_HEIGHTBrian Paul2012-02-241-9/+4
| | | | | Define new MAX_VIEWPORT_WIDTH/HEIGHT and MAX_RENDERBUFFER_SIZE values instead.
* mesa: remove some cruft from config.hBrian Paul2012-02-241-16/+1
|
* mesa: minor comment clean-ups in config.hBrian Paul2012-02-241-4/+4
|
* mesa: remove WIN32 MAX_WIDTH work-around in config.hBrian Paul2012-02-241-17/+0
| | | | | There aren't any more stack-allocated arrays dimensioned by MAX_WIDTH so there shouldn't be any more stack overflows.
* 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.