diff options
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_cb_fbo.c | 3 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_draw.c | 7 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_program.c | 4 |
3 files changed, 8 insertions, 6 deletions
diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index 64424f77634..5b9e2037423 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -270,7 +270,8 @@ st_new_renderbuffer_fb(enum pipe_format format, int samples, boolean sw) strb->Base.InternalFormat = GL_STENCIL_INDEX8_EXT; break; case PIPE_FORMAT_R16G16B16A16_SNORM: - strb->Base.InternalFormat = GL_RGBA16; + /* accum buffer */ + strb->Base.InternalFormat = GL_RGBA16_SNORM; break; case PIPE_FORMAT_R8_UNORM: strb->Base.InternalFormat = GL_R8; diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 46a4f9cf8c5..56955d357b1 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -42,6 +42,7 @@ #include "main/imports.h" #include "main/image.h" +#include "main/bufferobj.h" #include "main/macros.h" #include "main/mfeatures.h" #include "program/prog_uniform.h" @@ -336,7 +337,7 @@ setup_interleaved_attribs(struct gl_context *ctx, assert(element_size == array->Size * _mesa_sizeof_type(array->Type)); if (attr == 0) { - if (bufobj && bufobj->Name) { + if (bufobj && _mesa_is_bufferobj(bufobj)) { vbuffer->buffer = NULL; pipe_resource_reference(&vbuffer->buffer, stobj->buffer); vbuffer->buffer_offset = pointer_to_offset(low_addr); @@ -402,7 +403,7 @@ setup_non_interleaved_attribs(struct gl_context *ctx, assert(element_size == array->Size * _mesa_sizeof_type(array->Type)); - if (bufobj && bufobj->Name) { + if (bufobj && _mesa_is_bufferobj(bufobj)) { /* Attribute data is in a VBO. * Recall that for VBOs, the gl_client_array->Ptr field is * really an offset from the start of the VBO, not a pointer. @@ -493,7 +494,7 @@ setup_index_buffer(struct gl_context *ctx, } /* get/create the index buffer object */ - if (bufobj && bufobj->Name) { + if (bufobj && _mesa_is_bufferobj(bufobj)) { /* elements/indexes are in a real VBO */ struct st_buffer_object *stobj = st_buffer_object(bufobj); pipe_resource_reference(&ibuffer->buffer, stobj->buffer); diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 0b1ad63afeb..7a6d33d3fea 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -1087,8 +1087,8 @@ destroy_program_variants(struct st_context *st, struct gl_program *program) } break; default: - _mesa_problem(NULL, "Unexpected program target in " - "destroy_program_variants_cb()"); + _mesa_problem(NULL, "Unexpected program target 0x%x in " + "destroy_program_variants_cb()", program->Target); } } |