Quellcode durchsuchen

glsl: add missing types for buffer images

Type of GLSL_SAMPLER_DIM_BUF can be sampler or image.

Spotted while trying to run dEQP tests related to
ARB_shader_image_load_store.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
tags/12.0-branchpoint
Samuel Pitoiset vor 9 Jahren
Ursprung
Commit
bb37886f75
1 geänderte Dateien mit 12 neuen und 12 gelöschten Zeilen
  1. 12
    12
      src/compiler/glsl/ast_to_hir.cpp

+ 12
- 12
src/compiler/glsl/ast_to_hir.cpp Datei anzeigen

@@ -2353,11 +2353,11 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
return names[type_idx];
}
case GLSL_SAMPLER_DIM_BUF: {
assert(type->base_type == GLSL_TYPE_SAMPLER);
static const char *const names[4] = {
"samplerBuffer", NULL, NULL, NULL
static const char *const names[8] = {
"samplerBuffer", NULL, NULL, NULL,
"imageBuffer", NULL, NULL, NULL
};
return names[type_idx];
return names[offset + type_idx];
}
case GLSL_SAMPLER_DIM_EXTERNAL: {
assert(type->base_type == GLSL_TYPE_SAMPLER);
@@ -2415,11 +2415,11 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
return names[type_idx];
}
case GLSL_SAMPLER_DIM_BUF: {
assert(type->base_type == GLSL_TYPE_SAMPLER);
static const char *const names[4] = {
"isamplerBuffer", NULL, NULL, NULL
static const char *const names[8] = {
"isamplerBuffer", NULL, NULL, NULL,
"iimageBuffer", NULL, NULL, NULL
};
return names[type_idx];
return names[offset + type_idx];
}
default:
unreachable("Unsupported isampler/iimage dimensionality");
@@ -2470,11 +2470,11 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
return names[type_idx];
}
case GLSL_SAMPLER_DIM_BUF: {
assert(type->base_type == GLSL_TYPE_SAMPLER);
static const char *const names[4] = {
"usamplerBuffer", NULL, NULL, NULL
static const char *const names[8] = {
"usamplerBuffer", NULL, NULL, NULL,
"uimageBuffer", NULL, NULL, NULL
};
return names[type_idx];
return names[offset + type_idx];
}
default:
unreachable("Unsupported usampler/uimage dimensionality");

Laden…
Abbrechen
Speichern