summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glapi: Enable ES compatibility modeIan Romanick2014-04-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Ages ago Chia-I added an ES compatibility flag to several of the various generator scripts. The intention was to bridge differences between ES and desktop in Mesa builds without ES. It doesn't appear that it has ever been used. Recent changes to static_dispatch status of several ES1 functions caused problems in desktop-only, non-shared-glapi builds. Enabling the ES compatibility mode appears to fix these build problems. This is kind of a duct tape solution to this problem. As I mentioned in the cover letter for the series that triggered the build problem, I would like to make some major changes to the generator architecture and the XML. The whole point of the proposed architecture changes is to better handle the differences between desktop GL and ES. I think duct tape is okay for now. Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76869 Tested-by: Brian Paul <[email protected]> Tested-by: Lu Hua <[email protected]> Cc: Vinson Lee <[email protected]> Cc: Chia-I Wu <[email protected]>
* glapi: Fix build break in 'make check' on non-shared-glapi buildsIan Romanick2014-04-021-4/+4
| | | | | | | | | | | | | Commit fb78fa58 made the GL_ARB_debug_output functions aliases of the GL_KHR_debug output functions. As a result, the function names in struct _glapi_table also changed. The table in check_table.cpp used the ARB names. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Tested-by: Brian Paul <[email protected]> Tested-by: Lu Hua <[email protected]> Cc: Vinson Lee <[email protected]>
* glapi: Remove support for "short string" modeIan Romanick2014-04-021-36/+7
| | | | | | | | | | | | | | | | | C89 has a fairly short minimum-maximum string length. To support compilers limited by the C89 limits, this script had a mode where it would generate a character array instead of a giant string. These were functionally the same, but the code generated for the character array is HUGE and difficult to read. As far as I can tell, nothing in Mesa uses '-m short' any more. The generated files used to be tracked in revision control, but I think we stopped using '-m short' when we stopped tracking the generated files. Signed-off-by: Ian Romanick <[email protected]> Tested-by: Brian Paul <[email protected]> Tested-by: Lu Hua <[email protected]> Cc: Vinson Lee <[email protected]>
* mesa: remove redundant running of check_symbol_table()Juha-Pekka Heikkila2014-04-021-2/+4
| | | | | | | | Nested for loops running through tables against which they finally do an assert were ran also with optimized builds. Signed-off-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* mesa: Add missing null check in _mesa_parse_arb_program()Juha-Pekka Heikkila2014-04-021-0/+5
| | | | | | | | Add missing null check in program_parse.tab.c through program_parse.y Signed-off-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* mesa: Prevent negative indexing on noise2, noise3 and noise4Juha-Pekka Heikkila2014-04-021-18/+18
| | | | | | | | % operator could return negative value which would cause indexing before perm table. Change %256 to &0xff Signed-off-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glx: add extra null check in getFBConfigsJuha-Pekka Heikkila2014-04-021-0/+4
| | | | | Signed-off-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glx: remove unused __glXClientInfo()Juha-Pekka Heikkila2014-04-021-13/+0
| | | | | Signed-off-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* i965/vec4: do not trim dead channels on gen6 for mathTapani Pälli2014-04-021-4/+9
| | | | | | | | | | | | Do not set a writemask on Gen6 for math instructions, those are executed using align1 mode that does not support a destination mask. v2: cleanups, better comment (Matt) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76883 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* winsys/svga: Replace the query mm buffer pool with a slab pool v3Thomas Hellstrom2014-04-021-5/+13
| | | | | | | | | | | | | | | This is to avoid running out of query buffer space due to winsys limitations. Instead of a fixed size per screen pool of query buffers, use a slab allocator that allocates a new slab if we run out of space in the first one. v2: Correct email addresses. v3: s/8192/VMW_QUERY_POOL_SIZE/. Improve documentation and log message. Reported-and-tested-by: Brian Paul <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Brian Paul <[email protected]> Cc: "10.1" <[email protected]>
* mesa/soft/llvmpipe: add fake MSAA supportDave Airlie2014-04-0215-2/+27
| | | | | | | | This adds a gallium cap that allows us to fake GL3.0 by not exposing MSAA on sw rendering. It also forces the extra extensions needed for GL3.2. Signed-off-by: Dave Airlie <[email protected]>
* gbm: Add gbm_bo_get_fd to gbm-symbols-check scriptKristian Høgsberg2014-04-011-0/+1
|
* gbm: Add import from fdKristian Høgsberg2014-04-013-2/+29
| | | | | | | Add a new import type that lets us create a gbm bo from a DMA-BUF file descriptor. Signed-off-by: Kristian Høgsberg <[email protected]>
* gbm: Add gbm_bo_get_fd()Kristian Høgsberg2014-04-014-0/+37
| | | | | | Add gbm function to get a DMA-BUF file descriptor for a gbm bo. Signed-off-by: Kristian Høgsberg <[email protected]>
* include/GLES3: add OpenGL ES 3.1 HeadersJordan Justen2014-04-014-4/+1274
| | | | | | | | | | From: http://www.khronos.org/registry/gles/api/GLES3/gl31.h http://www.khronos.org/registry/gles/api/GLES2/gl2ext.h http://www.khronos.org/registry/gles/api/GLES3/gl3platform.h Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* Revert "glapi/es1: Don't mark core functions as static_dispatch=false"Brian Paul2014-04-011-43/+86
| | | | | | | | This reverts commit f6e290f80cc6728647e9cee35546190f081197e2. To fix the broken build. The DRI-enabled build seems OK after reverting. Th non-DRI/gallium build is still suffering from an unrelated issue in the pipe-loader code.
* mesa: Allow setting GL_TEXTURE_MAX_LEVEL to 0 with GL_TEXTURE_RECTANGLE.Iago Toral Quiroga2014-04-011-1/+2
| | | | | | | | | | | | | | | | | Currently, we raise an error when doing this which breaks a conformance test from the OpenGL samples pack. Even if this is a bit silly it is not an error. From http://www.opengl.org/wiki/Rectangle_Texture: "Rectangle textures contain exactly one image; they cannot have mipmaps. Therefore, any texture parameters that depend on LODs are irrelevant when used with rectangle textures; attempting to set these parameters to any value other than 0 will result in an error." Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76496 Reviewed-by: Brian Paul <[email protected]>
* gallium/docs: fix silent math failures due to ~ and &Ilia Mirkin2014-04-011-60/+60
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/docs: line up some of the equationsIlia Mirkin2014-04-011-28/+16
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/docs: fix incorrect/missing referencesIlia Mirkin2014-04-016-6/+10
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/docs: fix use of _ in math sectionsIlia Mirkin2014-04-011-10/+10
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/docs: add format to indexIlia Mirkin2014-04-012-2/+3
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/docs: fix a lot of bad formattingIlia Mirkin2014-04-011-242/+262
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glsl: remove UBO fields from _mesa_glsl_parse_stateChia-I Wu2014-04-013-16/+1
| | | | | | | They are not needed since 514f8c7ec7cc1ab18be93cebb5b9bf970b1955a9. Signed-off-by: Chia-I Wu <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* nv50: implement clear_buffer to accelerate ARB_clear_buffer_objectIlia Mirkin2014-03-311-0/+115
| | | | Signed-off-by: Ilia Mirkin <[email protected]>
* mesa/st: Accelerate ARB_clear_buffer_object with clear_bufferIlia Mirkin2014-03-313-3/+38
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium: add interface to clear buffersIlia Mirkin2014-03-312-0/+16
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mapi_abi: Remove ABI-check work arounds for functions that are no longer ↵Ian Romanick2014-03-312-119/+2
| | | | | | | | | | | | exported The previous commit stopped exporting 21 libGLESv2 and 88 libGLESv1_CM functions. This removes the work-arounds for those functions from ABI-check. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Acked-by: Chad Versace <[email protected]>
* mapi_abi: Make ES1 and ES2 static_dispatch=false functions hiddenIan Romanick2014-03-311-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been a long standing issue with the ES libraries. Functions marked in the XML with 'static_dispatch=false' were still incorrectly exported. ABI-check is supposed to detect this case, but we have to paper over failures every time a new extension is added. This change will cause a big pile of functions to disappear from libGLESv2 and libGLESv1_CM. libGLESv2 loses (20 functions): glBindVertexArrayOES glCompressedTexImage3DOES glCompressedTexSubImage3DOES glCopyTexSubImage3DOES glDeleteVertexArraysOES glDiscardFramebufferEXT glDrawBuffersNV glFlushMappedBufferRangeEXT glFramebufferTexture3DOES glGenVertexArraysOES glGetBufferPointervOES glGetProgramBinaryOES glIsVertexArrayOES glMapBufferOES glMapBufferRangeEXT glProgramBinaryOES glReadBufferNV glTexImage3DOES glTexSubImage3DOES glUnmapBufferOES libGLESv1_CM loses (88 functions): glAlphaFuncxOES glBindFramebufferOES glBindRenderbufferOES glBlendEquationOES glBlendEquationSeparateOES glBlendFuncSeparateOES glCheckFramebufferStatusOES glClearColorxOES glClearDepthfOES glClearDepthxOES glClipPlanefOES glClipPlanexOES glColor4xOES glDeleteFramebuffersOES glDeleteRenderbuffersOES glDepthRangefOES glDepthRangexOES glDiscardFramebufferEXT glDrawTexfOES glDrawTexfvOES glDrawTexiOES glDrawTexivOES glDrawTexsOES glDrawTexsvOES glDrawTexxOES glDrawTexxvOES glFlushMappedBufferRangeEXT glFogxOES glFogxvOES glFramebufferRenderbufferOES glFramebufferTexture2DOES glFrustumfOES glFrustumxOES glGenerateMipmapOES glGenFramebuffersOES glGenRenderbuffersOES glGetBufferPointervOES glGetClipPlanefOES glGetClipPlanexOES glGetFixedvOES glGetFramebufferAttachmentParameterivOES glGetLightxvOES glGetMaterialxvOES glGetRenderbufferParameterivOES glGetTexEnvxvOES glGetTexGenfvOES glGetTexGenivOES glGetTexGenxvOES glGetTexParameterxvOES glIsFramebufferOES glIsRenderbufferOES glLightModelxOES glLightModelxvOES glLightxOES glLightxvOES glLineWidthxOES glLoadMatrixxOES glMapBufferOES glMapBufferRangeEXT glMaterialxOES glMaterialxvOES glMultiTexCoord4xOES glMultMatrixxOES glNormal3xOES glOrthofOES glOrthoxOES glPointParameterxOES glPointParameterxvOES glPointSizePointerOES glPointSizexOES glPolygonOffsetxOES glQueryMatrixxOES glRenderbufferStorageOES glRotatexOES glSampleCoveragexOES glScalexOES glTexEnvxOES glTexEnvxvOES glTexGenfOES glTexGenfvOES glTexGeniOES glTexGenivOES glTexGenxOES glTexGenxvOES glTexParameterxOES glTexParameterxvOES glTranslatexOES glUnmapBufferOES Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Chia-I Wu <[email protected]> Cc: Paul Berry <[email protected]>
* mapi: Hack around glGetInternalformativ not being hidden in GLESIan Romanick2014-03-311-0/+8
| | | | | | | | | | | | | | This is hella ugly. The same-named function in desktop OpenGL is hidden, but it needs to be exposed by libGLESv2 for OpenGL ES 3.0. There's no way to express in the XML that a function should be be hidden in one API but exposed in another. This won't affect any change now, but it will prevent a regression in a later patch. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* glapi/es1: Don't mark core functions as static_dispatch=falseIan Romanick2014-03-311-86/+43
| | | | | | | | | | Functions that are part of OpenGL ES 1.0 or 1.1 should have static dispatch functions in libGLESv1_CM. This doesn't affect any change yet, but it will prevent later regressions. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Acked-by: Chad Versace <[email protected]>
* glapi: Mark all GL_ARB_separate_shader_objects functions with ↵Ian Romanick2014-03-311-61/+61
| | | | | | | | | | | static_dispatch=false This prevents the entrypoints from being (incorrectly) advertised by libGL. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Acked-by: Chad Versace <[email protected]>
* glapi: Remove some duplicate ignore="true" linesIan Romanick2014-03-311-32/+0
| | | | | | | | | | It looks like these were added accidentally by Paul in commit 1a1db174. From the commit message and the look of the patch, I think this was just some sed-job left overs. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* i965/vec4: Don't trim writemasks of texture instructions.Matt Turner2014-03-311-2/+4
| | | | | | | | | It was my understanding that the writemask works in SIMD4x2 mode for texturing instructions and doesn't require a message header. Some bit of this logic must be wrong, so disable it until it's understood. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76617 Reviewed-by: Kenneth Graunke <[email protected]>
* automake: ask the linker to do garbage collectionEmil Velikov2014-03-3120-0/+38
| | | | | | | | | | | | | | By doing GC the linker removes all the symbols that are not referenced and/or used by the final library. This results in a saving of ~100K up-to ~600K per (stripped) binary (classic vs gallium drivers). If interested one can ask the compiler to print the sections that are removed using -Wl,--print-gc-sections. v2: Check if ld supports the flag before using it. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]> (v1)
* automake: add -Wl,--no-undefined to all librariesEmil Velikov2014-03-3117-18/+63
| | | | | | | | | ... apart from the dri drivers. With this final change we can build mesa without fear that the resulting libraries will have unresolved symbols. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* gallium/targets: add missing library dependenciesEmil Velikov2014-03-312-2/+10
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* pipe-loader: reorder PIPE_LIBSEmil Velikov2014-03-311-2/+2
| | | | | | | Reorder -lm, -lrt, -lpthreads and -ldl to be consistent with the rest of mesa. Signed-off-by: Emil Velikov <[email protected]>
* pipe-loader: use PTHREAD_LIBS over -lpthreadEmil Velikov2014-03-311-1/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* dri/i965: use CLOCK_LIBS over -lrtEmil Velikov2014-03-311-1/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* automake: consistently use -no-undefinedEmil Velikov2014-03-314-11/+15
| | | | | | | | | | | | | Set the flag for all but the dri targets. They have missing glapi symbols which are required for the normal operation with the X server. Jon, I fear that you'll need to carry the "no-undefined" hunk locally when building the dri drivers under cygwin. Cc: Jon TURNEY <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/egl-static: move the common LDFLAGS into AM_LDFLAGSEmil Velikov2014-03-311-6/+13
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/omx: do not link against the trace driverEmil Velikov2014-03-312-2/+0
| | | | | | | | Unused due to the missing GALLIUM_TRACE define. Requested-by: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* gallium/targets: explicitly include a dummy.cpp and remove all the LINK mayhemEmil Velikov2014-03-3114-75/+14
| | | | | | | | | | | | | | | Explicitly setting the linker variable was required for old and broken build toolchains. At this point this should no longer be needed, and setting the sources lists will trigger generation of the correct LINK variables. Explicitly include dummy.cpp to use g++ to link the static library which in most cases is based upon C++ code. v2: Reword commit message. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* gallium/targets: move LLVM_LIBS handling inside Automake.incEmil Velikov2014-03-3117-49/+7
| | | | Signed-off-by: Emil Velikov <[email protected]>
* gallium/targets: fold LLVM_LDFLAGS inside Automake.incEmil Velikov2014-03-3116-15/+9
| | | | Signed-off-by: Emil Velikov <[email protected]>
* targets/omx: use GALLIUM_OMX_LINKER_FLAGSEmil Velikov2014-03-313-14/+12
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* targets/omx: introduce GALLIUM_OMX_LIB_DEPSEmil Velikov2014-03-313-8/+8
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* targets/pipe-loader: move LLVM_LIBS handling inside PIPE_LIBSEmil Velikov2014-03-311-23/+11
| | | | | | | | This lets us have only one if HAVE_MESA_LLVM block, rather than one for each driver. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/pipe-loader: include dummy.cpp irrespective of HAVE_MESA_LLVMEmil Velikov2014-03-311-5/+4
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>