summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* i965/fs: Don't use brw->fragment_program in calculate_urb_setup().Kenneth Graunke2012-08-311-1/+1
| | | | | | | | | | | | | | | | | | Reading brw->fragment_program is nonsensical in compiler code: it contains the currently active program (if any), not the one currently being compiled. Attempting to access it may either lead to crashes (null pointer dereference if no program is active) or wrong results. Fixes piglit regressions since 9ef710575b914ddfc8e9a162d98ad554c1c217f7 on pre-Sandybridge hardware. The actual bug was created in commit 7b1fbc688999fd568e65211d79d7678562061594. NOTE: This is a candidate for the 9.0 and 8.0 branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54183 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Paul Berry <stereotype441@gmail.com>
* mesa: don't wait in _mesa_ClientWaitSync if timeout is 0Vadim Girlin2012-09-011-2/+6
| | | | | | | | | | | | | | From ARB_sync spec: If the value of <timeout> is zero, then ClientWaitSync does not block, but simply tests the current state of <sync>. TIMEOUT_EXPIRED will be returned in this case if <sync> is not signaled, even though no actual wait was performed. Fixes random fails of the arb_sync-timeout-zero piglit test on r600g. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* dri: Rework planar image interfaceJakob Bornecrantz2012-08-312-8/+153
| | | | | | | | | | | | | | | | | | | | | | As discussed with Kristian on #wayland. Pushes the decision of components into the dri driver giving it greater freedom to allow t to implement YUV samplers in hardware, and which mode to use. This interface will also allow drivers like SVGA to implement YUV surfaces without the need to sub-allocate and instead send 3 seperate buffers for each channel, currently not implemented. I have tested these changes on Gallium Svga. Scott tested them on both intel and Gallium Radeon. Kristan and Pekka tested them on intel. v2: Fix typo in dri2_from_planar. v3: Merge in intel changes. Tested-by: Scott Moreau <oreaus@gmail.com> Tested-by: Pekka Paalanen <ppaalanen@gmail.com> Tested-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
* xmlconfig: use __progname when building for AndroidTapani Pälli2012-08-311-1/+1
| | | | | | | __progname symbol and strrchr are available with bionic. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
* st/mesa: s/CALLOC/calloc/ to fix allocation bugBrian Paul2012-08-311-1/+1
| | | | | | | | | The CALLOC() macro only takes one argument so this was being treated as a comma expression. Simply use calloc() instead. A follow-on patch will replace all CALLOC() calls with calloc(). NOTE: This is a candidate for the 8.0 and 9.0 branches.
* mesa: fix-up and use _mesa_delete_renderbuffer()Brian Paul2012-08-317-7/+11
| | | | | | | | _mesa_delete_renderbuffer() should free the mutex (though that may be a no-op) and then free the renderbuffer object itself. Subclasses of gl_renderbuffer can use this function too. Reviewed-by: José Fonseca <jfonseca@vmware.com>
* mesa: Bump version to 9.0Ian Romanick2012-08-301-3/+3
| | | | | | | | Now that OpenGL 3.1 is supported by at least one driver, follow tradition and bump the major version number. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
* i965/msaa: flag _NEW_MULTISAMPLE in the brw_tracked_stateAnuj Phogat2012-08-302-2/+3
| | | | | | | This is required to get the program recompiled when SampleAlphaToCoverage is enabled. Reviewed-by: Paul Berry <stereotype441@gmail.com>
* meta: remove call to _meta_in_progress(), fix multisample enable/disableBrian Paul2012-08-302-8/+32
| | | | | | | | | | | | | | | | | | | This partially reverts d638da23d2ec2e9c52655b1ea138249e7f8bcccb. With gallium the meta code is not always built so the call to _meta_in_progress() was unresolved. Simply special-case the GL_MULTISAMPLE case in the meta code. There might be other special cases in the future given all the differences between legacy GL, core GL, GLES, etc. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=54234 and https://bugs.freedesktop.org/show_bug.cgi?id=54239 v2 (Paul Berry <stereotype441@gmail.com>): keep _meta_in_progress function, since it's needed by the i965 driver, but don't call it from core mesa. Signed-off-by: Brian Paul <brianp@vmware.com>
* meta: add parenthesis to silence compiler warningsBrian Paul2012-08-301-2/+2
| | | | Reviewed-by: Paul Berry <stereotype441@gmail.com>
* scons : add HAVE_DLOPEN to build environmentTapani Pälli2012-08-301-0/+1
| | | | | | | | | fixes dlopen issue caused by 57c57df7b4579b60a84062df2e64f84dd84558b5 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54140 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
* i965/fs: Remove a dead member from live variables analysis.Eric Anholt2012-08-292-6/+0
| | | | Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* i965/fs: Initialize output_components[] by filling it with zeros.Kenneth Graunke2012-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Prior to commit 2f1869822, emit_fb_writes() looped from 0 to 3, writing all four components of a vec4 color output. However, that broke for smaller output types (float, vec2, or vec3). To fix that, I introduced a new variable (output_components[]) containing the size of the output type for each render target. Unfortunately, I forgot to actually initialize it in the constructor, which meant that unless a shader wrote to gl_FragColor, or the specific output for each render target, output_components would contain a garbage value, and we'd loop for a completely non-deterministic amount of time. Not actually emitting any color writes seems like the right approach. We may still need to emit a render target write (to terminate the thread), but don't have to put in any sensible values (the shader didn't write anything, after all). Fixes a regression since 2f18698220d8b27991fab550c4721590d17278e0. NOTE: This is a candidate for stable release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54193 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paul Berry <stereotype441@gmail.com> Tested-by: Ian Romanick <idr@freedesktop.org>
* mesa: Do something sensible when on-line compression is requested but not ↵Ian Romanick2012-08-291-0/+31
| | | | | | | | | | | | | | | | | | | | | possible It is possible to force S3TC extensions to be enabled. This is generally done to support applications that will only supply pre-compressed textures. This accounts for the vast majority of applications. However, there is still the possibility of an application asking for on-line compression. In that case, generate a warning and substitute a generic compressed format. The driver will either pick an uncompressed format or a compressed format that Mesa can handle on-line (e.g., FXT1). This should only cause problems for applications that request on-line compression and read the compressed texture back. This is likely an infinitesimal subset of an already infinitesimal subset. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* i965: Allow creation of OpenGL 3.1 contextsIan Romanick2012-08-291-0/+19
| | | | | | | | v2: Fix API_OPENGL_CORE handling when TEXTURE_FLOAT_ENABLED is not defined. Based on review feedback from Eric Anholt. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* i965: Advertise GLSL 1.40 and TexBOs in core contextsIan Romanick2012-08-291-1/+9
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* intel: Clean up bits of cruft in intelCreateContextIan Romanick2012-08-291-40/+11
| | | | | | This and the previous three commits should probably be squashed together... Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* i965: Set context flagsIan Romanick2012-08-293-2/+12
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/dri: Allow creation of forward-compatible contextsIan Romanick2012-08-291-5/+5
| | | | | | This is done by changing the API to API_OPENGL_CORE. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Enable GL_OES_vertex_array_objectIan Romanick2012-08-293-13/+10
| | | | | | | Functionally the same as GL_ARB_vertex_array_object. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* mesa: Enable GL_{ARB,APPLE}_vertex_array_object in all driversIan Romanick2012-08-297-17/+3
| | | | | | | | This is a purely software extension. The drivers don't need to do any work to support it. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* meta: Don't use deprecated keyword in 1.30 shaderIan Romanick2012-08-291-1/+1
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Disallow alpha, luminance, and LA textures in core contextIan Romanick2012-08-291-4/+6
| | | | | | Also disallow the 1, 2, 3, and 4 formats. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Disallow more deprecated functions in core contextIan Romanick2012-08-292-3/+2
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Require names from Gen in core contextIan Romanick2012-08-292-0/+9
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Allow NULL vertex pointer without a VBOIan Romanick2012-08-291-4/+13
| | | | | | | There is text in the OpenGL 3.x specs to explicitly allow this case. Weird. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Disallow VertexAttribPointer without a VAO in a core contextIan Romanick2012-08-291-0/+17
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Disallow wide lines in forward compatible contextIan Romanick2012-08-291-0/+17
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Only FRONT_AND_BACK is allowed for PolygonMode in core contextIan Romanick2012-08-292-2/+16
| | | | | | | | | | | | | Page 407 (page 423 of the PDF) of the OpenGL 3.0 spec says (in the list of deprecated functionality): "Separate polygon draw mode - PolygonMode face values of FRONT and BACK; polygons are always drawn in the same mode, no matter which face is being rasterized." Also modify meta to not use FRONT or BACK in a core context. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* meta: Don't stray outside the confines of the API specified in the contextPaul Berry2012-08-292-43/+65
| | | | | Signed-off-by: Paul Berry <stereotype441@gmail.com> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Don't allow display lists or evaluators in core contextIan Romanick2012-08-292-3/+7
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Don't allow GL_EXTENSIONS query in core contextIan Romanick2012-08-291-0/+4
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Non-sprite points are deprecatedIan Romanick2012-08-291-1/+13
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Fix VAO deletion on GL 3.1 core.Eric Anholt2012-08-291-1/+1
| | | | | | We were calling through a dispatch table entry that was NULL, since the apple variant is only on legacy desktop. Just call the function we mean instead of indirecting through the dispatch.
* mesa: Enable a bunch of missing getters on 3.1 core.Eric Anholt2012-08-291-1/+1
| | | | NOTE: maybe I enabled too many?
* mesa: Expose texture buffer objects when the context is GL 3.1 core.Eric Anholt2012-08-292-10/+18
| | | | | | | | | | | v2: Use API_OPENGL_CORE. v3: Only require desktop GL. If a driver can't support TexBOs in a non-core context, it should not enable them. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* mesa: Allow PACK / UNPACK queries for ES2Ian Romanick2012-08-291-9/+9
| | | | | | These are part of the GL_EXT_unpack_subimage extension and ES 3.0. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Kill ES2 wrapper functionsIan Romanick2012-08-299-166/+226
| | | | | | | | | v2: Fix completely broken condition around ClearColorIiEXT and ClearColorIuiEXT. v3: Add special VertexAttrib handling for ES2. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: glGetVertexAttribPointerv is part of core profile and ES2Ian Romanick2012-08-291-1/+1
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glPointParameter pname in Mesa code rather than the ES wrapperIan Romanick2012-08-293-25/+1
| | | | | | | v2: Add proper core-profile filtering. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* mesa: Require OpenGL 2.0 for GL_POINT_SPRITE_COORD_ORIGINIan Romanick2012-08-291-5/+4
| | | | | | | The comment in the code even says this is the right thing to do. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* mesa: Require that drivers supporting point sprites support point parametersIan Romanick2012-08-291-60/+46
| | | | | | | | All drivers in Mesa do. This allows a lot of extension checking code to be gutted from the function. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* mesa/es: Validate glGetTexEnv parameters in Mesa code rather than the ES wrapperIan Romanick2012-08-292-87/+5
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glTexEnv parameters in Mesa code rather than the ES wrapperIan Romanick2012-08-293-329/+43
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glGetTexGen parameters in Mesa code rather than the ES wrapperIan Romanick2012-08-294-62/+22
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glTexGen parameters in Mesa code rather than the ES wrapperIan Romanick2012-08-293-128/+39
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glLightModel pname in Mesa code rather than the ES wrapperIan Romanick2012-08-293-35/+11
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glMaterial face and pname in Mesa code rather than the ES ↵Ian Romanick2012-08-293-34/+11
| | | | | | wrapper Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glGetMaterial pname in Mesa code rather than the ES wrapperIan Romanick2012-08-293-21/+6
| | | | | | | | Fixes a bug that glGetMaterial[fx]v in ES1 contexts would (try to) allow queries of GL_AMBIENT_AND_DIFFUSE. This enum can only be used in glMaterial, not in the get. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa/es: Validate glGetPointerv pname in Mesa code rather than the ES wrapperIan Romanick2012-08-292-12/+33
| | | | | | v2: Add proper core-profile, GLES1, and GLES3 filtering. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>