Sorry for popping out so late in the game, but I just realized this now while working in related code: instead of adding new entrypoints, wouldn't it be better to keep the current ones, but add an argument, PIPE_SHADER_xxx ?
This would simplify both state tracker and pipe drivers considerably, since they could keep all state in arrays of [PIPE_SHADER_TYPES] dimension. Obviously we could/should do the same for shaders too, for the same reasons and consistency. Otherwise by the time we have geometry shaders we'll have a very extensive interface, and a lot of boilerplate code... Jose On Mon, 2009-11-30 at 04:51 -0800, michal wrote: > Attached an updated patch. > > * Increased PIPE_MAX_VERTEX_SAMPLERS to 16. > * Removed PIPE_CAP_MAX_VERTEX_TEXTURES since there's already an > equivalent PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS. > * Added PIPE_CAP_MAX_COMBINED_SAMPLERS to query maximum texture image > units accessible from vertex and fragment shaders combined. > > > Michal Krol pisze: > > That means we need an additional cap bit to support > > GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS because it's no longer a simple sum of > > max vertex and fragment samplers. For i965 max vertex/fragment/combined > > samplers would be then 16. > > > > -- > > Michal Krol > > ________________________________________ > > Od: Keith Whitwell > > Wysłano: 28 listopada 2009 00:40 > > Do: Michal Krol; Roland Scheidegger > > DW: mesa3d-dev > > Temat: RE: [Mesa3d-dev] [PATCH] Add entrypoints for setting vertex texture > > state > > > > The i965 can surely do 16, though maybe shared with the fragment shaders. > > > > Keith > > ________________________________________ > > From: michal [mic...@vmware.com] > > Sent: Friday, November 27, 2009 2:20 PM > > To: Roland Scheidegger > > Cc: Keith Whitwell; mesa3d-dev > > Subject: Re: [Mesa3d-dev] [PATCH] Add entrypoints for setting vertex > > texture state > > > > Roland Scheidegger pisze: > > > >> On 27.11.2009 19:32, michal wrote: > >> > >> > >>>> Why is the MAX here smaller than for fragment samplers? Doesn't GL > >>>> require them to be the same, because GL effectively binds the same set > >>>> of sampler states in both cases? > >>>> > >>>> Can you take a closer look at what the GL state tracker would have to do > >>>> to expose this functionality and make sure it's valid? > >>>> > >>>> > >>>> > >>>> > >>> It's all good. There is GL_MAX_VERTEX_TEXTURE_UNITS that tells how many > >>> samplers can be used in a vertex shader. Anything above that is used > >>> only with fragment shaders and ignored for vertex shaders. > >>> > >>> > >> I fail to see though why the limit needs to be that low. All modern > >> hardware nowadays can use the same number of texture samplers for both > >> fragment and vertex shading (it's the same sampler hardware, after all). > >> Some older hardware (typically non-unified, D3D9 shader model 3 > >> compliant) though indeed only had limited support for this (like the > >> GeForce 6/7 series) probably only supporting 4 (can't remember exactly), > >> though other hardware never implemented it despite d3d9 sm3 requiring it > >> (thanks to a api loophole). > >> > >> > >> > > > > Wow, it looks like I need to upgrade my hardware. I thought 4 vertex > > texture units is generous. I have no problem with setting that limit to, > > say, 16. > > > > ------------------------------------------------------------------------------ > > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > > trial. Simplify your report design, integration and deployment - and focus > > on > > what you do best, core application coding. Discover what's new with > > Crystal Reports now. http://p.sf.net/sfu/bobj-july > > _______________________________________________ > > Mesa3d-dev mailing list > > Mesa3d-dev@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/mesa3d-dev > > > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev