Hello, I tried to compile latest mesa master this morning but faced with a compilation error: intel_fbo.c: In function ‘intel_validate_framebuffer’: intel_fbo.c:696:25: error: ‘GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS’ undeclared (first use in this function); did you mean ‘GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT’? fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS, ^ intel_fbo.c:642:21: note: in definition of macro ‘fbo_incomplete’ fb->_Status = error_id; \ ^~~~~~~~ intel_fbo.c:696:25: note: each undeclared identifier is reported only once for each function it appears in fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS, ^ intel_fbo.c:642:21: note: in definition of macro ‘fbo_incomplete’ fb->_Status = error_id; \
This small change helped me but I can't say for sure that it is right: diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c b/src/mesa/drivers/dri/i965/intel_fbo.c index febd1aca98..5d870c65f8 100644 --- a/src/mesa/drivers/dri/i965/intel_fbo.c +++ b/src/mesa/drivers/dri/i965/intel_fbo.c @@ -693,7 +693,7 @@ intel_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb) d_depth != s_depth || depthRb->mt_level != stencilRb->mt_level || depthRb->mt_layer != stencilRb->mt_layer) { - fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS, + fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT, "FBO incomplete: depth and stencil must match in" "width, height, depth, LOD and layer\n"); } Thanks, Andrii. On Thu, Nov 15, 2018 at 8:01 PM Gert Wollny <gert.wol...@collabora.com> wrote: > The driver was returning GL_FRAMEBUFFER_UNSUPPORTED for all cases of an > incomplete fbo, be a bit more specific about this following the description > of glCheckFramebufferStatus. > > This helps to keeps dEQP happy when adding EXT_texture_sRGB_R8 support. > > Signed-off-by: Gert Wollny <gert.wol...@collabora.com> > --- > src/mesa/drivers/dri/i965/intel_fbo.c | 42 +++++++++++++++------------ > 1 file changed, 23 insertions(+), 19 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c > b/src/mesa/drivers/dri/i965/intel_fbo.c > index 2bbbc34114..d657fdf8e4 100644 > --- a/src/mesa/drivers/dri/i965/intel_fbo.c > +++ b/src/mesa/drivers/dri/i965/intel_fbo.c > @@ -629,7 +629,7 @@ intel_render_texture(struct gl_context * ctx, > } > > > -#define fbo_incomplete(fb, ...) do { > \ > +#define fbo_incomplete(fb, error_id, ...) do { > \ > static GLuint msg_id = 0; > \ > if (unlikely(ctx->Const.ContextFlags & GL_CONTEXT_FLAG_DEBUG_BIT)) > { \ > _mesa_gl_debug(ctx, &msg_id, > \ > @@ -639,7 +639,7 @@ intel_render_texture(struct gl_context * ctx, > __VA_ARGS__); > \ > } > \ > DBG(__VA_ARGS__); > \ > - fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED; > \ > + fb->_Status = error_id; > \ > } while (0) > > /** > @@ -693,7 +693,7 @@ intel_validate_framebuffer(struct gl_context *ctx, > struct gl_framebuffer *fb) > d_depth != s_depth || > depthRb->mt_level != stencilRb->mt_level || > depthRb->mt_layer != stencilRb->mt_layer) { > - fbo_incomplete(fb, > + fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS, > "FBO incomplete: depth and stencil must match > in" > "width, height, depth, LOD and layer\n"); > } > @@ -705,7 +705,7 @@ intel_validate_framebuffer(struct gl_context *ctx, > struct gl_framebuffer *fb) > */ > if (depthRb->mt_level != stencilRb->mt_level || > depthRb->mt_layer != stencilRb->mt_layer) { > - fbo_incomplete(fb, > + fbo_incomplete(fb, GL_FRAMEBUFFER_UNSUPPORTED, > "FBO incomplete: depth image level/layer %d/%d > != " > "stencil image %d/%d\n", > depthRb->mt_level, > @@ -715,13 +715,14 @@ intel_validate_framebuffer(struct gl_context *ctx, > struct gl_framebuffer *fb) > } > } else { > if (!brw->has_separate_stencil) { > - fbo_incomplete(fb, "FBO incomplete: separate stencil " > - "unsupported\n"); > + fbo_incomplete(fb, GL_FRAMEBUFFER_UNSUPPORTED, > + "FBO incomplete: separate stencil unsupported\n"); > } > if (stencil_mt->format != MESA_FORMAT_S_UINT8) { > - fbo_incomplete(fb, "FBO incomplete: separate stencil is %s " > - "instead of S8\n", > - _mesa_get_format_name(stencil_mt->format)); > + fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, > + "FBO incomplete: separate stencil is %s " > + "instead of S8\n", > + _mesa_get_format_name(stencil_mt->format)); > } > if (devinfo->gen < 7 && !intel_renderbuffer_has_hiz(depthRb)) { > /* Before Gen7, separate depth and stencil buffers can be used > @@ -730,8 +731,8 @@ intel_validate_framebuffer(struct gl_context *ctx, > struct gl_framebuffer *fb) > * [DevSNB]: This field must be set to the same value > (enabled > * or disabled) as Hierarchical Depth Buffer Enable. > */ > - fbo_incomplete(fb, "FBO incomplete: separate stencil " > - "without HiZ\n"); > + fbo_incomplete(fb, GL_FRAMEBUFFER_UNSUPPORTED, > + "FBO incomplete: separate stencil without > HiZ\n"); > } > } > } > @@ -749,29 +750,32 @@ intel_validate_framebuffer(struct gl_context *ctx, > struct gl_framebuffer *fb) > */ > rb = fb->Attachment[i].Renderbuffer; > if (rb == NULL) { > - fbo_incomplete(fb, "FBO incomplete: attachment without " > - "renderbuffer\n"); > + fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, > + "FBO incomplete: attachment without " > + "renderbuffer\n"); > continue; > } > > if (fb->Attachment[i].Type == GL_TEXTURE) { > if (rb->TexImage->Border) { > - fbo_incomplete(fb, "FBO incomplete: texture with border\n"); > + fbo_incomplete(fb, GL_FRAMEBUFFER_UNSUPPORTED, > + "FBO incomplete: texture with border\n"); > continue; > } > } > > irb = intel_renderbuffer(rb); > if (irb == NULL) { > - fbo_incomplete(fb, "FBO incomplete: software rendering " > - "renderbuffer\n"); > + fbo_incomplete(fb, GL_FRAMEBUFFER_UNSUPPORTED, > + "FBO incomplete: software rendering renderbuffer\n"); > continue; > } > > if (!brw_render_target_supported(brw, rb)) { > - fbo_incomplete(fb, "FBO incomplete: Unsupported HW " > - "texture/renderbuffer format attached: %s\n", > - _mesa_get_format_name(intel_rb_format(irb))); > + fbo_incomplete(fb, GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, > + "FBO incomplete: Unsupported HW " > + "texture/renderbuffer format attached: %s\n", > + _mesa_get_format_name(intel_rb_format(irb))); > } > } > } > -- > 2.19.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev