message: Un-gamma luminance textures (got lost in squash)
  Set hasAlpha for RA8 as well
diff: @@ -51,17 +51,17 @@ inline vec4f getTexel_RA8(const uniform Texture2D *uniform self, const vec2i i)
  const uint32 texelOfs = 2*(i.y*self->size.x + i.x);
  const uint32 c = texel[texelOfs];
  const uint32 a = texel[texelOfs+1];
  - return make_vec4f((float)c, 0.f, 0.f, (float)a)*(1.f/255.f);
  + return make_vec4f(c*(1.f/255.f), 0.f, 0.f, a*(1.f/255.f));
  }
  inline vec4f getTexel_R8(const uniform Texture2D *uniform self, const vec2i i)
  {
  assert(self);
  const uint8 c = ((const uniform uint8 *uniform)self->data)[i.y*self->size.x + i.x];
  - return make_vec4f((float)c*(1.f/255.f), 0.f, 0.f, 1.f);
  + return make_vec4f(c*(1.f/255.f), 0.f, 0.f, 1.f);
  }
  -// LA8 is used by Bistro Luminance-Alpha textures (ie grayscale with alpha)
  +// luminance (basically gamma-corrected grayscale) with alpha
  inline vec4f getTexel_LA8(const uniform Texture2D *uniform self, const vec2i i)
  {
  assert(self);
  @@ -69,15 +69,15 @@ inline vec4f getTexel_LA8(const uniform Texture2D *uniform self, const vec2i i)
  const uint32 texelOfs = 2*(i.y*self->size.x + i.x);
  const uint32 l = texel[texelOfs];
  const uint32 a = texel[texelOfs+1];
  - return make_vec4f(make_vec3f((float)l), (float)a)*(1.f/255.f);
  + return make_vec4f(make_vec3f(srgb_to_linear(l*(1.f/255.f))), a*(1.f/255.f));
  }
  -// L8 is gray-scale version of R8, used by Bistro Luminance textures
  +// luminance (basically gamma-corrected grayscale)
  inline vec4f getTexel_L8(const uniform Texture2D *uniform self, const vec2i i)
  {
  assert(self);
  const uint8 l = ((const uniform uint8 *uniform)self->data)[i.y*self->size.x + i.x];
  - return make_vec4f(make_vec3f((float)l)*(1.f/255.f), 1.f);
  + return make_vec4f(make_vec3f(srgb_to_linear(l*(1.f/255.f))), 1.f);
  }
  inline vec4f getTexel_SRGBA(const uniform Texture2D *uniform self, const vec2i i)
  @@ -286,7 +286,8 @@ export void *uniform Texture2D_create(uniform vec2i &size, void *uniform data,
  self->get = Texture2D_get_addr(type, flags & OSP_TEXTURE_FILTER_NEAREST);
  self->getNormal = Texture2D_getN_addr(type, flags & OSP_TEXTURE_FILTER_NEAREST);
  self->hasAlpha = type == OSP_TEXTURE_RGBA8 || type == OSP_TEXTURE_SRGBA
  - || type == OSP_TEXTURE_RGBA32F || type == OSP_TEXTURE_LA8;
  + || type == OSP_TEXTURE_RA8 || type == OSP_TEXTURE_LA8
  + || type == OSP_TEXTURE_RGBA32F;
  return self;
  }
  