summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* mesa, glsl_to_tgsi: add native support for integers in shadersBryan Cain2011-08-011-13/+25
| | | | | Disabled by default on all drivers. To enable it, change ctx->GLSLVersion to 130 in st_extensions.c. Currently, softpipe is the only driver with integer support.
* mesa: support boolean and integer-based parameters in prog_parameterBryan Cain2011-08-013-12/+13
| | | | | | The functionality is not used by anything yet, and the glUniform functions will need to be reworked before this can reach its full usefulness. It is nonetheless a step towards integer support in the state tracker and classic drivers.
* mesa: Switch generate_mipmaps_compressed() to using TexImage2D to upload.Eric Anholt2011-06-141-66/+38
| | | | | | | | | | | | | The code was playing fast and loose with rowstrides, which meant that if a driver chose anything different for its alignment requirements, the generated mipmaps came out garbage. Unlike the uncompressed case, we can't generate mipmaps directly into image->Data, so by using TexImage2D we cut out most of the weird logic that existed to generate in-place into ->Data. The up/downside is that the driver recovery code for the fact that _mesa_generate_mipmaps whacked ->Data has to be turned off for compressed now. Fixes 6 piglit tests about compressed mipmap gen.
* mesa: Remove uncompressed code from generate_mipmaps_compressed().Eric Anholt2011-06-141-100/+77
|
* mesa: Remove compressed code from generate_mipmaps_uncompressed().Eric Anholt2011-06-141-114/+4
|
* mesa: Split _mesa_generate_mipmap along compressed/uncompressed lines.Eric Anholt2011-06-141-26/+225
| | | | | | | | | | The path taken is wildly different based on this (do we generate from a temporary image, or from level-1's data), and we appear to have stride bugs in the compressed case that are tough to disentangle. This just duplicates the code for the moment, the followon commit will do the actual changes. Only real code change here is handling maxLevel in one common place.
* mesa: move texrender.c to swrastBrian Paul2011-06-132-672/+0
| | | | | | | This stuff is really for software rendering, it's not core Mesa. A small step toward pushing the FetchTexel() stuff down into swrast. Reviewed-by: Eric Anholt <[email protected]>
* mesa: move invariant code out of loop in get_tex_rgba()Brian Paul2011-06-131-14/+14
|
* mesa: fix gcc version check for _mesa_bitcountRoland Scheidegger2011-06-091-3/+3
| | | | The version check was bogus, and only inside a non-gcc block anyway.
* mesa: use __builtin_clz for logbase2 when availableRoland Scheidegger2011-06-092-20/+24
| | | | | Also rename to _mesa_logbase2 and move to imports.h to keep the ugly ifdef GNUC stuff outside other files (also to allow reuse).
* mesa: merge glapidispatch.h into dispatch.hChia-I Wu2011-06-083-12280/+12240
| | | | | | | | | glapidispatch.h was located in glapi and shared with mesa core. Because the way it was shared, mesa core must include it indirectly via main/dispatch.h. Now that it is no longer needed by glapi and is located in core mesa, merging it with main/dispatch.h to avoid wrong uses.
* mesa: fix function remapping for dlistChia-I Wu2011-06-081-1/+0
| | | | | | glapidispatch.h should not be included directly. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36282
* mesa: fix GLES remap table setup againChia-I Wu2011-06-081-2/+3
| | | | | | | | | Generate different glapidispatch.h's for GL and GLES. For GLES, we want a local remap table. This reverts commit 5af46e836073d2112b147b524e441bdb808cc128. The commit will break GL remap table setup when main/glapidispatch.h is regenerated.
* mesa: remove old commentBrian Paul2011-06-081-1/+0
|
* mesa: add more sampler types to is_sampler_type()Brian Paul2011-06-081-0/+4
|
* mesa: Ignore blits to/from missing buffersIan Romanick2011-06-071-8/+37
| | | | | | | | | | | | | | | | | | | | | The EXT_framebuffer_object spec (and later specs) say: "If a buffer is specified in <mask> and does not exist in both the read and draw framebuffers, the corresponding bit is silently ignored." Check for color, depth, and stencil that the source and destination FBOs have the specified buffers. If the buffer is missing, remove the bit from the blit request mask and continue. Fixes the crash in piglit test 'fbo-missing-attachment-blit from', and fixes 'fbo-missing-attachment-blit es2 from'. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37739 Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for the stable branches.
* mesa: fix typo (s/GLGL/GLSL/)Brian Paul2011-06-021-1/+1
|
* mesa: 80-column wrappingBrian Paul2011-06-021-8/+14
|
* mesa: consolidate glGetUniform codeBrian Paul2011-06-021-124/+64
|
* mesa: refactor/consolidate uniform lookup codeBrian Paul2011-06-021-96/+87
|
* mesa: add some minor fixes for geometry shadersBrian Paul2011-06-021-0/+6
|
* mesa: add implementation of glDrawElementsInstancedBaseVertexPierre-Eric Pelloux-Prayer2011-06-024-3/+9
| | | | Signed-off-by: Brian Paul <[email protected]>
* glapi: regenerated filesPierre-Eric Pelloux-Prayer2011-06-022-2723/+2742
| | | | Signed-off-by: Brian Paul <[email protected]>
* mesa: faster logbase2Benjamin Bellec2011-06-021-24/+11
| | | | | | With minor clean-ups by Brian Paul. Signed-off-by: Brian Paul <[email protected]>
* mesa: queries of non-existent FBO attachments should return INVALID_OPERATIONMarek Olšák2011-06-011-1/+26
| | | | | | | | | | | OpenGL 4.0 Compatibility, page 449: If the value of FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is NONE, no framebuffer is bound to target. In this case querying pname FRAMEBUFFER_- ATTACHMENT_OBJECT_NAME will return zero, and all other queries will generate an INVALID_OPERATION error. Reviewed-by: Chad Versace <[email protected]>
* mesa: UseShaderProgramEXT and Uniform* shouldn't be allowed inside Begin/EndMarek Olšák2011-06-012-0/+6
| | | | | | I couldn't find this being required by the spec. Reviewed-by: Brian Paul <[email protected]>
* mesa: forbid UseProgram to be called inside Begin/EndMarek Olšák2011-05-301-0/+2
| | | | | | | | | The spec doesn't state it should be an error, but. We have this piglit test useprogram-inside-begin that passes with this commit. No idea what's correct. NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
* mesa: s/height/depth/ in texsubimage()Brian Paul2011-05-261-1/+1
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=37648
* mesa: plug _mesa_GetObjectParameterivAPPLE into display list dispatch tableBrian Paul2011-05-261-0/+1
|
* mesa: plug in GL_ARB_vertex_array_object display list functionsBrian Paul2011-05-261-0/+4
|
* mesa: more geometry shader display list functionsBrian Paul2011-05-261-0/+53
|
* mesa: more transform feedback display list functionsBrian Paul2011-05-261-12/+98
|
* mesa: make query object API functions staticBrian Paul2011-05-262-24/+6
| | | | Only directly referenced by the _mesa_init_queryobj_dispatch() function.
* mesa: simplify query object display list dispatch setupBrian Paul2011-05-261-6/+2
|
* mesa: Flush vertices before updating drawbuffer computed state.Eric Anholt2011-05-261-7/+7
| | | | | | | Otherwise, the driver is likely to draw the flushed vertices to the new drawbuffer instead of the old one, missing the point of the flush. Reviewed-by: Brian Paul <[email protected]>
* mesa: Allow NULL read/draw in complete FBOs in ARB_ES2_compatibility.Eric Anholt2011-05-261-1/+1
| | | | | | | | | | | | | | From the ARB_ES2_compatibility spec: "(8) How should we handle draw buffer completeness? RESOLVED: Remove draw/readbuffer completeness checks, and treat drawbuffers referring to missing attachments as if they were NONE." Fixes arb_es2_compatibility-drawbuffers when the short-circuit for ARB_ES2_compatibility in the previous commit is dropped. Reviewed-by: Brian Paul <[email protected]>
* mesa: Trigger FBO validation on DrawBuffers change in non-ES2 mode.Eric Anholt2011-05-261-10/+26
| | | | | | | | | glDrawBuffers pointing at an unattached buffer is supposed to be incomplete without ARB_ES2_compatibility. The testcase to catch the bug of not implementing that bit of the spec was tricked by this missing piece of state update. Reviewed-by: Brian Paul <[email protected]>
* mesa: minor whitespace fixesBrian Paul2011-05-251-4/+4
|
* mesa: plug in sync object display list functionsBrian Paul2011-05-251-0/+50
| | | | | Most just dispatch through to the immediate mode functions, except for glWaitSync(), per the extension spec.
* mesa: display list support for glProgramParameteriARB()Brian Paul2011-05-251-0/+30
|
* mesa: plug shader object functions into display list dispatchBrian Paul2011-05-251-0/+2
|
* mesa: plug in GL 3.0 ClearBuffer() display list functionsBrian Paul2011-05-251-5/+1
|
* mesa: fill in missing sampler object display list functionsBrian Paul2011-05-251-0/+163
|
* mesa: Add MESA_FORMAT_X8_Z24 to _mesa_choose_tex_formatChad Versace2011-05-251-0/+2
| | | | | | | | | | | Prefer MESA_FORMAT_X8_Z24 over MESA_FORMAT_S8_Z24 for textures with internal format GL_DEPTH_COMPONENT*. i965 needs MESA_FORMAT_X8_Z24 for HiZ and separate stencil. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: fix glGetTexImage for cases when srgb decode is skippedMike Kaplinskiy2011-05-241-101/+19
| | | | | | See http://bugs.freedesktop.org/show_bug.cgi?id=37150 Signed-off-by: Brian Paul <[email protected]>
* mesa: Fix remap_table setup.Thierry Reding2011-05-231-4/+0
| | | | | | | | | | | Since the SET_xxx and GET_xxx macros used to initialize the remap_table have been replaced by inline functions, the missing late macro expansion leads to driDispatchRemapTable not being redefined to remap_table, which in turn causes the remap_table not to be setup properly. This commit fixes the issue by moving the table redefinition after the definition of driDispatchRemapTable but in front of the inline function definitions.
* mesa: Fix return type of _mesa_get_format_bytes() (#37351)Adam Jackson2011-05-232-2/+4
| | | | | | | | | | | | | | | | | | | | | | | Despite that negative values aren't sensible here, making this unsigned is dangerous. Consider get_pointer_generic, which computes a value of the form: void *base + (int x * int stride + int y) * unsigned bpp The usual arithmetic conversions will coerce the (x*stride + y) subexpression to unsigned. Since stride can be negative, this is disastrous. Fixes at least the following piglit tests on Ironlake: fbo/fbo-blit-d24s8 spec/ARB_depth_texture/fbo-clear-formats spec/EXT_packed_depth_stencil/fbo-clear-formats NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Chad Versace <[email protected]> Signed-off-by: Adam Jackson <[email protected]>
* mesa: Emit definition of GLAPIENTRYP in es_generator.py.Thierry Reding2011-05-201-0/+4
| | | | | | GLES uses GL_APIENTRYP instead of GLAPIENTRYP, which breaks with the latest API table generation code. This fixes the issue by emitting a definition for GL_APIENTRYP when generating the GLES files.
* glapi: More type-checking in Get_xxx too.José Fonseca2011-05-201-2784/+7424
|
* mesa: fix vertex array enable checking in check_valid_to_render()Brian Paul2011-05-191-6/+28
| | | | | | | | | | In particular, this fixes the case where a vertex shader only uses generic vertex attributes (non-0th). Before, we were no-op'ing the glDrawArrays/Elements(). This fixes the new piglit pos-array test. NOTE: This is a candidate for the 7.10 branch.