Bug 75344

Summary: meta_blit.c(97) : error C2059: syntax error : '['
Product: Mesa Reporter: Vinson Lee <vlee>
Component: Mesa coreAssignee: Kenneth Graunke <kenneth>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: medium CC: eric, kenneth
Version: gitKeywords: regression
Hardware: x86-64 (AMD64)   
OS: Windows (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2014-02-22 00:47:08 UTC
mesa: c2ebbe2728cd709029313f4b9c9cc53432c510a1 (master)

  Compiling src\mesa\drivers\common\meta.c ...
meta.c
src\mesa\drivers\common\meta.c(672) : warning C4244: 'function' : conversion from 'GLuint' to 'GLfloat', possible loss of data
src\mesa\drivers\common\meta.c(1462) : warning C4244: 'function' : conversion from 'GLclampd' to 'GLfloat', possible loss of data
src\mesa\drivers\common\meta.c(1653) : warning C4244: 'function' : conversion from 'GLclampd' to 'GLfloat', possible loss of data
src\mesa\drivers\common\meta.c(2955) : warning C4244: 'function' : conversion from 'GLsizei' to 'GLfloat', possible loss of data
src\mesa\drivers\common\meta.c(3273) : warning C4244: 'function' : conversion from 'const GLint' to 'GLfloat', possible loss of data
  Compiling src\mesa\drivers\common\meta_blit.c ...
meta_blit.c
src\mesa\drivers\common\meta_blit.c(97) : error C2059: syntax error : '['
src\mesa\drivers\common\meta_blit.c(263) : error C2143: syntax error : missing ';' before 'type'
src\mesa\drivers\common\meta_blit.c(263) : error C2143: syntax error : missing ')' before 'type'
src\mesa\drivers\common\meta_blit.c(263) : error C2065: 'i' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(263) : warning C4552: '<' : operator has no effect; expected operator with side-effect
src\mesa\drivers\common\meta_blit.c(263) : error C2059: syntax error : ')'
src\mesa\drivers\common\meta_blit.c(263) : error C2143: syntax error : missing ';' before '{'
src\mesa\drivers\common\meta_blit.c(266) : error C2065: 'i' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(271) : error C2143: syntax error : missing ';' before 'type'
src\mesa\drivers\common\meta_blit.c(271) : error C2143: syntax error : missing ')' before 'type'
src\mesa\drivers\common\meta_blit.c(271) : error C2065: 'step' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(271) : warning C4552: '<=' : operator has no effect; expected operator with side-effect
src\mesa\drivers\common\meta_blit.c(271) : error C2059: syntax error : ')'
src\mesa\drivers\common\meta_blit.c(271) : error C2143: syntax error : missing ';' before '{'
src\mesa\drivers\common\meta_blit.c(272) : error C2143: syntax error : missing ';' before 'type'
src\mesa\drivers\common\meta_blit.c(272) : error C2143: syntax error : missing ')' before 'type'
src\mesa\drivers\common\meta_blit.c(272) : error C2065: 'i' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(272) : warning C4552: '<' : operator has no effect; expected operator with side-effect
src\mesa\drivers\common\meta_blit.c(272) : error C2059: syntax error : ')'
src\mesa\drivers\common\meta_blit.c(272) : error C2065: 'step' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(272) : error C2143: syntax error : missing ';' before '{'
src\mesa\drivers\common\meta_blit.c(276) : error C2065: 'step' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(276) : error C2065: 'i' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(277) : error C2065: 'step' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(277) : error C2065: 'i' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(278) : error C2065: 'step' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(278) : error C2065: 'i' : undeclared identifier
src\mesa\drivers\common\meta_blit.c(567) : warning C4244: 'function' : conversion from 'const GLint' to 'GLfloat', possible loss of data
src\mesa\drivers\common\meta_blit.c(731) : warning C4244: 'function' : conversion from 'const GLint' to 'GLfloat', possible loss of data
src\mesa\drivers\common\meta_blit.c(781) : warning C4244: 'function' : conversion from 'const GLint' to 'GLfloat', possible loss of data


commit 7d2f73e73759d6508833d76181295cdd3e0588fe
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Feb 7 14:00:31 2014 -0800

    meta: Add support for doing multisample resolves.
    
    Note that this doesn't handle GL_EXT_multisample_scaled_blit yet.  The
    i965 code for that extension bakes in knowledge of the sample positions
    (well, knowledge of the sample positions aligned to a lower-resolution
    grid), which we would have to do at runtime somehow for meta.
    
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Comment 1 Kenneth Graunke 2014-02-22 00:57:18 UTC
Drat, I missed that C99 array initializer.  Fixing.
Comment 2 Ian Romanick 2014-02-22 01:01:28 UTC
Why is meta even built on Windows?  I thought it was only used by DRI drivers.
Comment 3 Kenneth Graunke 2014-02-22 01:25:23 UTC
Meta is used by OSMesa, at least, which is used by a bunch of people on Windows.

Patch on mailing list:
http://lists.freedesktop.org/archives/mesa-dev/2014-February/054657.html
Comment 4 Kenneth Graunke 2014-02-22 03:18:10 UTC
Should be fixed in master by:

commit 6984a6be5cdb42fe668239abbc20995f5ee289a6
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Fri Feb 21 16:58:09 2014 -0800

    meta: Eliminate samplers[] array in favor of using vec4_prefix.
    
    We don't need an array mapping the shader index to "sampler2DMS",
    "isampler2DMS", and so on.  We can simply do "%ssampler2DMS" and pass in
    vec4_prefix, which is "", "i", or "u".
    
    This eliminates the use of C99 array initializers and should fix the
    MSVC build.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75344
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Eric Anholt <eric@anholt.net>

If not, feel free to reopen/file new bugs or send patches...

Sorry for the breakage.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.