summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/config.h
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Add shader storage buffer support to struct gl_contextIago Toral Quiroga2015-07-141-0/+2
| | | | | | | | | | | This includes the array of bindings, the current buffer bound to the GL_SHADER_STORAGE_BUFFER target and a set of general limits and default values for shader storage buffers. v2: - Use spec values for the new defined constants (Jordan) Reviewed-by: Jordan Justen <[email protected]>
* mesa: remove some MAX_NV_FRAGMENT_PROGRAM_* macrosBrian Paul2015-06-091-11/+2
| | | | | | | GL_NV_fragment_program support was removed a while ago. This is just some clean-up. Reviewed-by: Matt Turner <[email protected]>
* mesa: Add support for the ARB_pipeline_statistics_query extensionBen Widawsky2015-02-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This was originally part of a single patch which added the extension, and implemented it for i965 classic. For information about the evolution of the patch, please see the subsequent commit. One difference here as compared to the original mega patch is this does build support for the compute shader query. Since it cannot be tested on any platform, it will always return NULL for now. Jordan has already written a patch to address this, and when that patch lands, this logic can be modified. v2: Fix typo in subject (Brian Paul) Add checks for desktop gl (Ilia) Fail for any callers for now (Ilia) Update QueryCounterBits for new tokens (Ilia) Jordan: Use _mesa_has_compute_shaders Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> v3: Rebased on patch which adds the proper information to unstub tessellation shaders. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Bump MAX_IMAGE_UNIFORMS to 32.Francisco Jerez2015-02-101-1/+1
| | | | | | So the i965 driver can expose 32 image uniforms per shader stage. Reviewed-by: Kenneth Graunke <[email protected]>
* main/cs: Add additional compute shader constant valuesJordan Justen2014-07-271-0/+11
| | | | | | | | With MESA_EXTENSION_OVERRIDE=GL_ARB_compute_shader, this fixes piglit: * arb_compute_shader-minmax Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Chris Forbes <[email protected]>
* mesa: Add core support for the GL_INTEL_performance_query extension.Petri Latvala2014-05-021-0/+8
| | | | | | | | | | | | | | | | | | | | | Like AMD_performance_monitor, this extension provides an interface for applications (and OpenGL-based tools) to access GPU performance counters. Since the exact performance counters available vary between vendors and hardware generations, the extension provides an API the application can use to get the names, types, and minimum/maximum values of all available counters. Applications create performance queries based on available query types, and begin/end measurement collection. Multiple queries can be measuring simultaneously. v2: Whitespace changes v3: src/mapi/glapi/gen/gl_API.xml: Also expose the functions to GLES2. v4: Whitespace changes, static_dispatch="false" for all functions, fix dispatch_sanity test for GLES2 functions Signed-off-by: Petri Latvala <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* main/get: support ARB_gpu_shader5Jordan Justen2014-02-061-0/+9
| | | | | | | | If a driver enables ARB_gpu_shader5 and sets Const.MaxVertexSteams >= 4, then piglit's arb_gpu_shader5-minmax test should now pass. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* mesa: Bump MAX_TEXTURE_IMAGE_UNITS to 32.Kenneth Graunke2014-01-221-1/+1
| | | | | | | | This allows drivers to optionally support more than 16 texture units. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chris Forbes <[email protected]>
* mesa: Add new constants related to GL_ARB_viewport_arrayIan Romanick2014-01-201-0/+3
| | | | | | | | | | | | | | | | | | | These limits will be queryable by GL_MAX_VIEWPORTS, GL_VIEWPORT_SUBPIXEL_BITS, and GL_VIEWPORT_BOUNDS_RANGE. Drivers that actually implement the extension must set values for these constants that comply with the minimum-maximums from the spec. Most of these changes were part of other patches. They were separated out because it make reordering of later patches easier. Also, MaxViewports wasn't set by that patch, and I completely overlooked it in review. It's now obvious that it's set. :) v2 (idr): Split these changes out from the original patches. Keep MaxViewportWidth and MaxViewportHeight as GLuint. Signed-off-by: Courtney Goeltzenleuchter <[email protected]> Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Add state data structures required for ARB_shader_image_load_store.Francisco Jerez2014-01-151-0/+3
| | | | | | | | v2: Increase MAX_IMAGE_UNITS to what i965 wants and add a separate MAX_IMAGE_UNIFORMS define, clarify a couple of comments. Reviewed-by: Chris Forbes <[email protected]> Reviewed-by: Paul Berry <[email protected]>
* 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)