]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/commands.cpp
Query the attachments of the default framebuffer
[libs/gl.git] / source / core / commands.cpp
index 72b5a939f7194bb95280c9c4e3fbad9fd1b5caf8..529cd3921fa5ef0243a6a78a6ffe2be6c1f6654d 100644 (file)
@@ -32,7 +32,7 @@ void Commands::draw(const Batch &batch)
 {
        pipeline_state->apply();
        void *data_ptr = reinterpret_cast<void *>(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<void *>(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);
        }
 }