On Thu, 2010-03-11 at 05:21 -0800, Keith Whitwell wrote: > On Thu, 2010-03-11 at 03:16 -0800, michal wrote: > > Hi, > > > > I would like to merge the branch in subject this week. This feature > > branch allows state trackers to bind sampler views instead of textures > > to shader stages. > > > > A sampler view object holds a reference to a texture and also overrides > > internal texture format (resource casting) and specifies RGBA swizzle > > (needed for GL_EXT_texture_swizzle extension). > > Michal, > > I've got some issues with the way the sampler views are being generated > and used inside the CSO module. > > The point of a sampler view is that it gives the driver an opportunity > to do expensive operations required for special sampling modes (which > may include copying surface data if hardware is deficient in some way). > > This approach works if a sampler view is created once, then used > multiple times before being deleted. > > Unfortunately, it seems the changes to support this in the CSO module > provide only a single-shot usage model. Sampler views are created in > cso_set_XXX_sampler_textures, bound to the context, and then > dereferenced/destroyed on the next bind.
Although I endorse cso_set_XXX_sampler_textures for migration, I agree entirely with you. Perhaps we could make this clear in the comments. > To make this change worthwhile, we'd want to somehow cache sampler views > and reuse them on multiple draws. Currently drivers that implement > views internally hang them off the relevant texture. > > The choices in this branch are to do it in the CSO module, or push it up > to the state tracker. Caching in the cso module is certainly feasible, but regardless where it is done, care must be taken because the smapler view state includes texture pointers. Worse, it holds on to a texture reference. So at the very least the cso needs an entrypoint for flushing views for a given texture that will be called when the st is done with the texture. Jose ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev