From owner-freebsd-threads@FreeBSD.ORG Mon Jun 16 22:46:12 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 75BBB37B401 for ; Mon, 16 Jun 2003 22:46:12 -0700 (PDT) Received: from heron.mail.pas.earthlink.net (heron.mail.pas.earthlink.net [207.217.120.189]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF63243F75 for ; Mon, 16 Jun 2003 22:46:09 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from user-2injaq3.dialup.mindspring.com ([165.121.171.67] helo=mindspring.com) by heron.mail.pas.earthlink.net with asmtp (SSLv3:RC4-MD5:128) (Exim 3.33 #1) id 19S9IE-0001Qb-00; Mon, 16 Jun 2003 22:46:07 -0700 Message-ID: <3EEEAADC.66CA7261@mindspring.com> Date: Mon, 16 Jun 2003 22:45:00 -0700 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Gareth Hughes References: <2D32959E172B8F4D9B02F68266BE421401A6D7D8@mail-sc-3.nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-ELNK-Trace: b1a02af9316fbb217a47c185c03b154d40683398e744b8a4d71d00f4e433a515fd17ac834477db6c350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c cc: threads@freebsd.org cc: zander@mail.minion.de cc: 'Daniel Eischen' cc: Andy Ritger cc: Julian Elischer Subject: Re: NVIDIA and TLS X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jun 2003 05:46:12 -0000 Gareth Hughes wrote: > On Mon, 16 Jun 2003, Daniel Eischen wrote: > > > > I see this as a problem with the OpenGL API. You're trying > > to make something thread-safe that isn't by its nature. > > I would rather see OpenGL-MT with new interfaces that > > are by nature thread-safe. > > Sorry, but this simply isn't going to happen. People smarter > than you or I designed the API this way to allow for high > performance implementations on a wide variety of platforms. > There are very good reasons each API call doesn't take a > context parameter. It sounds like you want to wrap your entry points, and then use -ffixed-reg to reserve one of the general purpose registers to burn as a TLS context register. If you are going to burn a register on this, it should at least be a register you actually have a right to muck with... -- Terry