configs/debian-dri-default | 4 debian/changelog | 24 + debian/copyright | 299 +-------------- debian/rules | 2 docs/relnotes-7.0.4.html | 3 src/mesa/drivers/common/driverfuncs.c | 1 src/mesa/drivers/dri/common/texmem.c | 1 src/mesa/drivers/dri/i915/i915_texstate.c | 12 src/mesa/drivers/dri/i965/brw_aub_playback.c | 4 src/mesa/drivers/dri/i965/brw_clip_line.c | 9 src/mesa/drivers/dri/i965/brw_clip_state.c | 4 src/mesa/drivers/dri/i965/brw_clip_tri.c | 108 +++++ src/mesa/drivers/dri/i965/brw_clip_util.c | 14 src/mesa/drivers/dri/i965/brw_defines.h | 13 src/mesa/drivers/dri/i965/brw_eu_emit.c | 16 src/mesa/drivers/dri/i965/brw_misc_state.c | 4 src/mesa/drivers/dri/i965/brw_structs.h | 2 src/mesa/drivers/dri/i965/brw_vs_emit.c | 2 src/mesa/drivers/dri/i965/intel_context.c | 4 src/mesa/drivers/dri/i965/intel_context.h | 2 src/mesa/drivers/dri/r200/r200_pixel.c | 2 src/mesa/glapi/glapi.c | 4 src/mesa/main/dd.h | 2 src/mesa/main/execmem.c | 7 src/mesa/main/shaders.c | 6 src/mesa/shader/arbprogparse.c | 9 src/mesa/shader/shader_api.c | 63 ++- src/mesa/shader/shader_api.h | 4 src/mesa/shader/slang/library/slang_common_builtin.gc | 35 + src/mesa/shader/slang/library/slang_common_builtin_gc.h | 315 ++++++++-------- src/mesa/shader/slang/library/slang_core.gc | 38 + src/mesa/shader/slang/library/slang_core_gc.h | 53 +- src/mesa/shader/slang/slang_link.c | 8 src/mesa/swrast/s_bitmap.c | 2 src/mesa/swrast/s_copypix.c | 12 src/mesa/swrast/s_drawpix.c | 11 src/mesa/swrast/s_fragprog.c | 28 - src/mesa/swrast/s_span.h | 6 src/mesa/x86-64/x86-64.c | 34 + src/mesa/x86-64/xform4.S | 31 + 40 files changed, 633 insertions(+), 565 deletions(-)
New commits: commit 0206e20240e5f3f48431567a1afc955272362321 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Oct 26 15:58:46 2008 +0100 Also build the x86-specific dri drivers on kfreebsd (closes: #492894). diff --git a/configs/debian-dri-default b/configs/debian-dri-default index 2a01bf8..b42bfc3 100644 --- a/configs/debian-dri-default +++ b/configs/debian-dri-default @@ -22,7 +22,7 @@ DRI_DIRS = mach64 mga r128 r200 r300 radeon s3v savage tdfx trident ARCH_X86 = i386 amd64 -ifneq ($(findstring $(DEB_BUILD_ARCH), $(ARCH_X86)),) +ifneq ($(filter $(DEB_HOST_ARCH_CPU), $(ARCH_X86)),) DRI_DIRS += i810 i915 i965 sis unichrome endif diff --git a/debian/changelog b/debian/changelog index cf2fd6d..640eb61 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ mesa (7.0.3-7) UNRELEASED; urgency=low * Cherry-pick patch from upstream: Use 3Dnow! x86-64 routines only on processors that support 3Dnow! (closes: #484180). + * Also build the x86-specific dri drivers on kfreebsd (closes: #492894). -- Julien Cristau <[EMAIL PROTECTED]> Sun, 26 Oct 2008 15:27:10 +0100 diff --git a/debian/rules b/debian/rules index 3d00bb7..6a66df1 100755 --- a/debian/rules +++ b/debian/rules @@ -22,9 +22,11 @@ endif DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) DEB_BUILD_DIR ?= $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE) export DEB_BUILD_ARCH +export DEB_HOST_ARCH_CPU # choose which configurations to build SWX11_GLU_CONFIGS = commit 83a4719056284993a5c441c1b1d662d1c2c69de1 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Oct 26 15:34:37 2008 +0100 Update changelog diff --git a/debian/changelog b/debian/changelog index 299a63d..cf2fd6d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +mesa (7.0.3-7) UNRELEASED; urgency=low + + * Cherry-pick patch from upstream: + Use 3Dnow! x86-64 routines only on processors that support 3Dnow! + (closes: #484180). + + -- Julien Cristau <[EMAIL PROTECTED]> Sun, 26 Oct 2008 15:27:10 +0100 + mesa (7.0.3-6) unstable; urgency=high * Update debian/copyright to the SGI Free Software License B, version 2.0. commit 6cfe871c754b896a2a9993e33d5056705ae7f486 Author: Ian Romanick <[EMAIL PROTECTED]> Date: Sun Sep 28 20:31:46 2008 -0700 Use 3Dnow! x86-64 routines only on processors that support 3Dnow! Added an x86-64 CPUID function and use it to detect 3Dnow! If 3Dnow! is available, use _mesa_3dnow_transform_points4_3d_no_rot, _mesa_3dnow_transform_points4_perspective, _mesa_3dnow_transform_points4_2d_no_rot, and _mesa_3dnow_transform_points4_2d. This fixes long standing bug #8724. (cherry picked from commit 2b8d8989fb6f9c36baf166fc715182a1407ebadb) diff --git a/src/mesa/x86-64/x86-64.c b/src/mesa/x86-64/x86-64.c index 09508b6..d15c076 100644 --- a/src/mesa/x86-64/x86-64.c +++ b/src/mesa/x86-64/x86-64.c @@ -42,7 +42,10 @@ #include "math/m_debug.h" #endif +extern void _mesa_x86_64_cpuid(unsigned int *regs); + DECLARE_XFORM_GROUP( x86_64, 4 ) +DECLARE_XFORM_GROUP( 3dnow, 4 ) #else /* just to silence warning below */ @@ -82,6 +85,7 @@ static void message( const char *msg ) void _mesa_init_all_x86_64_transform_asm(void) { #ifdef USE_X86_64_ASM + unsigned int regs[4]; if ( _mesa_getenv( "MESA_NO_ASM" ) ) { return; @@ -89,24 +93,32 @@ void _mesa_init_all_x86_64_transform_asm(void) message("Initializing x86-64 optimizations\n"); - ASSIGN_XFORM_GROUP( x86_64, 4 ); - /* _mesa_transform_tab[4][MATRIX_GENERAL] = _mesa_x86_64_transform_points4_general; _mesa_transform_tab[4][MATRIX_IDENTITY] = _mesa_x86_64_transform_points4_identity; _mesa_transform_tab[4][MATRIX_3D] = _mesa_x86_64_transform_points4_3d; - _mesa_transform_tab[4][MATRIX_3D_NO_ROT] = - _mesa_x86_64_transform_points4_3d_no_rot; - _mesa_transform_tab[4][MATRIX_PERSPECTIVE] = - _mesa_x86_64_transform_points4_perspective; - _mesa_transform_tab[4][MATRIX_2D_NO_ROT] = - _mesa_x86_64_transform_points4_2d_no_rot; - _mesa_transform_tab[4][MATRIX_2D] = - _mesa_x86_64_transform_points4_2d; - */ + + regs[0] = 0x80000001; + regs[1] = 0x00000000; + regs[2] = 0x00000000; + regs[3] = 0x00000000; + _mesa_x86_64_cpuid(regs); + if (regs[3] & (1U << 31)) { + message("3Dnow! detected\n"); + _mesa_transform_tab[4][MATRIX_3D_NO_ROT] = + _mesa_3dnow_transform_points4_3d_no_rot; + _mesa_transform_tab[4][MATRIX_PERSPECTIVE] = + _mesa_3dnow_transform_points4_perspective; + _mesa_transform_tab[4][MATRIX_2D_NO_ROT] = + _mesa_3dnow_transform_points4_2d_no_rot; + _mesa_transform_tab[4][MATRIX_2D] = + _mesa_3dnow_transform_points4_2d; + + } + #ifdef DEBUG_MATH _math_test_all_transform_functions("x86_64"); diff --git a/src/mesa/x86-64/xform4.S b/src/mesa/x86-64/xform4.S index f512b3a..51aeb99 100644 --- a/src/mesa/x86-64/xform4.S +++ b/src/mesa/x86-64/xform4.S @@ -29,7 +29,22 @@ .text .align 16 +.globl _mesa_x86_64_cpuid +_mesa_x86_64_cpuid: + pushq %rbx + movl (%rdi), %eax + movl 8(%rdi), %ecx + + cpuid + + movl %ebx, 4(%rdi) + movl %eax, (%rdi) + movl %ecx, 8(%rdi) + movl %edx, 12(%rdi) + popq %rbx + ret +.align 16 .globl _mesa_x86_64_transform_points4_general _mesa_x86_64_transform_points4_general: /* @@ -204,8 +219,8 @@ p4_identity_done: .align 16 -.globl _mesa_x86_64_transform_points4_3d_no_rot -_mesa_x86_64_transform_points4_3d_no_rot: +.globl _mesa_3dnow_transform_points4_3d_no_rot +_mesa_3dnow_transform_points4_3d_no_rot: movl V4F_COUNT(%rdx), %ecx /* count */ movzx V4F_STRIDE(%rdx), %eax /* stride */ @@ -268,8 +283,8 @@ p4_3d_no_rot_done: .align 16 -.globl _mesa_x86_64_transform_points4_perspective -_mesa_x86_64_transform_points4_perspective: +.globl _mesa_3dnow_transform_points4_perspective +_mesa_3dnow_transform_points4_perspective: movl V4F_COUNT(%rdx), %ecx /* count */ movzx V4F_STRIDE(%rdx), %eax /* stride */ @@ -334,8 +349,8 @@ p4_perspective_done: ret .align 16 -.globl _mesa_x86_64_transform_points4_2d_no_rot -_mesa_x86_64_transform_points4_2d_no_rot: +.globl _mesa_3dnow_transform_points4_2d_no_rot +_mesa_3dnow_transform_points4_2d_no_rot: movl V4F_COUNT(%rdx), %ecx /* count */ movzx V4F_STRIDE(%rdx), %eax /* stride */ @@ -389,8 +404,8 @@ p4_2d_no_rot_done: .align 16 -.globl _mesa_x86_64_transform_points4_2d -_mesa_x86_64_transform_points4_2d: +.globl _mesa_3dnow_transform_points4_2d +_mesa_3dnow_transform_points4_2d: movl V4F_COUNT(%rdx), %ecx /* count */ movzx V4F_STRIDE(%rdx), %eax /* stride */ commit 07c1fcc604379f42ee337300ada421287ba82875 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sat Sep 20 16:31:30 2008 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index ee29787..299a63d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -mesa (7.0.3-6) UNRELEASED; urgency=low +mesa (7.0.3-6) unstable; urgency=high * Update debian/copyright to the SGI Free Software License B, version 2.0. It now mirrors the free X11 license used by X.Org (closes: #368560). http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html - -- Julien Cristau <[EMAIL PROTECTED]> Fri, 19 Sep 2008 18:02:55 +0200 + -- Julien Cristau <[EMAIL PROTECTED]> Sat, 20 Sep 2008 16:30:44 +0200 mesa (7.0.3-5) unstable; urgency=low commit 7959b95efa7e451e938b3a04074f034102be095c Author: Julien Cristau <[EMAIL PROTECTED]> Date: Fri Sep 19 18:03:59 2008 +0200 Update debian/copyright to the SGI Free Software License B, version 2.0. It now mirrors the free X11 license used by X.Org (closes: #368560). http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html diff --git a/debian/changelog b/debian/changelog index af22184..ee29787 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +mesa (7.0.3-6) UNRELEASED; urgency=low + + * Update debian/copyright to the SGI Free Software License B, version 2.0. + It now mirrors the free X11 license used by X.Org (closes: #368560). + http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html + + -- Julien Cristau <[EMAIL PROTECTED]> Fri, 19 Sep 2008 18:02:55 +0200 + mesa (7.0.3-5) unstable; urgency=low * Disable the i915tex driver, it doesn't build against libdrm 2.3.1. diff --git a/debian/copyright b/debian/copyright index 03ac1d5..d38eb4b 100644 --- a/debian/copyright +++ b/debian/copyright @@ -65,283 +65,32 @@ License: Some files, as listed below, are made available under the SGI Free B license. This license is as follows: - SGI FREE SOFTWARE LICENSE B (Version 1.1 [02/22/2000]) - -1. Definitions. - -1.1. "Additional Notice Provisions" means such additional provisions as - appear in the Notice in Original Code under the heading "Additional - Notice Provisions." - -1.2. "Covered Code" means the Original Code or Modifications, or any - combination thereof. - -1.3. "Hardware" means any physical device that accepts input, processes - input, stores the results of processing, and/or provides output. - -1.4. "Larger Work" means a work that combines Covered Code or portions - thereof with code not governed by the terms of this License. - -1.5. "Licensable" means having the right to grant, to the maximum extent - possible, whether at the time of the initial grant or subsequently - acquired, any and all of the rights conveyed herein. - -1.6. "License" means this document. - -1.7. "Licensed Patents" means patent claims Licensable by SGI that are - infringed by the use or sale of Original Code or any Modifications - provided by SGI, or any combination thereof. - -1.8. "Modifications" means any addition to or deletion from the - substance or structure of the Original Code or any previous - Modifications. When Covered Code is released as a series of files, - a Modification is: - - A. Any addition to the contents of a file containing Original Code - and/or addition to or deletion from the contents of a file - containing previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - -1.9. "Notice" means any notice in Original Code or Covered Code, as - required by and in compliance with this License. - -1.10. "Original Code" means source code of computer software code that - is described in the source code Notice required by Exhibit A as - Original Code, and updates and error corrections specifically - thereto. - -1.11. "Recipient" means an individual or a legal entity exercising - rights under, and complying with all of the terms of, this License - or a future version of this License issued under Section 8. For - legal entities, "Recipient" includes any entity that controls, is - controlled by, or is under common control with Recipient. For - purposes of this definition, "control" of an entity means (a) the - power, direct or indirect, to direct or manage such entity, or (b) - ownership of fifty percent (50%) or more of the outstanding shares - or beneficial ownership of such entity. - -1.12. "Recipient Patents" means patent claims Licensable by a Recipient - that are infringed by the use or sale of Original Code or any - Modifications provided by SGI, or any combination thereof. - -1.13. "SGI" means Silicon Graphics, Inc. - -1.14. "SGI Patents" means patent claims Licensable by SGI other than the - Licensed Patents. - -2. License Grant and Restrictions. - -2.1. SGI License Grant. Subject to the terms of this License and any - third party intellectual property claims, for the duration of - intellectual property protections inherent in the Original Code, - SGI hereby grants Recipient a worldwide, royalty-free, - non-exclusive license, to do the following: (i) under copyrights - Licensable by SGI, to reproduce, distribute, create derivative - works from, and, to the extent applicable, display and perform the - Original Code and/or any Modifications provided by SGI alone and/or - as part of a Larger Work; and (ii) under any Licensable Patents, to - make, have made, use, sell, offer for sale, import and/or otherwise - transfer the Original Code and/or any Modifications provided by - SGI. Recipient accepts the terms and conditions of this License by - undertaking any of the aforementioned actions. The patent license - shall apply to the Covered Code if, at the time any related - Modification is added, such addition of the Modification causes - such combination to be covered by the Licensed Patents. The patent - license in Section 2.1(ii) shall not apply to any other - combinations that include the Modification. No patent license is - provided under SGI Patents for infringements of SGI Patents by - Modifications not provided by SGI or combinations of Original Code - and Modifications not provided by SGI. - -2.2. Recipient License Grant. Subject to the terms of this License and - any third party intellectual property claims, Recipient hereby - grants SGI and any other Recipients a worldwide, royalty-free, - non-exclusive license, under any Recipient Patents, to make, have - made, use, sell, offer for sale, import and/or otherwise transfer - the Original Code and/or any Modifications provided by SGI. - -2.3. No License For Hardware Implementations. The licenses granted in - Section 2.1 and 2.2 are not applicable to implementation in - Hardware of the algorithms embodied in the Original Code or any - Modifications provided by SGI . - -3. Redistributions. - -3.1. Retention of Notice/Copy of License. The Notice set forth in - Exhibit A, below, must be conspicuously retained or included in any - and all redistributions of Covered Code. For distributions of the - Covered Code in source code form, the Notice must appear in every - file that can include a text comments field; in executable form, - the Notice and a copy of this License must appear in related - documentation or collateral where the Recipient’s rights relating - to Covered Code are described. Any Additional Notice Provisions - which actually appears in the Original Code must also be retained - or included in any and all redistributions of Covered Code. - -3.2. Alternative License. Provided that Recipient is in compliance with - the terms of this License, Recipient may, so long as without - derogation of any of SGI’s rights in and to the Original Code, - distribute the source code and/or executable version(s) of Covered - Code under (1) this License; (2) a license identical to this - License but for only such changes as are necessary in order to - clarify Recipient’s role as licensor of Modifications; and/or (3) a - license of Recipient’s choosing, containing terms different from - this License, provided that the license terms include this Section - 3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be - modified or superseded by any other terms of such license. If - Recipient elects to use any license other than this License, - Recipient must make it absolutely clear that any of its terms which - differ from this License are offered by Recipient alone, and not by - SGI. It is emphasized that this License is a limited license, and, - regardless of the license form employed by Recipient in accordance - with this Section 3.2, Recipient may relicense only such rights, in - Original Code and Modifications by SGI, as it has actually been - granted by SGI in this License. - -3.3. Indemnity. Recipient hereby agrees to indemnify SGI for any - liability incurred by SGI as a result of any such alternative - license terms Recipient offers. - -4. Termination. This License and the rights granted hereunder will - terminate automatically if Recipient breaches any term herein and - fails to cure such breach within 30 days thereof. Any sublicense to - the Covered Code that is properly granted shall survive any - termination of this License, absent termination by the terms of such - sublicense. Provisions that, by their nature, must remain in effect - beyond the termination of this License, shall survive. - -5. No Trademark Or Other Rights. This License does not grant any rights - to: (i) any software apart from the Covered Code, nor shall any - other rights or licenses not expressly granted hereunder arise by - implication, estoppel or otherwise with respect to the Covered Code; - (ii) any trade name, trademark or service mark whatsoever, including - without limitation any related right for purposes of endorsement or - promotion of products derived from the Covered Code, without prior - written permission of SGI; or (iii) any title to or ownership of the - Original Code, which shall at all times remains with SGI. All rights - in the Original Code not expressly granted under this License are - reserved. - -6. Compliance with Laws; Non-Infringement. There are various worldwide - laws, regulations, and executive orders applicable to dispositions - of Covered Code, including without limitation export, re-export, and - import control laws, regulations, and executive orders, of the U.S. - government and other countries, and Recipient is reminded it is - obliged to obey such laws, regulations, and executive orders. - Recipient may not distribute Covered Code that (i) in any way - infringes (directly or contributorily) any intellectual property - rights of any kind of any other person or entity or (ii) breaches - any representation or warranty, express, implied or statutory, to - which, under any applicable law, it might be deemed to have been - subject. - -7. Claims of Infringement. If Recipient learns of any third party claim - that any disposition of Covered Code and/or functionality wholly or - partially infringes the third party's intellectual property rights, - Recipient will promptly notify SGI of such claim. - -8. Versions of the License. SGI may publish revised and/or new versions - of the License from time to time, each with a distinguishing version - number. Once Covered Code has been published under a particular - version of the License, Recipient may, for the duration of the - license, continue to use it under the terms of that version, or - choose to use such Covered Code under the terms of any subsequent - version published by SGI. Subject to the provisions of Sections 3 - and 4 of this License, only SGI may modify the terms applicable to - Covered Code created under this License. - -9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL - EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED, - INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS - OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR - PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY - AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE - IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING, - REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL - PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED - HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER. - -10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY, - WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT - LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR - BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF - DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SGI's NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT. - -11. Indemnity. Recipient shall be solely responsible for damages - arising, directly or indirectly, out of its utilization of rights - under this License. Recipient will defend, indemnify and hold - harmless Silicon Graphics, Inc. from and against any loss, - liability, damages, costs or expenses (including the payment of - reasonable attorneys fees) arising out of Recipient's use, - modification, reproduction and distribution of the Covered Code or - out of any representation or warranty made by Recipient. - -12. U.S. Government End Users. The Covered Code is a "commercial item" - consisting of "commercial computer software" as such terms are - defined in title 48 of the Code of Federal Regulations and all U.S. - Government End Users acquire only the rights set forth in this - License and are subject to the terms of this License. - -13. Miscellaneous. This License represents the complete agreement - concerning the its subject matter. If any provision of this License - is held to be unenforceable, such provision shall be reformed so as - to achieve as nearly as possible the same legal and economic effect - as the original provision and the remainder of this License will - remain in effect. This License shall be governed by and construed - in accordance with the laws of the United States and the State of - California as applied to agreements entered into and to be - performed entirely within California between California residents. - Any litigation relating to this License shall be subject to the - exclusive jurisdiction of the Federal Courts of the Northern - District of California (or, absent subject matter jurisdiction in - such courts, the courts of the State of California), with venue - lying exclusively in Santa Clara County, California, with the - losing party responsible for costs, including without limitation, - court costs and reasonable attorneys fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation that provides that the language of a contract shall be - construed against the drafter shall not apply to this License. - -Exhibit A - -License Applicability. Except to the extent portions of this file are -made subject to an alternative license as permitted in the SGI Free -Software License B, Version 1.1 (the "License"), the contents of this -file are subject only to the provisions of the License. You may not use -this file except in compliance with the License. You may obtain a copy -of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 -Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: - -http://oss.sgi.com/projects/FreeB - -Note that, as provided in the License, the Software is distributed on an -"AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS -DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND -CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A -PARTICULAR PURPOSE, AND NON-INFRINGEMENT. - -Original Code. The Original Code is: [name of software, version number, -and release date], developed by Silicon Graphics, Inc. The Original Code -is Copyright (c) [dates of first publication, as appearing in the Notice -in the Original Code] Silicon Graphics, Inc. Copyright in any portions -created by third parties is as indicated elsewhere herein. All Rights +SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + +Copyright (C) [dates of first publication] Silicon Graphics, Inc. All Rights Reserved. -Additional Notice Provisions: [such additional provisions, if any, as -appear in the Notice in the Original Code under the heading "Additional -Notice Provisions"] +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice including the dates of first publication and either +this permission notice or a reference to http://oss.sgi.com/projects/FreeB/ +shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL SILICON GRAPHICS, INC. BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +Except as contained in this notice, the name of Silicon Graphics, Inc. shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Silicon +Graphics, Inc. -------------------------------------------------------------------------- commit e325b764447ffd05e6a052f0aeb33d7dba62e357 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sat Jul 12 18:56:22 2008 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 7c8d4de..af22184 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -mesa (7.0.3-5) UNRELEASED; urgency=low +mesa (7.0.3-5) unstable; urgency=low * Disable the i915tex driver, it doesn't build against libdrm 2.3.1. * Pull from mesa_7_0_branch (27425708). - -- Julien Cristau <[EMAIL PROTECTED]> Tue, 08 Jul 2008 18:16:24 +0200 + -- Julien Cristau <[EMAIL PROTECTED]> Sat, 12 Jul 2008 18:56:19 +0200 mesa (7.0.3-4) unstable; urgency=low commit 34eedc6a9839e6dd551659a7990f5e28161df1e1 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sat Jul 12 18:55:55 2008 +0200 update changelog diff --git a/debian/changelog b/debian/changelog index 20ff8d3..7c8d4de 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ mesa (7.0.3-5) UNRELEASED; urgency=low * Disable the i915tex driver, it doesn't build against libdrm 2.3.1. + * Pull from mesa_7_0_branch (27425708). -- Julien Cristau <[EMAIL PROTECTED]> Tue, 08 Jul 2008 18:16:24 +0200 commit 27425708f51b0534a4f77f3779f401c8f05903ed Author: Brian Paul <[EMAIL PROTECTED]> Date: Wed Jul 9 15:06:49 2008 -0600 mesa: return -1, not GL_FALSE if _glapi_add_dispatch() fails name sanity check diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c index 47c5782..0aca9f4 100644 --- a/src/mesa/glapi/glapi.c +++ b/src/mesa/glapi/glapi.c @@ -724,7 +724,7 @@ add_function_name( const char * funcName ) * \returns * The offset in the dispatch table of the named function. A pointer to the * driver's implementation of the named function should be stored at - * \c dispatch_table[\c offset]. + * \c dispatch_table[\c offset]. Return -1 if error/problem. * * \sa glXGetProcAddress * @@ -773,7 +773,7 @@ _glapi_add_dispatch( const char * const * function_names, */ if (!function_names[i] || function_names[i][0] != 'g' || function_names[i][1] != 'l') - return GL_FALSE; + return -1; /* Determine if the named function already exists. If the function does * exist, it must have the same parameter signature as the function commit fc07b6cda0b421850471338330d2d11f44f0f12d Author: Brian Paul <[EMAIL PROTECTED]> Date: Wed Jul 9 08:58:47 2008 -0600 ARB program, GLSL fixes diff --git a/docs/relnotes-7.0.4.html b/docs/relnotes-7.0.4.html index df156aa..a2fc54d 100644 --- a/docs/relnotes-7.0.4.html +++ b/docs/relnotes-7.0.4.html @@ -30,6 +30,8 @@ Mesa 7.0.4 is a stable release with bug fixes since version 7.0.3. <li>Fixed GLSL linker bug causing generic vertex attributes to get aliased <li>Fixed stack overflow when using glPixelZoom on Windows <li>Fixed broken all(bvec2) GLSL function, added misc missing bvec constructors +<li>ARB program "state.clip[n].plane" didn't parse correctly +<li>Fixed broken glGetUniformiv() (bug 13774) </ul> <h2>Changes</h2> commit 562ed27eb50396c5a81202c64d3326577ce2d019 Author: Brian Paul <[EMAIL PROTECTED]> Date: Wed Jul 9 08:52:44 2008 -0600 mesa: remove debug code diff --git a/src/mesa/main/shaders.c b/src/mesa/main/shaders.c index c18eb8a..6ed7f5d 100644 --- a/src/mesa/main/shaders.c +++ b/src/mesa/main/shaders.c @@ -128,7 +128,6 @@ _mesa_DeleteObjectARB(GLhandleARB obj) void GLAPIENTRY _mesa_DeleteProgram(GLuint name) { - printf("%s name=%u\n", __FUNCTION__, name); if (name) { GET_CURRENT_CONTEXT(ctx); ctx->Driver.DeleteProgram2(ctx, name); commit 0a0e09078d58b6535349e14dd9e7765b6c6b03fe Author: Brian Paul <[EMAIL PROTECTED]> Date: Wed Jul 9 08:51:35 2008 -0600 mesa: implement glGetUniformiv() with new ctx->Driver function The old implementation could overwrite the caller's param buffer. cherry-picked from master diff --git a/src/mesa/drivers/common/driverfuncs.c b/src/mesa/drivers/common/driverfuncs.c index e9b364e..bafc3a0 100644 --- a/src/mesa/drivers/common/driverfuncs.c +++ b/src/mesa/drivers/common/driverfuncs.c @@ -284,6 +284,7 @@ _mesa_init_glsl_driver_functions(struct dd_function_table *driver) driver->GetShaderInfoLog = _mesa_get_shader_info_log; driver->GetShaderSource = _mesa_get_shader_source; driver->GetUniformfv = _mesa_get_uniformfv; + driver->GetUniformiv = _mesa_get_uniformiv; driver->GetUniformLocation = _mesa_get_uniform_location; driver->IsProgram = _mesa_is_program; driver->IsShader = _mesa_is_shader; diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index bb47cd4..d609db1 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -862,6 +862,8 @@ struct dd_function_table { GLsizei *length, GLcharARB *sourceOut); void (*GetUniformfv)(GLcontext *ctx, GLuint program, GLint location, GLfloat *params); + void (*GetUniformiv)(GLcontext *ctx, GLuint program, GLint location, + GLint *params); GLint (*GetUniformLocation)(GLcontext *ctx, GLuint program, const GLcharARB *name); GLboolean (*IsProgram)(GLcontext *ctx, GLuint name); diff --git a/src/mesa/main/shaders.c b/src/mesa/main/shaders.c index 7bf8808..c18eb8a 100644 --- a/src/mesa/main/shaders.c +++ b/src/mesa/main/shaders.c @@ -128,6 +128,7 @@ _mesa_DeleteObjectARB(GLhandleARB obj) void GLAPIENTRY _mesa_DeleteProgram(GLuint name) { + printf("%s name=%u\n", __FUNCTION__, name); if (name) { GET_CURRENT_CONTEXT(ctx); ctx->Driver.DeleteProgram2(ctx, name); @@ -309,11 +310,7 @@ void GLAPIENTRY _mesa_GetUniformivARB(GLhandleARB program, GLint location, GLint * params) { GET_CURRENT_CONTEXT(ctx); - GLfloat fparams[16]; /* XXX is 16 enough? */ - GLuint i; - ctx->Driver.GetUniformfv(ctx, program, location, fparams); - for (i = 0; i < 16; i++) - params[i] = (GLint) fparams[i]; /* XXX correct? */ + ctx->Driver.GetUniformiv(ctx, program, location, params); } diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c index a330629..409468a 100644 --- a/src/mesa/shader/shader_api.c +++ b/src/mesa/shader/shader_api.c @@ -963,12 +963,15 @@ _mesa_get_shader_source(GLcontext *ctx, GLuint shader, GLsizei maxLength, } +#define MAX_UNIFORM_ELEMENTS 16 + /** - * Called via ctx->Driver.GetUniformfv(). + * Helper for GetUniformfv(), GetUniformiv() + * Returns number of elements written to 'params' output. */ -void -_mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location, - GLfloat *params) +static GLuint +get_uniformfv(GLcontext *ctx, GLuint program, GLint location, + GLfloat *params) { struct gl_shader_program *shProg = _mesa_lookup_shader_program(ctx, program); @@ -1004,11 +1007,14 @@ _mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location, for (c = 0, i = 0; c * 4 < uSize; c++) for (r = 0; r < rows; r++, i++) params[i] = shProg->Uniforms->ParameterValues[location + c][r]; + return i; } - else + else { for (i = 0; i < uSize; i++) { params[i] = shProg->Uniforms->ParameterValues[location][i]; } + return i; + } } else { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformfv(location)"); @@ -1017,6 +1023,35 @@ _mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location, else { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformfv(program)"); } + return 0; +} + + +/** + * Called via ctx->Driver.GetUniformfv(). + */ +void +_mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location, + GLfloat *params) +{ + (void) get_uniformfv(ctx, program, location, params); +} + + +/** + * Called via ctx->Driver.GetUniformiv(). + */ +void +_mesa_get_uniformiv(GLcontext *ctx, GLuint program, GLint location, + GLint *params) +{ + GLfloat fparams[MAX_UNIFORM_ELEMENTS]; + GLuint n = get_uniformfv(ctx, program, location, fparams); + GLuint i; + assert(n <= MAX_UNIFORM_ELEMENTS); + for (i = 0; i < n; i++) { + params[i] = (GLint) fparams[i]; + } } diff --git a/src/mesa/shader/shader_api.h b/src/mesa/shader/shader_api.h index 27e5870..586ff39 100644 --- a/src/mesa/shader/shader_api.h +++ b/src/mesa/shader/shader_api.h @@ -151,6 +151,10 @@ extern void _mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location, GLfloat *params); +extern void +_mesa_get_uniformiv(GLcontext *ctx, GLuint program, GLint location, + GLint *params); + extern GLint _mesa_get_uniform_location(GLcontext *ctx, GLuint program, const GLchar *name); commit 50bc5a75a75ad05dfcd83dcdbe3fc76f11bce685 Author: Brian Paul <[EMAIL PROTECTED]> Date: Wed Jul 9 08:35:50 2008 -0600 mesa: fix state.clip[n].plane parsing bug (bug 16611) diff --git a/src/mesa/shader/arbprogparse.c b/src/mesa/shader/arbprogparse.c index f74f727..db2e374 100644 --- a/src/mesa/shader/arbprogparse.c +++ b/src/mesa/shader/arbprogparse.c @@ -1123,7 +1123,9 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, struct arb_program *Program, gl_state_index state_tokens[STATE_LENGTH]) { - switch (*(*inst)++) { + GLubyte token = *(*inst)++; + + switch (token) { case STATE_MATERIAL_PARSER: state_tokens[0] = STATE_MATERIAL; state_tokens[1] = parse_face_type (inst); @@ -1308,7 +1310,6 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, case STATE_CLIP_PLANE: state_tokens[0] = STATE_CLIPPLANE; - state_tokens[1] = parse_integer (inst, Program); if (parse_clipplane_num (ctx, inst, Program, (GLint *) &state_tokens[1])) return 1; @@ -1760,7 +1761,9 @@ parse_param_elements (GLcontext * ctx, const GLubyte ** inst, gl_state_index state_tokens[STATE_LENGTH] = {0, 0, 0, 0, 0}; GLfloat const_values[4]; - switch (*(*inst)++) { + GLubyte token = *(*inst)++; + + switch (token) { case PARAM_STATE_ELEMENT: if (parse_state_single_item (ctx, inst, Program, state_tokens)) return 1; commit 6661f53eb37c46a74275bd203a24e587b77fa13a Author: Brian Paul <[EMAIL PROTECTED]> Date: Wed Jul 9 08:42:28 2008 -0600 mesa: check for OpenBSD (bug 15604) cherry-picked from master diff --git a/src/mesa/main/execmem.c b/src/mesa/main/execmem.c index df30952..072b046 100644 --- a/src/mesa/main/execmem.c +++ b/src/mesa/main/execmem.c @@ -36,7 +36,7 @@ -#if defined(__linux__) +#if defined(__linux__) || defined(__OpenBSD__) /* * Allocate a large block of memory which can hold code then dole it out @@ -47,6 +47,11 @@ #include <sys/mman.h> #include "mm.h" +#ifndef MAP_ANONYMOUS +#define MAP_ANONYMOUS MAP_ANON +#endif + + #define EXEC_HEAP_SIZE (10*1024*1024) _glthread_DECLARE_STATIC_MUTEX(exec_mutex); commit b8782affc8819c2492ab590c21cd772d7df5a570 Author: Xiang, Haihao <[EMAIL PROTECTED]> Date: Wed Jul 9 13:08:09 2008 +0800 i915: fall back to software rendering when shadow comparison is enabled for 1D texture. fix #12176 Cherry-picked from commit 75e4db18049f3284197c9a8deabd9dd74aa7920e diff --git a/src/mesa/drivers/dri/i915/i915_texstate.c b/src/mesa/drivers/dri/i915/i915_texstate.c index 8a56fc3..08c561e 100644 --- a/src/mesa/drivers/dri/i915/i915_texstate.c +++ b/src/mesa/drivers/dri/i915/i915_texstate.c @@ -609,13 +609,8 @@ static void i915ImportTexObjState( struct gl_texture_object *texObj ) shadow = SS2_SHADOW_ENABLE; shadow |= intel_translate_compare_func( texObj->CompareFunc ); - if (texObj->Target == GL_TEXTURE_1D) { - minFilt = FILTER_NEAREST; - magFilt = FILTER_NEAREST; - } else { - minFilt = FILTER_4X4_FLAT; - magFilt = FILTER_4X4_FLAT; - } + minFilt = FILTER_4X4_FLAT; + magFilt = FILTER_4X4_FLAT; } @@ -747,6 +742,9 @@ static GLboolean enable_tex_common( GLcontext *ctx, GLuint unit ) return GL_FALSE; } + if (tObj->Target == GL_TEXTURE_1D && -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]