X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fcommands.cpp;h=529cd3921fa5ef0243a6a78a6ffe2be6c1f6654d;hb=d6122b75b00c0889a54536b5cea971d08184af8f;hp=72b5a939f7194bb95280c9c4e3fbad9fd1b5caf8;hpb=ebef7085e2672866189ccdb3a89e977e678a89b9;p=libs%2Fgl.git diff --git a/source/core/commands.cpp b/source/core/commands.cpp index 72b5a939..529cd392 100644 --- a/source/core/commands.cpp +++ b/source/core/commands.cpp @@ -32,7 +32,7 @@ void Commands::draw(const Batch &batch) { pipeline_state->apply(); void *data_ptr = reinterpret_cast(batch.get_offset()); - glDrawElements(batch.get_type(), batch.size(), batch.get_gl_index_type(), data_ptr); + glDrawElements(batch.get_gl_primitive_type(), batch.size(), batch.get_gl_index_type(), data_ptr); } void Commands::draw_instanced(const Batch &batch, unsigned count) @@ -41,28 +41,30 @@ void Commands::draw_instanced(const Batch &batch, unsigned count) pipeline_state->apply(); void *data_ptr = reinterpret_cast(batch.get_offset()); - glDrawElementsInstanced(batch.get_type(), batch.size(), batch.get_gl_index_type(), data_ptr, count); + glDrawElementsInstanced(batch.get_gl_primitive_type(), batch.size(), batch.get_gl_index_type(), data_ptr, count); } void Commands::resolve_multisample(Framebuffer &target, BufferBits buffers) { + static Require _req(EXT_framebuffer_blit); + const Framebuffer *source = pipeline_state->get_framebuffer(); unsigned width = min(source->get_width(), target.get_width()); unsigned height = min(source->get_height(), target.get_height()); if(ARB_direct_state_access) - glBlitNamedFramebuffer(source->get_id(), target.get_id(), 0, 0, width, height, 0, 0, width, height, buffers, GL_NEAREST); + glBlitNamedFramebuffer(source->id, target.id, 0, 0, width, height, 0, 0, width, height, buffers, GL_NEAREST); else { - glBindFramebuffer(GL_READ_FRAMEBUFFER, source->get_id()); - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, target.get_id()); + glBindFramebuffer(GL_READ_FRAMEBUFFER, source->id); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, target.id); target.refresh(); glBlitFramebuffer(0, 0, width, height, 0, 0, width, height, buffers, GL_NEAREST); - glBindFramebuffer(GL_FRAMEBUFFER, source->get_id()); + glBindFramebuffer(GL_FRAMEBUFFER, source->id); } }