[Mesa-dev] [PATCH 1/2] glsl: add missing types for buffer images

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Mar 29 19:30:14 UTC 2016



On 03/29/2016 09:23 PM, Ilia Mirkin wrote:
> I still see
>
> 0:7(1): error: No precision specified in this scope for type `imageBuffer'
>
> for
>
> #version 310 es
> #extension GL_EXT_texture_buffer : require
>
> precision highp imageBuffer;
>
> layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
> layout (rgba32f, binding=0) writeonly uniform imageBuffer u_image;
>
> after applying your series. Is this not what you were trying to fix?

On which card do you try? because I have the following output:

MESA_GLES_VERSION_OVERRIDE=3.1 ./deqp-gles31 
--deqp-case=dEQP-GLES31.functional.image_load_store.buffer.load_store.rgba32f 

dEQP Core git-cf4407563b4783b69214f3542728806468b200a6 (0xcf440756) 
starting..
   target implementation = 'X11 EGL/GLX'

Test case 
'dEQP-GLES31.functional.image_load_store.buffer.load_store.rgba32f'..
Compute shader compile time = 3.087000 ms
Test case duration in microseconds = 5985 us
   Fail (Program compilation failed)

The assert has gone but something else is still wrong.

>
> On Tue, Mar 29, 2016 at 3:01 PM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> wrote:
>> Spotted while trying to run dEQP tests related to
>> ARB_shader_image_load_store.
>>
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> Cc: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
>> ---
>>   src/compiler/glsl/ast_to_hir.cpp | 15 +++++++++------
>>   1 file changed, 9 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
>> index 29a4642..5cdd57c 100644
>> --- a/src/compiler/glsl/ast_to_hir.cpp
>> +++ b/src/compiler/glsl/ast_to_hir.cpp
>> @@ -2354,8 +2354,9 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>>            }
>>            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];
>>            }
>> @@ -2416,8 +2417,9 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>>            }
>>            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];
>>            }
>> @@ -2471,8 +2473,9 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>>            }
>>            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];
>>            }
>> --
>> 2.7.4
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list