On 24 November 2013 21:00, Francisco Jerez <curroje...@riseup.net> wrote:

> ---
>  src/mesa/main/config.h |   1 +
>  src/mesa/main/dd.h     |   1 +
>  src/mesa/main/mtypes.h | 100
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  src/mesa/main/texobj.c |   1 +
>  4 files changed, 103 insertions(+)
>
> diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h
> index 22bbfa0..8bd9765 100644
> --- a/src/mesa/main/config.h
> +++ b/src/mesa/main/config.h
> @@ -175,6 +175,7 @@
>  #define MAX_COMBINED_ATOMIC_BUFFERS    (MAX_UNIFORM_BUFFERS * 6)
>  /* Size of an atomic counter in bytes according to
> ARB_shader_atomic_counters */
>  #define ATOMIC_COUNTER_SIZE            4
> +#define MAX_IMAGE_UNITS                32
>

It would be nice to have a note in the commit message explaining why you
chose 32 for MAX_IMAGE_UNITS (the spec only requires 8 so it's not obvious).


>  /*@}*/
>
>  /**
> diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
> index b5b874f..648062f 100644
> --- a/src/mesa/main/dd.h
> +++ b/src/mesa/main/dd.h
> @@ -39,6 +39,7 @@ struct gl_buffer_object;
>  struct gl_context;
>  struct gl_display_list;
>  struct gl_framebuffer;
> +struct gl_image_unit;
>  struct gl_pixelstore_attrib;
>  struct gl_program;
>  struct gl_renderbuffer;
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index e9750f4..7be0664 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -1207,6 +1207,9 @@ struct gl_texture_object
>
>     /** GL_OES_EGL_image_external */
>     GLint RequiredTextureImageUnits;
> +
> +   /** GL_ARB_shader_image_load_store */
> +   GLenum ImageFormatCompatibility;
>

This is called IMAGE_FORMAT_COMPATIBILITY_TYPE in the GL spec.  Can we
rename it to ImageFormatCompatibilityType for consistency?


>  };
>
>
> @@ -2373,6 +2376,29 @@ struct gl_shader
>          */
>        GLenum OutputType;
>     } Geom;
> +
> +   /**
> +    * Map from image uniform index to image unit (set by glUniform1i())
> +    *
> +    * An image uniform index is associated with each image uniform by
> +    * the linker.  The image index associated with each uniform is
> +    * stored in the \c gl_uniform_storage::image field.
>

Can we assume image uniform indices are always in the range [0,
NumImages-1]?  If so it would be nice to document that here.


> +    */
> +   GLubyte ImageUnits[MAX_IMAGE_UNITS];
> +
> +   /**
> +    * Access qualifier specified in the shader for each image uniform.
> +    * Either \c GL_READ_ONLY, \c GL_WRITE_ONLY or \c GL_READ_WRITE.
> +    *
> +    * It may be different, though only more strict than the value of
> +    * \c gl_image_unit::Access for the corresponding image unit.
>

Is this array indexed by image uniform index or by image unit?  The comment
should clarify that.


> +    */
> +   GLenum ImageAccess[MAX_IMAGE_UNITS];
>

With those changes, this patch is:

Reviewed-by: Paul Berry <stereotype...@gmail.com>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to