X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Fcommands_backend.cpp;h=adecd5c87bc71baeb9059332dc57b1535d8b8403;hb=8a8cce8ef4ee28b3572a72958b8b407759f9f826;hp=fd66b99cacf35c63b2f0eb8394828d939aabb76a;hpb=160e9eea29bd10034733d59507fa1bcca36be401;p=libs%2Fgl.git diff --git a/source/backends/opengl/commands_backend.cpp b/source/backends/opengl/commands_backend.cpp index fd66b99c..adecd5c8 100644 --- a/source/backends/opengl/commands_backend.cpp +++ b/source/backends/opengl/commands_backend.cpp @@ -18,10 +18,6 @@ using namespace std; namespace Msp { namespace GL { -OpenGLCommands::OpenGLCommands(): - pipeline_state(0) -{ } - void OpenGLCommands::use_pipeline(const PipelineState *ps) { pipeline_state = ps; @@ -35,36 +31,19 @@ void OpenGLCommands::clear(const ClearValue *values) if(!target) throw invalid_operation("OpenGLCommands::clear"); - if(!ARB_direct_state_access) - { - static Require _req(MSP_clear_buffer); - pipeline_state->apply(); - } + static Require _req(MSP_clear_buffer); + + pipeline_state->apply(); unsigned i = 0; for(FrameAttachment a: target->get_format()) { if(get_attach_point(a)==get_attach_point(DEPTH_ATTACHMENT)) - { - if(ARB_direct_state_access) - glClearNamedFramebufferfv(target->id, GL_DEPTH, 0, &values->depth_stencil.depth); - else - glClearBufferfv(GL_DEPTH, 0, &values->depth_stencil.depth); - } + glClearBufferfv(GL_DEPTH, 0, &values->depth_stencil.depth); else if(get_attach_point(a)==get_attach_point(STENCIL_ATTACHMENT)) - { - if(ARB_direct_state_access) - glClearNamedFramebufferiv(target->id, GL_STENCIL, 0, &values->depth_stencil.stencil); - else - glClearBufferiv(GL_STENCIL, 0, &values->depth_stencil.stencil); - } + glClearBufferiv(GL_STENCIL, 0, &values->depth_stencil.stencil); else - { - if(ARB_direct_state_access) - glClearNamedFramebufferfv(target->id, GL_COLOR, i++, &values->color.r); - else - glClearBufferfv(GL_COLOR, i++, &values->color.r); - } + glClearBufferfv(GL_COLOR, i++, &values->color.r); ++values; } }