#include "st_cb_bitmap.h"
#include "st_cb_fbo.h"
#include "st_texture.h"
+#include "st_util.h"
#include "pipe/p_context.h"
#include "cso_cache/cso_context.h"
#include "util/u_math.h"
* drivers callback must be adjusted for this.
*/
if (screen->is_format_supported(screen, PIPE_FORMAT_NONE,
- PIPE_TEXTURE_2D, msaa_mode,
+ PIPE_TEXTURE_2D, msaa_mode, msaa_mode,
PIPE_BIND_RENDER_TARGET))
quantized_samples = msaa_mode;
}
if (strb) {
if (strb->is_rtt || (strb->texture &&
- _mesa_get_format_color_encoding(strb->Base.Format) == GL_SRGB)) {
+ _mesa_is_format_srgb(strb->Base.Format))) {
/* rendering to a GL texture, may have to update surface */
st_update_renderbuffer_surface(st, strb);
}
* Depth/Stencil renderbuffer/surface.
*/
strb = st_renderbuffer(fb->Attachment[BUFFER_DEPTH].Renderbuffer);
+ if (!strb)
+ strb = st_renderbuffer(fb->Attachment[BUFFER_STENCIL].Renderbuffer);
+
if (strb) {
if (strb->is_rtt) {
/* rendering to a GL texture, may have to update surface */
st_update_renderbuffer_surface(st, strb);
}
framebuffer.zsbuf = strb->surface;
- update_framebuffer_size(&framebuffer, strb->surface);
- }
- else {
- strb = st_renderbuffer(fb->Attachment[BUFFER_STENCIL].Renderbuffer);
- if (strb) {
- if (strb->is_rtt) {
- /* rendering to a GL texture, may have to update surface */
- st_update_renderbuffer_surface(st, strb);
- }
- framebuffer.zsbuf = strb->surface;
+ if (strb->surface)
update_framebuffer_size(&framebuffer, strb->surface);
- }
- else
- framebuffer.zsbuf = NULL;
}
+ else
+ framebuffer.zsbuf = NULL;
-#ifdef DEBUG
+#ifndef NDEBUG
/* Make sure the resource binding flags were set properly */
for (i = 0; i < framebuffer.nr_cbufs; i++) {
assert(!framebuffer.cbufs[i] ||