I have this exact patch setting in me queue to send out.

Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>

I had initially thought about going the other way, and using the enums
instead of UniformBooleanTrue.  I think the UniformBooleanTrue method is
slightly more efficient since there is only one place where value
conversions occur.

On 10/16/2014 09:28 AM, Kenneth Graunke wrote:
> A while back, Matt made the uniform upload functions simply upload
> ctx->Const.UniformBooleanTrue for boolean values instead of 0/1, which
> removed the need to convert it later.  We also set UniformBooleanTrue to
> 1.0f for drivers which want to treat booleans as 0.0/1.0f.
> 
> Nothing ever sets these, so they are dead.
> 
> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
> ---
>  src/glsl/ir_uniform.h           | 11 -----------
>  src/mesa/main/uniform_query.cpp | 27 ++-------------------------
>  2 files changed, 2 insertions(+), 36 deletions(-)
> 
> diff --git a/src/glsl/ir_uniform.h b/src/glsl/ir_uniform.h
> index 2f73528..b9ecf7c 100644
> --- a/src/glsl/ir_uniform.h
> +++ b/src/glsl/ir_uniform.h
> @@ -45,17 +45,6 @@ extern "C" {
>  enum PACKED gl_uniform_driver_format {
>     uniform_native = 0,          /**< Store data in the native format. */
>     uniform_int_float,           /**< Store integer data as floats. */
> -   uniform_bool_float,          /**< Store boolean data as floats. */
> -
> -   /**
> -    * Store boolean data as integer using 1 for \c true.
> -    */
> -   uniform_bool_int_0_1,
> -
> -   /**
> -    * Store boolean data as integer using ~0 for \c true.
> -    */
> -   uniform_bool_int_0_not0
>  };
>  
>  struct gl_uniform_driver_storage {
> diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
> index 1592c9b..f747cd5 100644
> --- a/src/mesa/main/uniform_query.cpp
> +++ b/src/mesa/main/uniform_query.cpp
> @@ -533,8 +533,7 @@ _mesa_propagate_uniforms_to_driver_storage(struct 
> gl_uniform_storage *uni,
>        dst += array_index * store->element_stride;
>  
>        switch (store->format) {
> -      case uniform_native:
> -      case uniform_bool_int_0_1: {
> +      case uniform_native: {
>        unsigned j;
>        unsigned v;
>  
> @@ -550,8 +549,7 @@ _mesa_propagate_uniforms_to_driver_storage(struct 
> gl_uniform_storage *uni,
>        break;
>        }
>  
> -      case uniform_int_float:
> -      case uniform_bool_float: {
> +      case uniform_int_float: {
>        const int *isrc = (const int *) src;
>        unsigned j;
>        unsigned v;
> @@ -572,27 +570,6 @@ _mesa_propagate_uniforms_to_driver_storage(struct 
> gl_uniform_storage *uni,
>        break;
>        }
>  
> -      case uniform_bool_int_0_not0: {
> -      const int *isrc = (const int *) src;
> -      unsigned j;
> -      unsigned v;
> -      unsigned c;
> -
> -      for (j = 0; j < count; j++) {
> -         for (v = 0; v < vectors; v++) {
> -            for (c = 0; c < components; c++) {
> -               ((int *) dst)[c] = *isrc == 0 ? 0 : ~0;
> -               isrc++;
> -            }
> -
> -            dst += store->vector_stride;
> -         }
> -
> -         dst += extra_stride;
> -      }
> -      break;
> -      }
> -
>        default:
>        assert(!"Should not get here.");
>        break;
> 

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to