[Mesa-dev] [PATCH 02/14] i965: Allocate binding table space for shader images.

Kenneth Graunke kenneth at whitecape.org
Fri Feb 6 17:07:49 PST 2015


On Saturday, February 07, 2015 03:03:44 AM Francisco Jerez wrote:
> Kenneth Graunke <kenneth at whitecape.org> writes:
> 
> > On Friday, February 06, 2015 07:23:16 PM Francisco Jerez wrote:
> >> Reviewed-by: Paul Berry <stereotype441 at gmail.com>
> >> ---
> >>  src/mesa/drivers/dri/i965/brw_context.h  | 5 +++++
> >>  src/mesa/drivers/dri/i965/brw_shader.cpp | 7 +++++++
> >>  2 files changed, 12 insertions(+)
> >> 
> >> diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
> >> index bebb0be..e28c65d 100644
> >> --- a/src/mesa/drivers/dri/i965/brw_context.h
> >> +++ b/src/mesa/drivers/dri/i965/brw_context.h
> >> @@ -341,6 +341,7 @@ struct brw_stage_prog_data {
> >>        uint32_t gather_texture_start;
> >>        uint32_t ubo_start;
> >>        uint32_t abo_start;
> >> +      uint32_t image_start;
> >>        uint32_t shader_time_start;
> >>        /** @} */
> >>     } binding_table;
> >> @@ -621,6 +622,9 @@ struct brw_vs_prog_data {
> >>  /** Max number of atomic counter buffer objects in a shader */
> >>  #define BRW_MAX_ABO 16
> >>  
> >> +/** Max number of image units in a shader */
> >> +#define BRW_MAX_IMAGES 16
> >> +
> >
> > Out of curiosity, why 16?  The Windows driver and Nvidia both seem to
> > use 8, while AMD offers 32:
> >
> > http://delphigl.de/glcapsviewer/gl_stats_caps_single.php?listreportsbycap=GL_MAX_IMAGE_UNITS
> >
> > We have 32 texture units on Haswell these days (though honestly, it's
> > pretty arbitrary...we could have more if we wanted...)
> >
> > That's not an objection - I'm just curious.  As is,
> > Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> >
> It's completely arbitrary too, IIRC I set it to 16 because back when I
> wrote this patch we were still exposing 16 texture units, so I just used
> the same value.  We could definitely expose 32 image units too, should I
> just increase the value to 32 locally?

That seems like a good idea to me, unless you can think of some reason
not to.  I'll leave it up to you :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150206/0960e3fb/attachment.sig>


More information about the mesa-dev mailing list